HTTP状态码是用来表示WEB服务器响应HTTP请求状态的数字代码。每当WEB客户端向服务器发送一个HTTP请求时,WEB服务器都会返回一个状态响应代码。这个代码是一个三位的数字,作用是告知WEB客户端此次请求是否成功,或者是否需要采取其他的动作方式
不同范围的状态码及其对应的作用
- 100~199 用于指定客户端相应的某些动作
- 200~299 用于表示请求成功
- 300~399 (重定向)用于已经移动的文件,并且常被包含在定位头信息中指定新的地址
- 400~499 用于指出客户端的错误
- 500~599 用于指出服务器的错误
常见状态码及其对应的作用
- 200 服务器成功返回网页。这是成功的HTTP请求返回的标准状态码
- 301 Moved Permanently 永久重定向
- 302 临时重定向
- 403 Forbidden 禁止访问,虽然这个访问是合法的,但是服务器端因为匹配了预先设置的规则而拒绝响应客户端的请求,此类问题一般为服务器或服务权限配置不当所致。典型的如nginx配置文件中没有配置默认首页参数,或者首页文件在站点目录下不存在。也可能是nginx没有站点目录或内部程序文件的访问权限,或者nginx配置文件中设置了allow或者deny等权限控制。
- 404 Not Found 服务器找不到客户端请求的指定页面,可能是客户端请求了服务器上不存在的资源所致
- 500 Internal Server Error 内部服务器错误,服务器遇到了意料之外的情况,不能完成客户端的请求。这是一个较为笼统的报错,一般为服务器的设置或内部程序问题导致。例如,SELinux开启,而又没有为HTTP设置规则许可,客户端访问就是500
- 502 Bad Gateway 网关报错,一般是代理服务器请求后端服务时,后端服务器不可用或没有完成响应网关服务器。这通常为反向代理服务器下面的节点出问题所致。
- 503 Service Unavailable 服务当前不可用,可能是服务器超载或停机维护所致,或者是反向代理服务器后面没有可以提供服务的节点
- 504 Gateway Timeout 网关超时,一般是网关代理服务器请求后端服务时,后端服务没有在特定的时间内完成处理请求。多数是服务器过载导致没有在指定的时间内返回数据给前段代理服务器。
其他状态码及其对应的作用
- 201 (已创建) 请求成功并且服务器创建了新的资源
- 202 (已接受) 服务器已接受请求,但尚未处理
- 203 (非授权信息) 服务器已成功处理了请求,但返回的信息可能来自另一来源
- 204 (无内容) 服务器成功处理了请求,但没有返回任何内容
- 205 (重置内容) 服务器成功处理了请求,但没有返回任何内容
- 206 (部分内容) 服务器成功处理了部分 GET 请求
- 303 (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
- 304 (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容
- 305 (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理
- 307 (临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
- 401 (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应
- 405 (方法禁用) 禁用请求中指定的方法
- 406 (不接受) 无法使用请求的内容特性响应请求的网页
- 407 (需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理
- 408 (请求超时) 服务器等候请求时发生超时
- 409 (冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息
- 410 (已删除) 如果请求的资源已永久删除,服务器就会返回此响应
- 411 (需要有效长度) 服务器不接受不含有效内容长度标头字段的请求
- 412 (未满足前提条件) 服务器未满足请求者在请求中设置的其中一个前提条件
- 413 (请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力
- 414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理
- 415 (不支持的媒体类型) 请求的格式不受请求页面的支持
- 416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码
- 417 (未满足期望值) 服务器未满足”期望”请求标头字段的要求
- 501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码
- 505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本
评论