在浏览器输入URL时发生了什么简单版

在浏览器输入URL时发生了什么简单版

原文地址:http://stackoverflow.com/questions/2092527/what-happens-when-you-type-in-a-url-in-browser

  1. 浏览器器检查cache,如果请求对象已经缓存并且是最新的,执行第9步。
  2. 浏览器询问操作系统,请求服务器的IP地址
  3. 操作系统进行DNS查找,然后告诉浏览器服务器的IP
  4. 浏览器和服务器简历一个TCP连接(如果是HTTPS协议更加复杂)
  5. 浏览器通过TCP连接发送HTTP请求
  6. 浏览器接收HTTP响应,或许关闭TCP连接,或许用于其他请求。
  7. 浏览器检查这次响应是否重定向(3XX 状态码),或是一次授权请求(401),错误请求(4XX 和 5XX)等等;这些和正常响应(2XX)的处理有所不同。
  8. 如果可以缓存,响应被缓存
  9. 浏览器对响应解码。(比如gzipped)
  10. 浏览器确定如何让应对响应。(比如HTML页面、图像或者声音。。)
  11. 浏览器渲染响应,或者为无法识别的格式类型提供下载。

再说一次,讨论以上任何一点都得写好几页纸,将上述作为一个起点。同时,在以上动作发生时许多处理也在同时进行(处理输入地址、增加浏览器历史记录、展示进度、通知插件和扩展、边下载边渲染页面等等)。

「五年博客,如果觉得我的文章对您有用,请帮助本站成长」

订阅周报 热门文章 关注微博