HTTP请求过程
当我们在浏览器地址栏输入一个网站地址(比如www.bilibili.com)时,点击回车键后浏览器过段时间后会返回给我们一个页面,这其中的过程是什么样呢?(一个常见面试题)
1. DNS 域名解析,找到对应的 IP 地址
DNS域名解析的过程如下:
(1).浏览器缓存解析:首先搜索浏览器本身的缓存,查看缓存中是否存在输入域名对应的IP地址,有且没有过期的话解析到此结束。
(2).系统缓存解析:情况一不存在时,浏览器会搜索操作系统本身的DNS缓存,有且没有过期的话解析到此结束。
(3).路由器解析:情况一、二不存在时,会向局域网所归属路由器发送请求。
(4).互联网服务提供商DNS解析:上述情况不存在时,最后会向根服务器发送请求。
2.TCP连接建立
三次握手机制建立连接,下面是三次握手流程。
扩展:为什么要三次握手?
答:第三次握手是为了防止失效的连接请求到达服务器后,让服务器错误打开连接。
三次握手的作用是确保双方的收发能力正常。
第一次握手:客户端发送网络包,服务端接收。 服务端得到结论:客户端发送能力,服务端接收能力正常
第二次握手:服务端发包,客户端接收 客