目录
DNS域名解析
检查hosts文件
查询缓存
查询本地DNS服务器
编辑查询根域名服务器等
三次握手建立连接
发送请求
响应请求
页面渲染
断开连接
这些过程简单的理解为先找到某人地址,给他发送消息可以去他家拿东西吗?他同意后拿到他的东西在自己家中展示出来。最后和他互道再见。
下面将详细介绍其中的过程。
DNS域名解析
URL 是“统一资源定位符”(Uniform Resource Locator)的首字母缩写,中文译为“网址”,表示各种资源的互联网地址。
有关DNS协议可以参考这篇文章http://t.csdn.cn/qow4V
检查hosts文件
浏览器先检查本地的hosts文件中是否有域名和IP映射的关系,如果有就直接完成域名解析,不用进行后面的查IP的工作。
查询缓存
如果hosts文件中没有,就先查缓存中有没有IP。过程大致如下:
查询本地DNS服务器
查询根域名服务器等
完整如下图:
以上过程拿到了域名的IP,此时就可以继续下一步。
三次握手建立连接
http://t.csdn.cn/uQcaG
上面这篇文章中的TCP的连接管理中介绍了三次握手。把文章中的客户端换成浏览器即可。
发送请求
浏览器把请求打包成HTTP请求发送给服务器。
响应请求
服务器把发送过来的请求处理之后,把结果打包成HTTP报文返回给浏览器。
这上面的HTTP报文遵守的HTTP协议将会在下一篇文章中详细介绍。
页面渲染
浏览器拿到服务器返回的报文后就开始处理加工了。
处理HTML标签,构造成DOM树。
根据CSS解析生成CSS规则树。
DOM树 + CSS规则树 = 渲染树
重排:根据渲染树计算每个结点的几何信息
重绘:将每个结点绘制到屏幕上
回流:若哪个结点发生了变化,则重新生成渲染树重复上述步骤
断开连接
如果没有其他的操作,此时浏览器就会和服务器通过四次挥手来断开连接。
上面文章中三次挥手的下面就是四次挥手。
有什么错误评论区指出。希望可以帮到你。