一次完整的http服务过程
我们在浏览器地址栏输入网址后发生了什么?
- 对网址进行DNS域名解析,得到对应的IP地址
- 根据IP地址找到对应的服务器,发起tcp三次握手协议
- 建立tcp连接后发起http请求
- 服务器响应http请求,浏览器得到html代码
- 浏览器解析html代码并请求html中的资源(js,css,图片等)
- 浏览器对页面进行渲染呈现给用户
- 服务器关闭tcp连接
DNS怎么找到域名的?
dns域名解析采用的是递归查询的方式,过程是先去找dns域名缓存,缓存找不到就去找根服务器,根域名服务器又会去找下一级,这样递归查找之后,找到了返回给浏览器.
- 首先搜索浏览器自身DNS缓存(缓存时间比较短,大概一分钟,只能容纳1000条缓存)
- 如果浏览器自身的缓存没找到,则继续搜索系统自身的DNS缓存
- 如果还没找到,则会尝试去本机系统host文件查找
- 在前3个过程都没找到的情况下,就递归的去域名服务器找