美文网首页
浏览器中输入一个URL至页面呈现

浏览器中输入一个URL至页面呈现

作者: 调皮的小卷羊 | 来源:发表于2017-06-09 11:11 被阅读0次
5930683-180a665c4d9983a6.png
  1. DNS解析
    查找浏览器缓存
    查找操作系统缓存
    查找路由器缓存
    查找ISP DNS 缓存
    递归查找

查询根域名服务器 是否有目标域名的信息,如果没有,则传至 子域名服务器 进行查询

DNS解析过程

2.TCP连接
在通过第一步的DNS域名解析后,获取到了服务器的IP地址,在获取到IP地址后,便会开始建立一次连接,这是由TCP协议完成的,主要通过三次握手进行连接。
第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;
第二次握手: 服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手: 客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
完成三次握手,客户端与服务器开始传送数据。

TCP三次握手

3.浏览器向服务器发送HTTP请求

HTTP请求

4.浏览器接收响应

服务器在收到浏览器发送的HTTP请求之后,会将收到的HTTP报文封装成HTTP的Request对象,并通过不同的Web服务器进行处理,处理完的结果以HTTP的Response对象返回,主要包括状态码,响应头,响应报文三个部分。

5.浏览器渲染
渲染HTML页面

解析DOM、CSSOM

根据DOM、CSSOM计算render tree

根据render tree进行layout

渲染到页面

6.关闭TCP连接或继续保持连接

TCP四次挥手

第一次挥手是浏览器发完数据后,发送FIN请求断开连接。
第二次挥手是服务器发送ACK表示同意,如果在这一次服务器也发送FIN请求断开连接似乎也没有不妥,但考虑到服务器可能还有数据要发送,所以服务器发送FIN应该放在第三次挥手中。
这样浏览器需要返回ACK表示同意,也就是第四次挥手。

相关文章

  • 浏览器渲染性能优化

    从用户输入浏览器输入url到页面最后呈现 有哪些过程? 答案大致如下: 用户输入URL地址 浏览器解析URL解析出...

  • 用户在浏览器输入URL地址到页面呈现发生的过程

    用户在浏览器输入URL地址到页面呈现发生的过程 1、用户输入URL2、浏览器从URL中解析出主机名3、浏览器将主机...

  • TCP/IP协议之网络链接的背后故事

    1.当我们在网页浏览器的地址中输入URL时,Web页面是如何呈现的? web页面通过浏览器地址中的URL从web服...

  • 浏览器中输入一个URL至页面呈现

    DNS解析查找浏览器缓存查找操作系统缓存查找路由器缓存查找ISP DNS 缓存递归查找 查询根域名服务器 是否有目...

  • 在浏览器输入URL发生了什么

    在我们输入google.com之后,浏览器上很快就会呈现出谷歌的页面,本文简单介绍一下从URL的输入到浏览器页面的...

  • 图解HTTP之了解Web及网络基础

    1.在网页浏览器的地址栏中输入URL时,Web页面是如何呈现的? web浏览器根据地址栏中指定的URL从服务器端获...

  • HTTP概述(六)

    从输入URL到页面加载发生了什么? 1, 在浏览器中输入URL 2, 浏览器通过域名去找到对应的IP 浏览器缓存 ...

  • HTTP笔记

    “你知道当我们在网页浏览器(Web browser)的地址栏中输入 URL 时,Web 页面是如何呈现的吗?” H...

  • 从URL输入到页面实现

    从URL输入到页面实现 我们需要知道我们从浏览器打开一个页面到底发生了什么 第一步:在浏览器输入URL URL是什...

  • 前端知识点

    1、从输入url到浏览器呈现页面中间经历了什么? 在输入url的时候,会进行本地历史记录和标签页的查询,提供模糊查...

网友评论

      本文标题:浏览器中输入一个URL至页面呈现

      本文链接:https://www.haomeiwen.com/subject/ihwxqxtx.html