1011 字
5 分钟
Tiny Webserver拆解03 Http报文处理流程
2023-09-19

HTTP的处理流程主要包括请求的发送和响应的接收两个阶段。下面是HTTP的处理流程:

  1. 建立连接:客户端通过==TCP/IP==协议与服务器建立连接。这通常是通过==三次握手==来完成的,建立==可靠的通信连接==。
  2. 发送请求:客户端构造HTTP请求报文,包括请求行、请求头和请求体等信息。常见的请求方法有GET、POST、PUT、DELETE等。请求报文被==封装==成==TCP报文==并发送给服务器。
  3. 服务器处理请求:服务器接收到客户端发送的==请求报文==后,开始处理请求。服务器首先解析请求报文,提取请求方法、请求路径和请求头等信息。然后根据请求路径和服务器的路由规则,确定要执行的处理程序。
  4. 处理请求:服务器执行处理程序,==根据请求的内容进行相应的处理==,如==读取数据库==、==生成动态内容==等。服务器可能会与其他服务器、数据库或文件系统进行交互,以获取所需的数据。
  5. 生成响应:服务器根据处理结果构造==HTTP响应报文==,包括状态行、响应头和响应体。状态行指定了响应的状态码和状态信息,响应头包含了响应的元数据信息,响应体包含了实际的响应内容。
  6. 发送响应:服务器将构造好的HTTP响应报文封装成TCP报文发送给客户端。客户端接收到响应报文后进行解析。
  7. 解析响应:客户端解析响应报文,提取状态行、响应头和响应体的内容。客户端根据响应的状态码和响应内容进行相应的处理,如显示网页内容、保存文件等。
  8. 关闭连接:客户端和服务器在完成请求和响应后,可以选择断开连接,==释放网络资源==。可以通过==关闭TCP连接==或==使用持久连接(Keep-Alive)==来实现。

附加内容#

Q:http连接的事务是什么?

A:

在HTTP连接中,事务(Transaction)指的是一次完整的请求-响应过程,它涉及到一系列相互关联的操作,下面是事务的几个主要步骤:

  1. 建立连接:首先,客户端通过TCP/IP协议与服务器建立连接。这是HTTP事务的开始。
  2. 发送请求:客户端向服务器发送一个HTTP请求。请求中包含了请求方法(如GET、POST、PUT等)、URL(统一资源定位符)和相关的请求头(如Accept、Content-Type等)。此外,如果有必要,客户端还可以发送请求体(例如,表单数据、JSON数据等)。
  3. 服务器处理请求:服务器接收到客户端发送的请求后,根据请求的内容进行处理。这可能涉及验证身份、检索数据、执行业务逻辑等操作。
  4. 服务器生成响应:服务器根据请求的处理结果生成一个HTTP响应。响应中包括了响应状态码(如200 OK、404 Not Found等)、响应头(如Content-Type、Set-Cookie等)以及响应体(例如,HTML页面、JSON数据等)。
  5. 发送响应:服务器将生成的HTTP响应发送回客户端。
  6. 客户端接收响应:客户端接收到服务器发送的响应。
  7. 处理响应:客户端根据接收到的响应进行处理。这包括解析响应头和响应体,以获取所需的数据。
  8. 关闭连接:HTTP事务结束后,客户端和服务器关闭连接,释放相关的资源。

HTTP事务是一次完整的请求和响应过程,其中客户端向服务器发送请求,服务器对请求进行处理并生成响应,然后将响应发送回客户端。事务的完成需要满足请求和响应之间的关联性,以确保通信的一致性和可靠性。

Tiny Webserver拆解03 Http报文处理流程
https://fuwari.cbba.top/posts/tiny-webserver拆解03-http报文处理流程/
作者
Chen_Feng
发布于
2023-09-19
许可协议
CC BY-NC-SA 4.0