1、响应报文
在响应中, HTTP 报文由 HTTP 版本、 状态码(数字和原因短语) 、HTTP 首部字段 3 部分构成。

1.1 状态行

1.1.1 协议版本
比如:HTTP/1.1 HTTP 协议 1.1 版本
1.1.2 状态码
HTTP 状态码负责表示客户端 HTTP 请求的返回结果、 标记服务器端的处理是否正常、 通知出现的错误等工作。
状态代码的第一个数字代表当前响应的类型:
| 状态码 | 类别 | 原因短语 |
|---|---|---|
| 1XX | Informational(信息性状态码) | 接收的请求正在处理 |
| 2XX | Success(成功状态码) | 请求正常处理完毕 |
| 3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
| 4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
| 5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
1.1.3 状态码描述
1) 2XX 成功状态码
| 状态码 | 描述 | 含义 |
|---|---|---|
| 200 | OK | 表示从客户端发送的请求被服务端正确的处理并且已经发回了请求。 |
| 204 | No Content | 请求已经成功,但是却没有返回任何结果(实体)。 |
| 206 | Partial Content | 表示客户端进行了范围请求, 而服务器成功执行了这部分的 GET 请求。 响应报文中包含由 Content-Range 指定范围的实体内容。 |
2)3XX 重定向状态码
| 状态码 | 描述 | 含义 |
|---|---|---|
| 301 | Moved Permanently | 永久性重定向 |
| 302 | Found | 和301差不过。临时性重定向。 |
| 303 | See other | 和 302 状态码有相同的功能, 但 303 状态码明确客户端采用 GET 方法获取资源 |
| 304 | Not Modified | 304 状态码返回时, 不包含任何响应的主体部分。和重定向没有关系 |
| 307 | Temporary Redirect | 临时重定向。 该状态码与 302 Found 有着相同的含义。 |
3)4XX 客户端错误状态码
| 状态码 | 描述 | 含义 |
|---|---|---|
| 400 | Bad Request | 报文语法错误 |
| 401 | Unauthorized | 需要通过HTTP认证(BASIC 或者DIGEST). |
| 403 | Forbidden | 目录、文件权限错误都会报此状态码。 |
| 404 | Not Found | 服务器上无此资源,一般情况为路径错误。 |
4)5XX 服务器端错误状态码
| 状态码 | 描述 | 含义 |
|---|---|---|
| 500 | Internal Server Error | 服务端错误,有可能是WEB应用存在错误。 |
| 503 | Serveice Unavailable | 服务器超负荷运行。 |
1.2 响应首部
从服务器端向客户端返回响应报文时使用的首部。 补充了响应的附加内容, 也会要求客户端附加额外的内容信息。
| 首部字段名 | 说明 |
|---|---|
| Accept-Ranges | 是否接受字节范围请求 |
| Age | 推算资源创建经过时间 |
| ETag | 资源的匹配信息 |
| Location | 令客户端重定向至指定URI |
| Proxy-Authenticate | 代理服务器对客户端的认证信息 |
| Retry-After | 对再次发起请求的时机要求 |
| Server | HTTP服务器的安装信息 |
| Vary | 代理服务器缓存的管理信息 |
| WWW-Authenticate | 服务器对客户端的认证信息 |
1.3 通用首部
见请求报文部分,略
1.4 实体首部
实体首部字段是包含在请求报文和响应报文中的实体部分所使用的首部, 用于补充内容的更新时间等与实体相关的信息。
| 实体首部字段名 | 样式 | 含义 |
|---|---|---|
| Allow | Allow: GET, HEAD | 服务器支持的 HTTP 方法。 |
| Content-Encoding | Content-Encoding: gzip | 实体的主体部分选用的内容编码方式 |
| Content-Language | Content-Language: zh-CN | 实体主体使用的自然语言 |
| Content-Length | Content-Length: 15000 | 主体部分的大小(单位是字节) |
| Content-Location | Content-Location: http://www.hackr.jp/index-ja.html | 报文主体部分相对应的 URI |
| Content-MD5 | Content-MD5: OGFkZDUwNGVhNGY3N2MxMDIwZmQ4NTBmY2IyTY== | 一串由 MD5 算法生成的值 |
| Content-Range | Content-Range: bytes 5001-10000/10000 | 针对范围请求 |
| Content-Type | Content-Type: text/html; charset=UTF-8 | 媒体类型 |
| Expires | Expires: Wed, 04 Jul 2012 08:26:05 GMT | 资源失效的日期 |
| Last-Modified | Last-Modified: Wed, 23 May 2012 09:59:55 GMT | 资源最终修改的时间 |
1.5 Cookie 的首部字段
略
1.6 其他首部字段
略
本文详细解读了HTTP响应报文结构,包括状态行、响应首部、通用首部和实体首部,以及Cookie和特殊首部字段。重点介绍了状态码的分类和含义,如2XX成功、3XX重定向、4XX客户端错误和5XX服务器错误。
1万+

被折叠的 条评论
为什么被折叠?



