码迷,mamicode.com
首页 > Web开发 > 详细

前端——理解一次完整HTTP请求的步骤

时间:2019-11-01 16:08:42      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:一个   完整   域名解析   握手   dns   没有   过程   执行   展示   

(一)一次完整HTTP请求过程

在浏览器输入地址,浏览器与访问服务器之间会完成一次http请求,步骤如下:

  1.DNS域名解析为服务器主机的IP地址;

  2.根据IP,找到对应的服务器,发起TCP三次握手;

  3.建立TCP连接后发起HTTP请求;

  4.服务器得到HTTP请求,浏览器得到HTML代码;

  5.浏览器解析HTML代码,并请求HTML代码中的资源(如js,图片,css,先得到代码才能去找这些资源);

  6.浏览器对页面进行渲染并展示给用户;

在上述过程,需注意:

  1.DNS域名解析采用的是递归查询的方式,过程是,先去找DNS缓存>缓存找不到就去找根域名服务器>根域名又会去找下一级>递归查找之后,找到了,给web浏览器。

  2.为什么HTTP协议要基于TCP来实现?  TCP是一个端到端的可靠的面向连接的协议,HTTP基于传输层TCP协议不用担心数据传输的各种问题(当发生错误时,会重传)。

  3.最后一步浏览器是如何对页面进行渲染的?  

    a)解析html文件构成 DOM树;

    b)解析CSS文件构成渲染树;

    c)边解析,边渲染 ;

    d)JS 单线程运行,JS有可能修改DOM结构,意味着JS执行完成前,后续所有资源的下载是没有必要的,所以JS是单线程,会阻塞后续资源下载;

(二)前端之HTTP协议

  参考:https://www.cnblogs.com/taostaryu/p/9076789.html

 

前端——理解一次完整HTTP请求的步骤

标签:一个   完整   域名解析   握手   dns   没有   过程   执行   展示   

原文地址:https://www.cnblogs.com/banyouxia/p/11777392.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!