返回
HTTP报文的请求报文和响应报文详解
前端
2023-09-23 09:33:26
HTTP协议是互联网上应用最为广泛的一种网络协议,是应用层协议的一种,用于从万维网服务器传输超文本到本地浏览器。HTTP协议定义了客户端与服务器之间的一系列通信规则,HTTP请求报文和HTTP响应报文是HTTP协议中两个最重要的组成部分。
HTTP请求报文
HTTP请求报文由请求行(request line) 、请求头部(header)、空行和请求数据4个部分组成。 下图给出了请求报文的一般格式。
请求行:GET /index.html HTTP/1.1
请求头部:Host: www.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36
请求数据:
请求行:
请求行是HTTP请求报文的第一行,它由三部分组成:
- 方法: 表示客户端请求服务器执行的操作,最常见的是GET和POST。
- 路径: 表示客户端请求的资源的路径,例如"/index.html"。
- 协议版本: 表示客户端使用的HTTP协议版本,例如"HTTP/1.1"。
请求头部:
请求头部是HTTP请求报文中的第二部分,它包含了客户端向服务器发送的附加信息,例如:
- Host: 表示客户端请求的服务器的主机名,例如"www.example.com"。
- User-Agent: 表示客户端使用的浏览器的类型和版本,例如"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.134 Safari/537.36"。
请求数据:
请求数据是HTTP请求报文中的第四部分,它是客户端向服务器发送的数据,例如:
name=John Doe&email=johndoe@example.com
HTTP响应报文
HTTP响应报文由状态行(status line) 、响应头部(header)、空行和响应数据4个部分组成。 下图给出了响应报文的一般格式。
状态行:HTTP/1.1 200 OK
响应头部:Content-Type: text/html
Content-Length: 1024
响应数据:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Welcome to Example Website</h1>
</body>
</html>
状态行:
状态行是HTTP响应报文的第一行,它由三部分组成:
- 协议版本: 表示服务器使用的HTTP协议版本,例如"HTTP/1.1"。
- 状态码: 表示服务器响应客户端请求的结果,最常见的是200(成功)、404(未找到)和500(内部服务器错误)。
- 状态消息: 表示服务器响应客户端请求的简短说明,例如"OK"。
响应头部:
响应头部是HTTP响应报文中的第二部分,它包含了服务器向客户端发送的附加信息,例如:
- Content-Type: 表示服务器向客户端发送的数据的类型,例如"text/html"。
- Content-Length: 表示服务器向客户端发送的数据的长度,例如"1024"。
响应数据:
响应数据是HTTP响应报文中的第四部分,它是服务器向客户端发送的数据,例如:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Welcome to Example Website</h1>
</body>
</html>