1.DNS解析
想要得到接收方的MAC地址,需要通过对方的IP地址获取,对方的IP地址需要通过DNS解析
为什么进行DNS解析
DNS就是将域名转化为IP地址的过程
1.1.系统缓存查询
首先浏览器会调用一个库函数,检查本地的hosts文件,从该文件中查看是否有对应的该域名的IP地址。
1.2.路由器、ISP缓存
如果系统没有缓存,就会向DNS服务器发送请求,网络 服务一般都会先经过路由器以及网络服务商(电信),所以会先查询路由器缓存,然后再查询ISP的DNS缓存
ISP缓存
ISP会将当前访问量较大的网页内容放到ISP服务器的缓存中,当有新的用户请求相同内容时,可以直接从缓存中发送相关信息,不必每次都去访问真正网站,从而加快访问速度,节省流量
DNS递归查询
如果路由器和ISP缓存都没有值,我们就进行DNS递归查询。从根域名服务器开始查询,然后再到顶级域名服务器,最后到主域名服务器依次查询
当NDS服务器收到请求时,就会检查DNS缓存,没有就会查询其他服务器,并将返回的查询结果返回客户端
迭代查询
DNS收到请求时,不是直接返回查询结果,而是告诉客户端另一台DNS服务器地址。然后客户端再向这台DNS服务器提交请求,依次循环
DNS优化
使用DNS负载均衡,地理位置等。提高DNS解析
2.TCP连接
我们通过DNS查询到IP地址后,我们就开始打算与服务器建立连接,为接下来的传输做准备
3.HTTP请求
客户端与服务端经过TCP的三次握手,建立连接后,客户端开始向服务器主动发起请求
响应状态
- 1XX(信息状态码):服务器正在处理请求
- 2XX(成功状态码):请求处理完成
- 3XX(重定向状态码):
- 301:永久重定向
- 302:临时重定向
- 304:服务器资源未更改,可直接使用缓存未过期的缓存
- 4XX(客户端错误状态码):
- 400:请求报文中有语法错误
- 403:没有资源的访问权限
- 404:找不到资源
- 5XX(服务器错误状态码)
- 500:服务器发生错误
- 503:服务器超荷载或正在维护
4.浏览器的渲染原理
4.1构建DOM
服务器将HTML、CSS、JS文件转化为0.1字节数据在网络中传输给浏览器,浏览器通过判断状态码开始接收、解析文件,这就开始用到浏览器的渲染原理

将字符串拆解后,然后将这些标记转化为Node节点,浏览器根据不同的节点开始构建一颗DOM树。
4.2构建CSSOM树
对CSS样式文件进行解析,构建成CSSOM树。与DOM树的过程相似,但是更加耗时
避免书写过于具体的CSS选择器,少一些添加无意义的HTML标签,有利于提高页面的性能
4.3构建渲染树
DOM和CSSOM树进行合并,生成渲染树
.
4.4合成、绘制
根据渲染树进行布局,调用GPU进行绘制,然后合成图层,显示在屏幕上
