一次URL请求的过程

606 阅读2分钟
  1. 在浏览器输入url后,浏览器先判断是否有且使用本地缓存,是的话,直接返回请求的内容。

  2. 没有缓存,或者有缓存但是策略是不使用,则发起DNS域名解析请求。

DNS(Domain Name 域名系统),用于将主机名和域名解析成IP地址。
(1) DNS解析首先检查浏览器缓存中是否有该域名解析过的IP地址,有的话直接返回。
(2) 没有的话,检查操作系统中是否有,有则直接返回。
(3) 没有则请求本地域名服务器,有则直接返回。
(4) 没有则请求根域名服务器,根域名服务器返回顶级域名服务器地址。(根域名服务器中有所有顶级域名服务器的IP和域名)
(5)本地域名服务器拿到顶级域名服务器地址后,请求顶级域名服务器,获得实际所需请求的服务器的IP地址后返回给主机。

  1. 获取到服务器的IP地址后,在发送http请求之前,需要浏览器和服务器建立一条TCP/IP通道。
  • 套接字socket:IP+端口号
  • 一次TCP链接: 建立链接(3次握手),数据传输, 断开链接(4次挥手)。
  • 3次握手:
    A:“喂,你听得到吗?”
    B:“我听得到呀,你听得到我吗?”
    A:“我能听到你”
  • 4次挥手:
    A: hi,我要关闭连接了
    B: 好的,我收到了,我不接受你的数据了
    B: hi,我也想关闭连接了
    A: 好的,我不接收你的数据了。
  1. 建立TCP/IP链接后,就可以发送http请求了。浏览器按指定格式向服务器发送http请求。服务器收到http请求后,解析http请求,处理完业务逻辑,返回一个http响应给客户端。

原文:【一文读懂一个URL请求的过程是怎样的】
juejin.cn/post/684490…