我们应该都知道请求的基本方式就是浏览器(客户端)发送一个请求(地址栏写一个url),服务端响应这个请求,但这只是最宏观的理解,下面就来深入了解下其中的奥妙。
dns解析
- 整体步骤
- 检查浏览器缓存是否有,有结束没有下一步
- 检查操作系统是否有缓存(windows: C:\windows\syatem32\drivers\etc\hosts, linux:/etc/hosts),有结束没有下一步
- 请求本地区的域名服务器(LDNS),这个服务器一般可以解析80%的域名,一般这个服务器由网络供应商(SPA)搭建。没有就下一步
- 直接请求根域名服务器(Root Server),返回给LDNS一个所查域的主域名服务器(gTLD Server),gTLD是顶级域名服务器,如.com、.cn等
- LDNS向gTLD发送请求
- 接受请求的gTLD服务器查找并返回此域名对应的Name Server域名服务器(一般是域名提供商的服务器)
- gTLD找到后会返回ip和ttl值给LDNS,LDNS对其进行缓存,并返回给用户
- 用户根据ttl值来把ip缓存到本地系统
cdn加速
负载均衡
其他小技巧
- 使用ctrl + f5的方式可以跳过浏览器缓存直接请求(会在请求头加上Pragma:mo-cache与Cache-Control:no-cache)