《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权威指南

posted @ 2015-12-10 10:19  洋芋土豆  阅读(178)  评论(0编辑  收藏  举报