1. DNS解析
- 浏览器搜索自己的 DNS 缓存
- 搜索操作系统中的 DNS 缓存
- 搜索操作系统的 hosts 文件
- 操作系统将域名发送至运营商查找自己的 DNS 缓存,查找成功则返回结果,失败则发起一个 DNS 解析请求;
- 运营商将得到的 IP 地址返回给操作系统,同时自己也将 IP 地址缓存起来;
- 操作系统将 IP 地址返回给浏览器,同时自己也将 IP 地址缓存起来;
2. 建立连接,三次握手
- 主机向服务器发送一个建立连接的请求( 您好,我想认识您 );
- 服务器接到请求后发送同意连接的信号( 好的,很高兴认识您 );
- 主机接到同意连接的信号后,再次向服务器发送了确认信号( 我也很高兴认识您),自此,主机与服务器两者建立了连接。
3. 网页请求与显示
- 浏览器根据 URL 内容生成 HTTP 请求,请求中包含请求文件的位置、请求文件的方式等等;
- 服务器接到请求后,会根据 HTTP 请求中的内容来决定如何获取相应的 HTML 文件;
- 服务器将得到的 HTML 文件发送给浏览器;
- 浏览器会将HTML解析成一个DOM树;
- 在执行 HTML 中代码时,根据需要,浏览器会继续请求图片、CSS、JavsScript等文件,过程同请求 HTML ;
- 将CSS解析成 CSS树 ;
- 根据DOM树和CSS树来构造渲染树
4. 四次挥手,断开连接
- 主机向服务器发送一个断开连接的请求( 不早了,我该走了 );
- 服务器接到请求后发送确认收到请求的信号( 知道了 );
- 服务器向主机发送断开通知( 我也该走了 );
- 主机接到断开通知后断开连接并反馈一个确认信号( 嗯,好的 ),服务器收到确认信号后断开连接;
5. 补充说明
- DNS: 每个域名都对应一个或多个提供相同服务服务器的 IP 地址,只有知道服务器 IP 地址才能建立连接,所以需要通过 DNS 把域名解析成一个 IP 地址;
- IP 地址与域名不是一一对应的关系:可以把多个提供相同服务的服务器 IP 设置为同一个域名,但在同一时刻一个域名只能解析出一个 IP地址;同时,一个 IP 地址可以绑定多个域名,数量不限;
- TCP 协议:三次握手的过程采用 TCP 协议,其可以保证信息传输的可靠性,三次握手过程中,若一方收不到确认信号,协议会要求重新发送信号。
网友评论