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

HTTP

时间:2020-06-18 10:47:03      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:dns服务   从服务器   索引   tcp连接   dom   本地   dns   缓存   span   

http是基于TCP/IP关于数据在万维网中如何通信的应用层协议。无连接、无状态

一次http的请求全过程:

一、解析URL:浏览器首先会对输入的URL进行检查,如果不合法,会把输入的文字传给默认的搜索引擎--如google、baidu;通过了URL的验证,那么可以解析得到协议(http以及https)、域名、资源等信息;

二、DNS查询:浏览器会先检查域名信息是否在缓存中;再检查域名是否在本地Hosts文件中;如果还不在,那么浏览器就会向DNS服务器发送一个查询的请求,获得目标服务器的ip地址;

三、TCP封包及传输:浏览器获得了目标服务器的ip、端口,浏览器会调用库函数socket,生成一个TCP流套接字,也就是TCP封包;TCP封包完成之后,就可以传输数据了,浏览器和服务器通过TCP三次握手建立连接,后面就可以请求服务器资源了。

四、服务器接受请求并响应:http有很多请求方法,比如:GET/POST/PUT/DELETE等等,我们浏览器输入URL这种,是GET方法;服务器接受GET请求,服务器根据请求信息,获得相应的资源内容。

五、释放TCP连接:

六、浏览器解析并渲染:浏览器从服务器拿到了想要的资源,如html页面,首先对html文档进行解析,生成DOM节点树,然后加载页面的外部资源,如css、js、img等;最后遍历DOM树,并计算每个节点的样式,最终完成渲染,变成我们的页面;

 

HTTP

标签:dns服务   从服务器   索引   tcp连接   dom   本地   dns   缓存   span   

原文地址:https://www.cnblogs.com/yvlian/p/13155964.html

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