输入URL到页面展示,发生了什么?这个问题,看似简单,但是里面涉及很多内容,下面大致列出步骤
简化步骤
1. 输入网址
2. 缓存解析
3. 域名解析,解析获取相应的IP地址
ssh协议头13666666666username@139.224.117.31ip -p 60222port
- 默认port
- http –> 80
https –> 443
每个ip对应一个网址,之前网址更新,所有电脑更新,所以出现 DNS (域名系统)统一管理
4. 浏览器向服务器发起tcp连接,与浏览器建立tcp三次握手。
5. 握手成功后,浏览器向服务器发送http请求,请求数据包
6. 服务器处理收到的请求,将数据返回至浏览器
7. 浏览器收到HTTP响应
8. 读取页面内容,浏览器渲染,解析html源码
9. 生成Dom树、解析css样式、js交互
10. 客户端和服务器交互
11. ajax查询
其中,步骤2的具体过程是:
浏览器缓存:浏览器会记录DNS一段时间,因此,只是第一个地方解析DNS请求;
操作系统缓存:如果在浏览器缓存中不包含这个记录,则会使系统调用操作系统,获取操作系统的记录(保存最近的DNS查询缓存);
路由器缓存:如果上述两个步骤均不能成功获取DNS记录,继续搜索路由器缓存;
ISP缓存:若上述均失败,继续向ISP搜索。