嗨客网搜索
HTTP协议工作流程

HTTP协议工作流程

HTTP 协议定义 Web 客户端如何从 Web 服务器请求 Web 页面,以及服务器如何把 Web 页面传送给客户端。HTTP 协议采用了请求/响应模型。

客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。下图表明了这种请求/响应模型。

06_HTTP协议工作过程.png

HTTP协议工作原理

一次 HTTP 请求,其工作过程大概如下:

  1. 用户在浏览器中键入需要访问网页的 URL 或者点击某个网页中链接。

  2. 浏览器根据 URL 中的域名,通过 DNS 解析出目标网页的 IP 地址:

    浏览器请求这个页面:http://hackr.ip/index.html 在这一步,需要域名系统 DNS 解析域名 hackr.ip,得主机的 IP 地址 20X.189.105.112 然后将上面结合本机自己的信息,封装成一个 http 请求数据包
  3. 在 HTTP 开始工作前,客户端首先会通过 TCP/IP 协议来和服务端建立链接(TCP 三次握手)。

  4. 建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是 MIME 信息包括请求修饰符、客户机信息和内容。

  5. 服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容。

  6. 一般情况下,一旦 Web 服务器向浏览器发送了请求数据,它就要关闭 TCP 连接,然后如果浏览器或者服务器在其头信息加入了这行代码:

    Connection:keep-alive

    TCP 连接在发送后将仍然保持打开状态,于是,浏览器可以继续通过相同的连接发送请求。保持连接节省了为每个请求建立新连接所需的时间,还节约了网络带宽。过程如下图

07_HTTP协议工作过程.png

嗨客网顶部