地址栏输入URL会发生什么?
- 浏览器会根据你输入的 URL 地址,去查找域名是否被本地 DNS 缓存
DNS的两种查询方式DNS 的全称是 Domain Name System 域名系统。DNS 是一种由分层的 DNS 服务器实现的分布式数据库。DNS 运行在 UDP 上,使用 53 端口。
- 递归查询:如果根域名服务器无法告知本地 DNS 服务器下一步需要访问哪个顶级域名服务器,就会使用递归查询;
- 迭代查询:如果根域名服务器能够告知 DNS 服务器下一步需要访问的顶级域名服务器,就会使用迭代查询。
在由根域名服务器 -> 顶级域名服务器 -> 权威 DNS 服务器后,由权威服务器告诉本地服务器目标 IP 地址,再有本地 DNS 服务器告诉用户需要访问的 IP 地址。
- 浏览器需要和目标服务器建立 TCP 连接
- 在建立连接后,浏览器会向目标服务器发起 HTTP-GET 请求,包括其中的 URL,HTTP 1.1 后默认使用长连接,只需要一次握手即可多次传输数据。
- 如果目标服务器只是一个简单的页面,就会直接返回,对于某些大型网站的站点,往往不会直接返回主机名所在的页面,而会直接重定向
- 然后浏览器重新发送请求,携带新的 URL,返回状态码 200 OK,表示服务器可以响应请求,返回报文