HTTP
2021-02-03 17:16
标签:dns服务 从服务器 索引 tcp连接 dom 本地 dns 缓存 span http是基于TCP/IP关于数据在万维网中如何通信的应用层协议。无连接、无状态 一次http的请求全过程: HTTP 标签:dns服务 从服务器 索引 tcp连接 dom 本地 dns 缓存 span 原文地址:https://www.cnblogs.com/yvlian/p/13155964.html一、解析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树,并计算每个节点的样式,最终完成渲染,变成我们的页面;