浏览器输入URL按回车后都经历了什么?
在浏览器上输入一个URL,按回车后,这个过程发生了什么?
1、首先,浏览器地址栏输入了URL,先解析URL,检测URL地址是否合法
2、浏览器先查看浏览器缓存-系统缓存-路由器缓存,如果缓存中有,会直接在屏幕中显示页面内容。
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使用系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存)
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存。
ISP缓存:若上述均失败,继续向ISP搜索。
3、如果没有上述缓存,则在发送HTTP请求前,需要域名解析(DNS解析),解析获取相关的IP地址。
4、浏览器向服务器发起tcp连接,与浏览器简历tcp三次握手
5、握手成功后,浏览器向服务器发送HTTP请求,请求数据包
6、服务器处理收到的请求,将数据返回至浏览器
7、浏览器收到HTTP响应
8、浏览器解码响应,如果响应可以缓存,则存入缓存
9、浏览器发送请求获取嵌入在HTML中的资源(HTML、css、javasc、图片、音乐。。。。).
10、浏览器发送异步请求
11、页面全部渲染结束