浏览器http请求流程与网页渲染流程
浏览器http请 求流程
浏览器http请求流程简要
- URL解析与编码 / DNS解析查找IP地址。
- 网络请求发起,进行tcp连接,http协议封装数据。
- http报文传输过程。
- 服务器接收到数据并且处理数据。
- 服务器响应请求并返回数据。
- 客户端接收数据。
- 浏览器加载html,css,js并且渲染页面。## URL解析与DNS解析
URL解析与编码
当浏览器地址栏输入url,并且按下enter之后,浏览器对URL进行解析,检查URL的协议如果为HTTP/HTTPS或者无协议,则按照web处理;另外,如果URL的URI部分如果存在特殊字符,如中文,空格等,则使用encodeURI/decodeURI进行编码处理,转成utf8编码形式。
DNS解析查找IP地址
- 先找浏览器本身缓存的DNS缓存,如果没有,则找系统中DNS缓存。
- 如果还是没有,则去找本地DNS配置,即hosts文件。
- 如果还是没有,会去该局域网的路由查找DNS缓存。
- 如果还是没有,则递归的查找网络上的dns域名服务器,在依然没找到的情况下,知道顶级域名服务器为止,则返回域名错误。
注意:一个DNS可以配置多个IP,也就形成了基于dns的负载均衡。