β

浏览器从输入一个网页地址到展现页面,中间发生了什么?

此间的少年 240 阅读

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

1)浏览器首先会检查缓存,如果网路询问在缓存中且是最新的,则跳到第9)步。
2)浏览器向系统查询询问的服务器Ip。
3)系统做一次DNS查询并把结果返回给浏览器。
4)浏览器和服务器建立一个TCP链接。
5)浏览器通过TCP链接发送一个HTTP 请求。
6)浏览器得到HTTP response,关闭TCP连接或者再给其他请求使用。
7)浏览器检查response是否重定向,授权,错误或者其他信息,他们与2xx(HTTP 成功状态码)的处理不同。
8)如果可以缓存,response会被存储在缓存中。
9)浏览器解码response(例如response 使用的gzip编码)。
10)浏览器决定对response进行怎么样的处理(这个response可能是HTML页面,或者是一张图片,或者是一段声音片段)。
11)浏览器展现response。或对于未识别的类型提供一个下载对话。

作者:此间的少年
To touch the sky