从输入 URL 到页面加载完成的过程中都发生了什么事情?

来源:互联网 发布:数据库模式怎么理解 编辑:程序博客网 时间:2024/05/16 10:21


    往浏览器输入URL后给你一个页面,你天天在使用的东西,学过计算机网络的知道是怎么回事,就DNS解析然后页面的回馈,不过要讲好还是有难度。


    之前fex团队的nwind专门写过这个问题的博客:

http://fex.baidu.com/blog/2014/05/what-happen/

    厉害的地方是将整个计算机体系和硬件都涉及进来,很广很深,太强大了。


    然后找到一个StackOverFlow的答案:

what happens when you type in a URL in browser

    原链接

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

    Piskvor的回答:

    作一个简单粗暴的描述,假设是简单的HTTP请求,IPV4,没有代理。

1.浏览器查询缓存,如果缓存存在跳到第9步。


2.浏览器询问操作系统服务器的IP地址。


3.操作系统做DNS查询,返回IP地址给浏览器。


4.浏览器打开对服务器的TCP连接(如果是HTTPS协议的话会更复杂)。


5.浏览器通过TCP连接发送HTTP请求。


6.浏览器接收HTTP响应并且可能关掉TCP连接,或者是重新使用连接处理新请求。


7.浏览器检查HTTP响应是否为一个重定向(3xx 结果状态码 ),一个验证请求(401),错误(4xx 5xx)等等,这些都是不同响应的正常处理(2xx).


8.如果响应可缓存,将存入缓存。


9.浏览器解码响应(例如:如果它是gzziped压缩)。


10.浏览器决定如何处理这些响应(例如,它是HTML页面,一张图片,一段音乐)。


11.浏览器展现响应,对未知类型还会弹出下载对话框。


这里边的每个步骤都可以长篇大论一番,当然还有很多东西与这些步骤平行发生。

(完)



      RIO,IT 公论主播跟我讲:“Follow your heart”。 我找到了。


3 0