浅入深出,简单的打开网页里面藏着多少复杂理论
基础背景
听过计算机网络基础、TCP/IP协议群
打开页面的过程
- 我们在浏览器输出 GitHub.com然后按下enter键
- 首先浏览器会查看缓存(没过期的)的ip指向或者host里面有没配置指向,假设都没有就向远程DNS服务器发起解析域名的请求
- 通过UDP的传输协议,如果就近DNS解析不了还会向根DNS继续发起,中间还有运营商DNS服务器。不过正常情况下我们还是能得到IP地址的返回。
- 拿到IP之后,我们就能发起HTTP请求,TCP的传输层协议通过著名的三次握手后,开始发送http请求给ip服务器,相应返回,浏览器解析(可能还有其他请求),四次挥手。
DNS请求不区分域名大小写,dig指令可以追踪其链路
这里还会经过重定向,因为默认是http,但正常会重定向回去https
平时我们配置的DNS服务器114.114.114.114也一定程度决定了我们拿到什么样的服务器IP
网络层次
常用的三个体系架构,通过协议,功能划分。其中第四层完成数据传送服务,上面三层面向用户
正常消息就从应用层开始,逐层封装,到