欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 国际 > 网络——浏览器发送一个请求到收到响应经历了哪些步骤

网络——浏览器发送一个请求到收到响应经历了哪些步骤

2024/11/30 6:33:54 来源:https://blog.csdn.net/oopxiajun2011/article/details/144067185  浏览:    关键词:网络——浏览器发送一个请求到收到响应经历了哪些步骤

当浏览器发送一个请求到服务器并收到响应时,通常会经历以下几个步骤。这个过程可以分为几个主要阶段:DNS解析、建立TCP连接、发送HTTP请求、服务器处理请求和返回响应、浏览器接收响应等。下面是更详细的步骤说明:

  1. 输入URL:用户在浏览器地址栏中输入网址或点击链接。

  2. DNS解析

    • 浏览器首先检查本地缓存是否有该域名对应的IP地址。
    • 如果没有找到,则查询操作系统的DNS缓存。
    • 若仍未能找到,浏览器将向配置的DNS服务器发起请求以获取域名对应的IP地址。
    • DNS服务器可能会进一步查询其他DNS服务器直到找到对应信息,并最终返回给浏览器。
  3. 建立TCP连接(对于HTTP/1.1及以下版本):

    • 一旦获得了服务器的IP地址,客户端(浏览器)就会尝试与服务器建立TCP连接。这通常通过三次握手来完成。
      • 客户端发送SYN包至服务器。
      • 服务器回复SYN+ACK确认。
      • 客户端再发送ACK确认,此时连接建立成功。
  4. 发送HTTP请求

    • TCP连接建立后,浏览器会构造一个HTTP请求报文并通过已建立的连接发送给服务器。请求包括请求行、请求头以及可能存在的请求体等内容。
  5. 服务器处理请求

    • 服务器接收到请求后,根据请求中的URL路径以及其他信息来决定如何处理这次请求。(端口:确定服务,路径:确定访问那个Controller的Function,参数:请求数据)
    • 这可能涉及到执行特定的程序逻辑、访问数据库、读取文件等操作。
    • 之后,服务器准备相应的资源作为响应内容。
  6. 返回HTTP响应

    • 服务器生成响应数据,并将其封装成HTTP响应格式(包含状态行、响应头和响应体)。
    • 服务器通过已经建立好的TCP连接将此响应发送回客户端。
  7. 关闭TCP连接(对于非持久性连接的情况):

    • 在HTTP/1.0中,默认情况下每次请求-响应完成后都会关闭连接。
    • HTTP/1.1引入了持久连接机制,允许一次TCP连接上进行多次请求-响应循环,从而提高效率。但若设置了Connection: close,则也会在此阶段结束连接。
  8. 浏览器接收响应并渲染页面

    • 客户端接收到服务器发来的响应后,开始解析HTML文档。
    • 根据需要,浏览器还可能加载额外的资源如CSS样式表、JavaScript脚本、图片等。
    • 最终,浏览器将所有这些资源整合起来展示给用户。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com