一个页面从输入URL到加载显示完成都发生什么?
A.会经历一下几个过程
1.首先,在浏览器地址栏输入url
2.浏览器先查看浏览器缓存-系统缓存-路由缓存,都没有,会直接在屏幕中显示页面内容。没有,则跳到第三步操作
3.在发送http请求前,需要域名解析(DNS解析),解析获取相应的IP地址
4.浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5.握手成功后,浏览器向服务器发送http请求,请求数据包
6.服务器处理收到的请求,将数据返回到浏览器
7.浏览器收到http响应
8.读取页面内容,浏览器渲染,解析html源码
9.生成Dom树,解析css样式,js交互
10.客户端和服务器交互
11.ajax查询
步骤2流程
a.浏览器缓存:浏览器会记录DNS一段时间,只有一个地方解析DNS请求
b.操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录
c.路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存
d.ISP缓存:以上都失败,继续ISP搜索
三次握手