更新时间:2024-03-05 GMT+08:00

响应消息

一个响应消息通常由三部分组成:状态行、响应报头、响应正文。响应消息格式如 表1所示。

表1 响应消息格式

HTTP(s)响应报文

HTTP(s)响应行

HTTP-Version Status-Code Reason-Phrase

说明:

HTTP-Version和Status-Code之间有空格,Status-Code和Reason-Phrase之间有空格。Reason-Phrase后有回车符。

响应头

Content-Type:application/json;charset=UTF-8

...

空行

CRLF(回车符)

消息体(可选)

业务请求消息(JSON描述)

状态行

HTTP-Version Status-Code Reason-Phrase CRLF

其中:

  • HTTP-Version表示服务器HTTP协议的版本号
  • Status-Code表示服务器发回的响应状态代码
  • Reason-Phrase表示状态代码的文本描述。

    状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值:

    • 1xx:指示信息--表示请求已接收,继续处理
    • 2xx:成功--表示请求已被成功接收、理解、接受
    • 3xx:重定向--要完成请求必须进行更进一步的操作
    • 4xx:客户端错误--请求有语法错误或请求无法实现
    • 5xx:服务器端错误--服务器未能实现合法的请求

    常见状态代码有:

    • 200 OK //客户端请求成功
    • 400 Bad Request //客户端请求有语法错误,不能被服务器所理解
    • 401 Unauthorized //请求未经授权
    • 403 Forbidden //服务器收到请求,但是拒绝提供服务
    • 404 Not Found //请求资源不存在
    • 500 Internal Host Error //服务器发生不可预期的错误
    • 503 Host Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

    例如,在大部分时候都是返回的成功状态:

    HTTP/1.1 200 OK (CRLF)

消息报头

响应的消息报头在大多数情况下含有下面报头:

  • Date: Mon, 12 Nov 2007 15:55:01 GMT

    表示消息发送的时间。

  • Content-Length: xxx

    用于指明实体正文的长度,以字节方式存储的十进制数字来表示。

  • Content-Type: application/json; charset=UTF-8

    用于指明发送给接收者的实体正文的媒体类型。

响应正文

响应正文为JSON格式的文本。具体请查看后续章节各个接口的定义。