《HTTP权威指南》– 3.HTTP方法和状态码
常见HTTP方法:
常用HTTP方法 | 描述 | 是否包含主体 |
---|---|---|
GET | 从服务器获取一份文档 | 否 |
HEAD | 只从服务器获取文档的首部 | 否 |
POST | 向服务器发送需要处理的数据 | 是 |
PUT | 将请求的主体部分存储在服务器上 | 是 |
TRACE | 对可能经过代理服务器传送到服务器上的报文进行追踪 | 否 |
OPTIONS | 决定可以在服务器上执行哪些方法 | 否 |
DELETE | 从服务器删除一份文档 | 否 |
方法用来告诉服务器需要做什么事情,状态码则用来告诉客户端发生了什么情况。
HTTP状态码分类:
整体范围 | 已定义范围 | 分类 |
---|---|---|
100 ~ 199 | 100 ~ 101 | 信息提示 |
200 ~ 299 | 200 ~ 206 | 成功 |
300 ~ 399 | 300 ~ 305 | 重定向 |
400 ~ 499 | 400 ~ 415 | 客户端错误 |
500 ~ 599 | 500 ~ 505 | 服务器服务 |
原因短语:为状态码提供了文本形式的解释。例如:200 OK
版本号:服务器会以HTTP / x.y 的形式出现在请求和响应报文的起始行中。(注意:版本号不会被当作分数来处理,例如HTTP2.22 比 HTTP/2.3 要高)
TRACE方法:客户端发起一个请求时,这个请求可能要穿过防火墙、代理网关或其它一些应用程序。每个中间节点都可能修改原始的HTTP请求。TRACE方法允许客户端查看请求最终变成了什么。TRACE请求中不能带有实体的主体部分,TRACE响应的实体部分包括了响应服务器收到的请求的精确副本。
HTTP状态码:
200~299:成功状态码
- 200 : OK 请求成功
- 201 : Created 同于创建服务器对象的请求
- 202 : Accepted 请求已被接受,但服务器还未对其指向任何动作
- 203 : Non-Authoritative Infomation 实体首部包含的信息不是来自于源端服务器
- 204 : No Content 响应报文中包含若干首部和一个状态行,但没有实体的主题部分
300~309:重定向状态码
- 300 : 客户端请求一个实际指向多个资源的URL时会返回这个状态码
- 301 : 在请求的URL已被移除使用。响应的Location首部中应该包含资源现在所处的URL
- 303 : 告知客户端应该用另一个URL来获取资源
- 304 : 客户端可以通过所包含的请求首部,使其请求变成有条件的
- 305 : 用来说明必须通过一个代理来访问资源
HTTP1.1规范指出,对于HTTP1.1客户端,用307状态码取代302状态码来进行临时重定向。
400~409 客户端错误状态码
- 400 : Bad Request 通知客户端发送了一个错误的请求
- 401 : Unauthorized 与适当的首部一起返回
- 402 : Payment Required 还未使用
- 403 : Forbidden 请求被服务器拒绝
- 404 : Not Found 服务器无法找到请求的URL
- 405 : Method Not Allowed 发起的请求中带有所请求的URL不支持的方法
- 406 : Not Acceptable 客户端可以指定参数来说明他们愿意接受什么类型的实体
500~599:服务器错误状态码
- 500 : Internet Server Error 服务器遇到一个妨碍它为请求提供服务的错误
- 501 : Not Implemented 客户端发起的请求超出服务器的能力范围
- 503 : Service Unavailable 用来说明服务器现在无法为请求提供服务,但将来可以
- 505 : HTTP Version Not Supported 服务器收到的请求使用了它不支持的协议版本
图灵图书 -- HTTP权威指南
豆瓣读书 -- HTTP权威指南
博客搬家了:http://dbwu.tech/