HTTP请求方法和状态码

常见HTTP请求方法

HTTP协议的请求方法有:GET, POST, HEAD PUT DELETE, OPTIONS, TRACE, CONNECT

Method Description
GET 向Server请求文件
POST 向Server发送数据并让Server进行处理
PUT 向Server发送数据并存储在Server端
HEAD 检查一个对象是否存在
DELETE 从Server上删除一个文件
CONNECT 对通道提供支持
TRACE 跟踪到Server的路径
OPTION 查询Server的性能






HTTP Status Code

当我们从Client向Server发送请求时,Server会向我们返回StatusCode。
StatusCode会告诉我们Server的响应的状态,通过它,我们就可以知道当前请求是成功还是出现了问题。

HTTP StatusCode放置在HTTP Response报文中。

StatusCode由三位数字组成,第一个数字定义了响应类型,有五种可能值:

状态码 响应类别 描述
1xx 指示信息 服务器正在处理请求
2xx 成功 请求以正常处理完毕
3xx 重定向 需要进行额外操作以完成请求
4xx 客户端错误 客户端原因导致服务器无法处理请求
5xx 服务器错误 服务器原因导致处理请求出错




常见HTTP状态码

状态码 描述
200-OK 服务器成功返回网页,这是成功的HTTP请求返回的标准状态码
301 - Moved Permanently 永久跳转,所有请求的网页将永久跳转到被设定的新位置
400 - Bad Request 客户端请求有语法错误,不能被服务器理解
403 - Forbidden 禁止访问,这个请求时合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器权限配置不当所致
404 - Not Found 服务器找不到客户端请求的指定页面,可能是客户端请求了服务器不存在的资源所导致
500 - Internal Server Error 内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程序问题所致
502 - Bad Gateway 坏的网关,一般是代理服务器请求后端服务器时,后端服务不可用或没有完成响应网关服务器。一般为代理服务器下面的节点出了问题
503 - Service Unavailable 服务当前不可用,可能为服务器超载或停机维护所致,或者是代理服务器后面没有可以提供服务的节点
504 - Gateway Timeout 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求,一般为服务器过载所致,没有在指定的时间内返回数据给代理服务器




1xx

1xx(临时响应),表示临时响应并需要请求者继续执行操作。

状态码 描述
100 - Continue 请求者应当继续提出请求
101 - Switching Protocols 请求者要求服务器更换协议,服务器已确认并准备更换


2xx

2xx(成功),表示成功处理了请求。

状态码 描述
200 - OK Server已成功处理了请求
201 - Created 请求成功并且Server创建了新的资源
202 - Accepted Server以接受请求,但尚未处理
203 - Non-Authoritative Information Server已成功处理了请求,但返回的信息可能来自另一个来源
204 - No Content Server成功处理了请求,但没有返回任何内容
205 - Reset Content 没有新的内容,但浏览器应该重置它所显示的内容
206 - Partial Content 服务器成功处理了部分GET请求




3xx

3xx(重定向),表示要完成请求需要进一步操作。

状态码 描述
300 - Multiple Choices 针对请求,Server可执行多种操作
301 - Moved Permanently 请求的网页已移动到新位置
302 - Found Server目前从不同位置的网页响应请求
303 - See Other 请求者对不同位置使用单独的GET请求来检索时
304 - Not Modified 自从上次请求后,请求的网页内容未修改过
305 - Use Proxy 请求者只能使用代理访问请求的网页
307 - Temporary Redirect Server从不同位置的网页响应请求,但请求者继续使用原有位置进行请求




4xx

4xx(请求错误),表示请求可能出错,妨碍了Server的处理。

状态码 描述
400 - Bad Request Server不理解请求的语法
401 - Unauthorized 请求要求身份认证
403 - Forbidden Server拒绝请求
404 - Not Found Server找不到请求的网页
405 - Method Not Allowed 请求方法不被允许
406 - Not Acceptable 无法使用请求的恩日工特性响应请求的网页
407 - Proxy Authentication Required 请求需要代理授权
408 - Request Timeout Server等候请求时超时
409 - Conflict Server在完成请求时发生冲突
410 - Gone 请求的资源以永久删除
411 - Length Required Server不接受不含有效内容长度Header的请求
412 - Precondition Failed Server为满足请求者在请求中设置的一个前提条件
413 – Request Entity Too Large 请求实体太大,Server无法处理
414 - Request URI Too Long 请求的URI过长,Server无法处理
415 – 不支持的媒体类型 请求的格式不受支持
416 – Requested Range Not Satisfiable 页面无法提供请求的范围
417 – 执行失败 Server未满足期望请求Header的要求
451 基于法律上的的原因,不能像请求者展示网页内容




5xx

5xx(服务器错误),表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错。

状态码 描述
500 - Internal Server Error Server遇到错误,无法完成请求
501 - Not Implemented Server不具备完成请求的功能
502 - Bad Gateway Server作为网关或代理时,从upstream收到无效响应
503 - Service Unavailable Server暂时无法使用
504 - Gateway Timeout Server作为网关或代理时,没有及时从upstream收到请求
505 - HTTP Version Not Supported Server不支持请求中所用的HTTP版本