6、URL解析过程

页面解析的全过程

1、用户输入网址,浏览器发起DNS查询请求

用户访问网页,DNS服务器(域名解析系统)会根据用户提供的域名查找对应的IP地址

2、建立TCP连接

浏览器通过DNS查询到web服务器的真实IP地址后,便向服务器发起TCP连接请求,通过TCP的三次握手建立连接后,浏览器便可以将数据通过http请求发送给服务器了

3、浏览器向web服务器发送一个http请求

http请求是基于TCP协议之上的应用层协议--超文本传输协议。

http请求包括:

  • 请求行:请求方法 url 协议/版本
  • 请求头:数据以键值对的形式存放,其中包括Host、Connection、Accept、Accept-Encoding等
  • 请求空行
  • 请求体:一般包含请求的数据

4、发送响应数据给客户端

web服务器通过监听80端口来获取客户端的http请求。

与客户端建立连接后,web服务器开始接受客户端发来的数据,并通过http解码,从接收到的网络数据中解析出请求的url信息,如Accept-Encoding等。web服务器将根据http请求的信息,响应相应的数据给客户端,典型的http响应数据如下:

  • 状态行:协议/版本 状态码 状态描述
  • 响应头:数据以键值对的形式存放,其中包括Location、Server、Content-Type、Content-Length等
  • 响应空行
  • 响应体

至此,一个HTTP通信完成。服务器会根据http请求头中的Connection字段值决定是否关闭TCP连接通道,若其值为keep-alive时,web服务器不会立即关闭连接

5、浏览器解析http响应

  • html文档解析(DOM Tree)
  • 浏览器发送获取嵌入到html中的对象
  • css解析
  • js解析

【参考资料】

https://blog.csdn.net/angle_chen123/article/details/85335244

 

posted on 2021-07-08 09:38  jyf上善若水  阅读(251)  评论(0编辑  收藏  举报