常用HTTP状态码
作为一个前端CV攻城狮,在日常CV过程中必然会遇到HTTP请求,那么请求报错的时候为了方便 扯皮 沟通,让我们一起康康HTTP状态码是个什么鬼东西吧
当我们发送了一个请求给服务器时,我们需要知道这个请求成功与否,此时可以通过查看服务端返回的HTTP状态码来得知。HTTP状态码是用来表示网页服务器超文本传输协议响应状态的3位数字代码,所有状态码的第一个数字表示了响应的状态。
状态码分类
响应被归为以下五大类:
- 1xx 信息响应(100-199)
- 2xx 成功响应(200-299)
- 3xx 重定向消息(300-399)
- 4xx 客户端错误响应(400-499)
- 5xx 服务端错误响应(500-599)
常用状态码
1xx 信息响应 ——请求正在处理中
-
100 Continue
这个临时响应表明,迄今为止的所有内容都是可行的,客户端应该继续请求,如果已经完成,则忽略它。
2xx 成功响应 ——请求正常处理完毕
-
200 OK
请求成功
-
204 NoContent
无内容 请求处理成功,但没有资源可以返回
-
206 Partial Content
部分资源请求 在客户端表明当前请求只需要目标URL上的部分资源,通常用于继续请求一个未完成的下载,通过添加
Range
范围标头来标识请求资源范围。
3xx 重定向消息 ——需要进行附加操作以完成请求
-
301 Moved Permanently
永久重定向 请求的资源已被永久移动到新的URI(统一资源标识符),并且将来任何对此资源的引用都应该使用本响应返回的URI。
通常是旧URl已经不再使用,内容已经移动到了新的URl时发生的,网站改版时通常会使用此状态码。
-
302 Found
临时重定向 表示请求的资源现在临时从不同的URI响应请求,即302跳转。由于这样的重定向是临时的,客户端应当继续向原有地址发送以后的请求。只有在Cache-Control或Expires中进行了指定的情况下,这个响应才是可缓存的。
通常是旧URl临时不使用,内容需要在新的URl获取时,使用此状态码。
-
303 See Other
当前请求资源在其他地址 表示对应当前请求的资源可以在另一个URI上被找到,而且客户端应当采用GET的方式访问那个资源
比如,当使用 POST 方法访问 CGI 程序,其执行后的处理结果是希望客户端能以 GET 方法重定向到另一个 URI 上去时,返回 303 状态码。虽然 302 Found 状态码也可以实现相同的功能,但这里使用 303状态码是最理想的。
-
304 Not Modified
未修改 表示经过本地缓存的内容和服务器端对比,资源未变化,不需要重新拉取资源,可以使用本地缓存数据,从而节省网络流量。需要服务器端支持ETag,且浏览器在请求时发送ETag信息。
-
307 Temporary Redirect
临时重定向,同302 服务器发送此响应,以指示客户端使用在前一个请求中使用的相同方法在另一个 URI 上获取所请求的资源。这与 302 Found HTTP 响应代码具有相同的语义,但用户代理 不能更改所使用的 HTTP 方法:如果在第一个请求中使用了 POST,则在第二个请求中必须使用 POST
-
308 Permanent Redirect
永久重定向,同301 表示当前及未来的请求应该使用其他URI。307、308响应与302、301相似,但是不允许改变HTTP方法。
4xx 客户端错误响应 ——服务器无法处理请求
-
400 Bad Request
请求错误 表示请求包含语法错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或不会处理请求。除非进行修改,否则客户端不应该重复提交这个请求。
-
401 Unauthorization
需要身份认证 表示客户端必须对自身进行身份验证才能获得请求的响应。
-
403 Forbidd
禁止访问 客户端没有访问内容的权限;也就是说,它是未经授权的,因此服务器拒绝提供请求的资源。与 401 Unauthorized 不同,服务器知道客户端的身份。
-
404 Not Found
请求内容未找到或已删除 表示请求失败,请求所希望得到的资源未被在服务器上找到,有可能网址内容根本不存在,或曾经存在,但当前已经被删除。
-
408 Request Timeout
请求超时 表示请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送。客户端可以随时再次提交这一请求而无需进行任何更改。
-
418 I’m a teapot(混进一个奇怪的东西)
愚人节笑话 本操作码是在1998年作为IETF的传统愚人节笑话, 在RFC 2324 超文本咖啡壶控制协议中定义的,并不需要在真实的HTTP服务器中定义。
——当客户端给一个茶壶发送泡咖啡的请求时,茶壶就返回一个418错误状态码,表示“我是一个茶壶”
5xx 服务端错误响应 ——服务器处理请求出错
-
500 Internal Server Error
服务器端程序错误 表示服务器端程序错误,导致了它无法完成对请求的处理,需要管理员检查服务器程序排除故障。
-
502 Bad Gateway
网关无响应 表示作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。在webserver+后端脚本语言的环境中(如Nginx + php-fpm),通常由脚本处理语言未启动或宕机以及反向代理端无响应引起。需要管理员检查脚本配置,若配置正确,通常重启脚本端可排除故障。
-
503 Service Unavailab
服务端临时错误 表示由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。
-
504 Gateway Timeout
网关超时 当服务器充当网关且无法及时获得响应时,会给出此错误响应,即响应超时。
嘿嘿 只记住了我是一个茶壶 (ノ゚▽゚)ノ
参考链接:
桔子SEO网
MDN