大概流程
- 查找域名对应的ip地址
- 浏览器和服务器建立TCP连接
- 浏览器通过http协议发送请求,请求数据包
- 服务器接收请求并返回HTMl响应
- 浏览器渲染页面
- 浏览器发送嵌入html的其他内容(图片的URL)
- 释放TCP连接
解析域名的过程
拿URL为www.baidu.com举例
- 浏览器搜索DNS缓存,查看有没有和www.baidu.com一样的条目,而且没有过期,有则从缓存拿对于的ip地址
- 浏览器如果从DNS缓存中没有找到,就会尝试读取hosts文件(位于C:WindowsSystem32driversetc),查看有没有该域名对应的ip地址,有则解析成功
- 没有则向本地配置的DNS服务器发起DNS解析请求,服务器首先会查看自身缓存,查看有没有对应的条目,且没有过期
- 没有则找根域名的ip地址,找到根域名的DNS地址,发送请求,获取根域名的ip,这里是com域的ip
- 再通过先com的ip发送请求,获取www.baidu.com的,DNS服务器获取到ip地址后,返回到window系统内核,内核又把结果返回到服务器