HTTP响应由三个主要部分组成:
-
状态行(Status Line): 状态行包含了一个三位数的状态码,描述了请求的结果是成功、失败还是其他信息。状态行的一般格式如下:
HTTP/1.1 200 OK其中,
HTTP/1.1表示使用的是HTTP协议的版本,200是状态码,OK是状态码的文本描述。 -
消息头(Headers): 消息头包含了关于响应的各种信息,如服务器类型、日期、内容类型等。消息头是一系列键值对,每一行都是一个键值对,格式如下:
Content-Type: text/html Date: Sat, 26 Nov 2023 08:45:30 GMT上面的例子中,
Content-Type指定了响应体的内容类型,Date指定了响应创建的日期和时间。 -
响应体(Response Body): 响应体包含了实际的响应数据,比如网页的HTML内容、图片文件等。响应体的格式和内容取决于请求的性质和服务器的响应。在没有响应体的情况下,此部分可以为空。
一个完整的HTTP响应示例:
HTTP/1.1 200 OK
Content-Type: text/html
Date: Sat, 26 Nov 2023 08:45:30 GMT
<!DOCTYPE html>
<html>
<head>
<title>Example Page</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
在这个例子中,状态行指示响应成功(状态码为 200 OK),消息头包含了内容类型和日期信息,而响应体则包含了一个简单的HTML页面。