过程解析
- 1、首先,我们在浏览器地址栏中,输入要查找页面的url,按下Enter。
- 2、浏览器依次在 浏览器缓存 ------》系统缓存 -----》路由器缓存中去寻找匹配的url,如果这些缓存中有,就会直接在屏幕中显示出页面内容。若没有,则跳到第三步操作。
- 3、在发送http请求前,浏览器需要先进行域名解析(即DNS解析),以获取相应的IP地址。
- 4、获取到IP地址之后。浏览器向服务器发起TCP连接,与浏览器建立TCP三次握手。
- 5、握手成功之后,浏览器就会向服务器发送HTTP请求,来请求服务器端的数据包。
- 6、服务器处理从浏览器端收到的请求,接着将数据返回给浏览器。
- 7、浏览器收到HTTP响应。
- 8、再读取页面内容、进行浏览器渲染、解析html源码。
- 9、生成DOM树、解析css样式、处理js交互。
- 10、客户端和服务器交互。
- 11、ajax查询状态,状态成功则显示url对应的页面内容。
- 12、关闭TCP连接(四次挥手)。
用到的协议
在此过程中用到了DNS协议、HTTP协议、TCP协议等,可点击查看回顾,以便更为深入的了解从输入URL到页面显示经历了什么的内部世界。
HTTP协议详解(https://blog.csdn.net/L19002S/article/details/104749810)
TCP协议详解(https://blog.csdn.net/L19002S/article/details/103667549)
OSI参考模型详解(https://blog.csdn.net/L19002S/article/details/104806677)