从一个url输入浏览器到页面渲染出来,这个过程都发生了哪些事情?

经典问题:在浏览器输入一个url后,会发生什么事情呢?

(1)假设是简单的http请求(GET),IPV4,无代理。

  1. 浏览器先查看浏览器缓存-系统缓存-路由器缓存,若缓存中有,请略过中间步骤,直接跳到第9步~若没有,则按照下面的步骤进行操做。javascript

  2. 浏览器从url中解析出服务器的主机名,并将主机名转换成服务器的IP地址。PS:DNS查找域名的过程css

  3. 浏览器从url中解析出端口号,默认80html

  4. 浏览器创建一条与服务器的tcp链接(创建过程:三次握手)。
    PS:一个完整的TCP链接java

  5. 浏览器经过tcp链接向服务器发送http请求,请求数据包。浏览器

  6. 服务器处理HTTP请求,返回响应。缓存

  7. 浏览器检查HTTP响应是否为一个重定向(3XX结果状态码)、一个验证请求(401)、错误(4XX、5XX)等等,这些都须要根据具体状况分类处理。PS:浏览器对于常见HTTP状态码的反应服务器

  8. 浏览器接收HTTP响应而且可能关掉TCP链接,或者是从新创建链接使用新情求,得到新响应。异步

  9. 浏览器解码响应,若是响应能够缓存,则存入缓存。tcp

  10. 浏览器显示HTML页面。url

  11. 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。

  12. 浏览器发送异步请求。

  13. 页面所有渲染结束。

本文连接:http://www.cnblogs.com/xsilence/p/6014567.html

相关文章
相关标签/搜索