菜鸟笔记
提升您的技术认知

浏览器中输入url后发生的事情

阅读 : 452

这是一个经典的面试题,没有固定答案,越详细越好

此篇博客引用自一篇我认为很经典的文章,在此附上文章的地址。

  1. 我们在浏览器中输入网址。
  2. 浏览器查找域名对应的IP地址
DNS查找过程为:
浏览器缓存->系统缓存->路由器缓存->ISP DNS缓存->递归搜索
递归搜索过程为:从根域名服务器到顶级域名服务器到你查询的域名服务器。
  1. 浏览器打开TCP连接(默认端口为80),向该IP的服务器发送一条HTTP请求,如果浏览器存储了该域名下的cookie,那么cookie也会放入http请求中
  2. 服务器给浏览器进行一个301永久重定向响应。该IP对应的服务器很可能是代理服务器,比如你输入“http://baidu.com”,而不是“http://www.baidu.com”,按道理这两个网址对应的是同一个网页,因此通过代理服务器的方式进行重定向相应,让这两个网址访问的是同一个网页。
  3. 浏览器根据重定向地址再次进行HTTP请求。
  4. 服务器分析HTTP请求,生成HTTP响应,将响应发给客户端。
  5. 浏览器收到响应内容之后,生成主页框架,同时向服务端继续发送请求,请求的内容是主页里的一些资源,比如说图片、视频等。
  6. 对于静态的页面内容,浏览器通常进行缓存,对于动态的内容通常不缓存,缓存的时间也是有期限的。
  7. 浏览器向服务器发送异步请求,因为有些页面显示完成之后客户端仍需要与服务端保持联系。
  8. 整个过程结束之后,浏览器关闭TCP连接。