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

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

  • 浏览器先查看浏览器缓存-系统缓存-路由器缓存,若缓存中有,请略过中间步骤,直接跳到第9步~若没有,则按照下面的步骤进行操作。
  • 浏览器从url中解析出服务器的主机名,并将主机名转换成服务器的IP地址。 PS:DNS查找域名的过程
  • 浏览器从url中解析出端口号,默认80
  • 浏览器建立一条与服务器的tcp连接(建立过程:三次握手)。
    一个完整的TCP连接
  • 浏览器通过tcp连接向服务器发送http请求,请求数据包
  • 服务器处理HTTP请求,返回响应。
  • 浏览器检查HTTP响应是否为一个重定向(3XX结果状态码)、一个验证请求(401)、错误(4XX、5XX)等等,这些都需要根据具体情况分类处理。
  • 浏览器接收HTTP响应并且可能关掉TCP连接,或者是重新建立连接使用新情求,获得新响应。
  • 浏览器解码响应,如果响应可以缓存,则存入缓存。
  • 浏览器显示HTML页面。
  • 浏览器发送请求获取嵌入在HTML中的资源(html,css,javascript,图片,音乐······),对于未知类型,会弹出对话框。
  • 浏览器发送异步请求。
  • 页面全部渲染结束。

参考:http://www.cnblogs.com/xsilence/p/6014567.html

发布了51 篇原创文章 · 获赞 23 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/liuqi332922337/article/details/54974485