从输入URL到浏览器显示页面的过程中都发生了什么?

这篇具有很好参考价值的文章主要介绍了从输入URL到浏览器显示页面的过程中都发生了什么?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用户在浏览器中输入一个 url 或直接点开一个 url 后,就可以看到网页内容了。虽然可以直接显示,但在这背后却经过了非常复杂的操作,主要有五大过程:

1. 浏览器根据域名找到对应的 ip 地址(远程服务器)

        ip 指的是网络为每一台电脑分配的一个地址。由于 ip 地址不容易被记住,所以有了域名,浏览器拿到域名后,首先要先把域名解析成 ip,然后找到 ip 对应的机器。解析域名通常使用的方法是 DNS 解析,为了让查找过程更高效,浏览器和操作系统都会将每次的解析结果缓存起来,在下次解析的时候,就会先从缓存中去查找 ip(解析方式:查找本地缓存中 ——> DNS数据缓存中 ——> DNS解析对应ip)。

2. 浏览器与远程服务器建立连接(tcp连接 三次握手)

找到对应的 ip 后,就要建立 TCP 连接了,只有连接成功,双方才可以发送数据。连接分为三次,分别是浏览器向服务器端发送 SYN 请求;服务器接收到请求后,会向浏览器端发送 SYN/ACK 数据包进行确认信息;最后浏览器会向服务器端传入 ACK 数据包来表示可以通信了。

3. 浏览器与远程服务器发送和接收数据

建立连接后,浏览器和服务器就可以进行通信了。浏览器通过向服务器发送 http 请求,从而获得响应数据。这其中的过程包含了:请求报文(请求行、请求头、主体)、响应报文(状态行、响应头、响应正文)。

4. 浏览器与远程服务器断开连接(tcp断开 四次挥手)

两端通信结束之后,为了不浪费系统资源,就需要考虑断开连接了。TCP 的断开分为四次,因为在浏览器向服务器端发出可以断开连接信息的时候,服务器可能还存在一些数据没有传输完成,这时服务器需要去确认一下数据是否全都传输完成,如果全都完成了,服务器才会告诉浏览器可以断开了。

5. 浏览器渲染

1)构建 DOM 树:渲染进程将 HTML 内容转换为能够读懂的 DOM 树结构;

2)样式计算:渲染引擎将 CSS 样式表转化为浏览器可以理解的 styleSheets,计算出 DOM 节点的样式;

3)布局阶段:创建布局树,并计算元素的布局信息;(排除script、meta等功能化和非视觉节点)

4)分层:对布局树进行分层,并生成分层树;(生成图层树,因为有不同的层级要求)

5)栅格化:合并线程将图层分图块,并栅格化将图块转换成位图;(视图进行分割)

6)显示:合并线程发送绘制图块命令给浏览器进程。浏览器进程根据指令生成页面,并显示在页面;文章来源地址https://www.toymoban.com/news/detail-666421.html

到了这里,关于从输入URL到浏览器显示页面的过程中都发生了什么?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从浏览器输入url到页面加载(五)请求数据在网线中的故事

    前言 上一章我们说到了,为了确保连接通道已建立完成,进行 三次握手 的确认。但无论是请求页面,还是发送一个ajax请求,数据都是要达到服务器的,包括header头,body信息这些。一旦离开了客户端浏览器,再离开了客户端操作系统,就要开始 漫长的网线旅程 了。 目录 前

    2024年02月10日
    浏览(38)
  • UniApp开发安卓以及H5实现页面级权限管理,避免用户浏览器直接输入url访问页面

    前言:uni-app如何像vue-router中的beforeEach一样实现跳转拦截功能呢? 为此uniapp官方提供了专门的API方法 uni.addInterceptor 举个栗子 我们发现底部有四个菜单分别是:首页、分类、购物车、我的;按常理来说首页和分类是不需要登陆就能查看的。另外两个则需要先登陆才能查看没登

    2024年01月16日
    浏览(64)
  • 从浏览器输入url到页面加载(六)前端必须了解的路由器和光纤小知识

    前言 上一章我们说到了 数据包 在网线中的故事,说到了 双绞线 ,还说到了 麻花 。这一章继续沿着这条线路往下走,说一些和cdn以及路由器相关,运营商以及光纤相关的小知识,前端同学应该了解一下的   目录 前言 1.  CDN和路由器有关系吗? 2. 你的电脑能直接上网吗?

    2024年02月09日
    浏览(53)
  • 从浏览器输入地址到页面渲染都经历了哪些过程

    这是一道比较综合的面试题,答案也不是固定的,从浏览器输入地址到页面渲染经过了很多的过程,且每个过程都可以深挖出很多知识点,面试官可以用这一道题区分出不同面试者的水平。下面我们就来具体学习下本道面试题。 构建请求 1.查找强缓存 浏览器会先检查是否存

    2023年04月09日
    浏览(49)
  • Android项目在 app 中通过 WebView 访问 url显示空白,使用浏览器可以打开,Android WebView加载出现空白页面问题解决

    服务器证书校验主要针对 WebView 的安全问题。 在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会显示为空白,出现无法加载网页的情况。 使用 ca 认证的证书,在 WebView 则可以直接显示出来,不需要特殊处理。 以往

    2024年02月04日
    浏览(51)
  • 浏览器访问url的查找过程

    首先查找浏览器自身的缓存,是否缓存了该网页,如果缓存了,就直接返回缓存的页面。当然,这个页面可能是过时的。 如果浏览器的缓存没有,则会查找系统的缓存,也就是hosts文件。如果hosts文件中找到了域名的ip,则会访问这个ip地址。 如果hosts文件里也没有,则会尝试

    2024年02月10日
    浏览(41)
  • 在浏览器输入URL后发生了什么?

    在浏览器输入URL并获取响应的过程,其实就是浏览器和该url对应的服务器的网络通信过程。 从封装的角度来讲,浏览器和web服务器执行以下动作:(简单流程) 1、浏览器先分析超链接中的URL:分析域名是否规范 2、浏览器向DNS请求解析请求解析http://www.sxtyu.com/index.html中的ip地

    2024年02月09日
    浏览(47)
  • 浏览器输入一个URL之后发生了什么?

    URL解析 DNS解析 TCP连接 TSL连接 HTTP请求 TCP挥手 接收并解析响应 主要分为: 协议,eg http,https 域名或者ip地址,eg www.baidu.com 域名相对于ip地址来说,更方便人们记忆,但是实际的网络传输中使用的是ip地址 端口号,不同的协议对应不同的端口号,一般可以不写,eg http是80,h

    2024年02月11日
    浏览(69)
  • 浏览器地址栏输入url以后发生了什么

    1.DNS对域名进行解析; 2.建立TCP连接(三次握手); 3.发送HTTP请求; 4.服务器处理请求; 5.返回响应结果; 6.关闭TCP连接(四次挥手); 7.浏览器解析HTML; 8.浏览器布局渲染; 1.浏览器对输入的地址补全,然后DNS域名解析  如果你搜索的是baidu.com的时候,实际访问的还是h

    2024年02月13日
    浏览(50)
  • 在浏览器中输入URL后都会发生什么

    浏览器补全地址和DNS对域名进行解析; 1当搜索baidu.com,实际访问的是http://www.baidu.com,浏览器会补全地址。 因为一个URL由协议、主机名、路径、搜索内容、哈希组成。 2DNS解析过程:客户机先插本地缓存,找不到再将域名发到DNS服务器,它先查它管理的区域,如果就查本地缓

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包