域名解析
在浏览器地址栏输入url并回车后,需要先把url地址解析为对应的ip地址才能发起HTTP请求
-
浏览器搜索自身DNS缓存,查找url对应ip地址,缓存时间为TTL属性决定
-
如果未命中,则搜索本地操作系统hosts文件并读取,查找url对应ip地址
-
如果未命中,则从路由器中DNS缓存文件中读取,查找url对应ip地址
-
如果未命中,则向操作系统配置的首选DNS服务器(通常为ISP(互联网服务供应商)LDNS(本地DNS)服务器)发送域名解析请求,该DNS服务器会在其本地的缓存中查找url的ip地址
-
如果未命中,则由首选DNS服务器迭代发送域名解析请求,以www.domain.com为例
-
从全球13台根域名服务器 返回.com 顶级域名服务器地址
-
从.com 顶级域名服务器 返回 domain.com权限域名服务器地址
-
从domain.com服务器递归查找完整url即www.domain.com的主机服务器地址
-
将url的ip地址返回给浏览器
-
建立TCP/IP连接
在获取了url的ip地址后,浏览器会通过一个1024到65535的随机端口向ip地址上的web服务器(httpd,node,nginx等)的80端口发起TCP连接请求。
连接请求将原HTTP请求经过TCP/IP 4层模型封包,(通过路由设备)送达服务器主机。经过服务器网卡进入到服务器内核TCP/IP协议栈(将TCP连接请求解