HTTP之响应消息Response

个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~

个人主页:.29.的博客

学习社区:进去逛一逛~

HTTP之响应消息Response

    • [1 `Response 组成`](#1 Response 组成)
    • [2 `状态码详细说明`](#2 状态码详细说明)

1 Response 组成

响应行(Response Line)响应头(Response Headers)响应体(Response Body)

  • 响应行(Response Line) 是HTTP响应消息的第一行,包含三个主要部分:
    • HTTP版本(HTTP Version) :指明所使用的HTTP协议版本,如 HTTP/1.1HTTP/2
    • 状态码(Status Code):指示请求的处理结果,状态码是一个三位数字,分为五类:
      • 1xx :信息性状态码(如 100 Continue
      • 2xx :成功状态码(如 200 OK,表示请求成功)
      • 3xx :重定向状态码(如 301 Moved Permanently,表示资源已永久移动)
      • 4xx :客户端错误状态码(如 404 Not Found,表示请求的资源未找到)
      • 5xx :服务器错误状态码(如 500 Internal Server Error,表示服务器内部错误)
    • 状态短语(Reason Phrase):描述状态码的简短文本说明。
http 复制代码
HTTP/1.1 200 OK
  • 响应头(Response Headers)

Content-Type: 指定响应的内容类型,例如text/html、application/json等。

Content-Length: 指定响应正文的长度,以字节为单位。

Content-Encoding: 指定响应正文的编码方式,如gzip、deflate等。

Cache-Control: 指定响应的缓存控制策略,如no-cache、max-age等。

Expires: 指定响应的过期时间,用于缓存控制。

Last-Modified: 指定响应内容的最后修改时间。

ETag: 指定响应内容的实体标签,用于缓存验证。

Server: 指定服务器的软件和版本信息。

Set-Cookie: 设置响应的Cookie值,用于在客户端存储数据。

Location: 指定重定向的目标URL。

Refresh: 多少秒后重定向到某个网站。

Date: 消息发送的时间,时间的描述格式由rfc822(电⼦邮件的标准格式)定义。

  • 响应体(Response Body)

响应体包含了服务器返回给客户端的数据,可能是HTML文档、JSON数据、图像等。响应体的内容格式通常取决于Content-Type响应头的设置。

json 复制代码
// JSON格式响应体示例:
{
    "message": "Login successful",
    "user": {
        "id": 1,
        "username": "example"
    }
}

HTTP响应示例:

http 复制代码
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 123
Server: Apache/2.4.1
Date: Wed, 25 Oct 2023 12:00:00 GMT

{
    "message": "Login successful",
    "user": {
        "id": 1,
        "username": "example"
    }
}

2 状态码详细说明

  • 2xx 成功状态码
    • 200 OK:请求成功,通常返回所请求的数据。
    • 201 Created:请求成功,资源已创建(如POST请求)。
    • 204 No Content:请求成功,但没有返回内容。
  • 3xx 重定向状态码
    • 301 Moved Permanently:请求的资源已被永久移动到新位置。
    • 302 Found:请求的资源临时位于不同的URI。
    • 304 Not Modified:资源未修改,客户端可使用缓存。
  • 4xx 客户端错误状态码
    • 400 Bad Request:请求无效,服务器无法理解。
    • 401 Unauthorized:请求未授权,需提供认证信息。
    • 403 Forbidden:服务器理解请求,但拒绝处理。
    • 404 Not Found:请求的资源未找到。
  • 5xx 服务器错误状态码
    • 500 Internal Server Error:服务器遇到意外情况,无法完成请求。
    • 502 Bad Gateway:作为网关或代理的服务器收到无效响应。
    • 503 Service Unavailable:服务器无法处理请求,通常由于过载或维护。
相关推荐
霜落长河3 天前
抛弃TCP改用UDP,HTTP3怎么了?
http
程序员mine4 天前
HTTPS-TLS加密与证书完全指南(中)
网络协议·https·ssl
之歆4 天前
现代 HTTP 客户端深度解析:Fetch 与 Axios
chrome·网络协议·http
酉鬼女又兒4 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
dog2504 天前
不要再继续优化 TCP
网络协议·tcp/ip·php
程序员mine4 天前
HTTPS-TLS加密与证书完全指南(上)
网络协议·https
VidDown4 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
程序员mine4 天前
HTTPS-TLS加密与证书完全指南(下)
网络协议·http·https
hbugs0014 天前
EVE-NG V7常用网络协议流量洞察Filter
网络·网络协议
七夜zippoe4 天前
DolphinDB WebSocket接入:实时数据流
网络·websocket·网络协议·dolphindb·实时数据流