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

Posted banyouxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端——理解一次完整HTTP请求的步骤相关的知识,希望对你有一定的参考价值。

(一)一次完整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请求的步骤的主要内容,如果未能解决你的问题,请参考以下文章

一次完整的HTTP请求的大致过程(转)

HTTP面试:一次完整的HTTP请求所经历的7个步骤

文加图, 理解Http请求与响应

一次完整的HTTP请求所经历的7个步骤

HTTP的request(请求)和response(响应)是啥?

一个完整的http请求响应过程