HTTP状态码

Posted lonelyxmas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP状态码相关的知识,希望对你有一定的参考价值。

原文:HTTP状态码

状态码的类别
 类别原因短语
1XX Information 接收的请求正在处理
2XX Success 请求正常处理完毕
3XX Redirection 需要进行附加操作以完成请求
4XX Client Error 服务器无法处理请求
5XX Server Error 服务器处理请求出错
2XX

200 OK :使用GET方法时,对应请求资源的实体会作为响应返回;而使用 HEAD 方法时,不返回资源的实体,只返回首部

204 No Content:请求处理成功,但返回的响应报文中不含实体的主体部分

206 Partial Content: 表示客户端进行了范围请求,并且服务器成功执行了请求。响应报文中包含了Content-Range指定范围的实体内容

GET /tip.jpg HTTP/1.1
Host: xxx
Range: bytes = 5001-10000
HTTP/1.1 206 Partial Content
Date: ...
Content-Range: bytes 5001-10000/10000
Content-Length: 5000
Content-Type: image/jpeg
3XX

301 Moved Permanently:永久重定向。会按照Location首部字段提示的新URI更新书签。页面内容更新,且地址栏网址也更新

302 Found:临时重定向。不更新书签。页面内容更新,但地址栏网址不更新。一般用来做临时跳转,比如,未登录状态访问权限页面,会重定向到登录页面

303 See Other: 与302类似,只不过303表示明确要求客户端应采用GET方法获取资源。比如使用POST访问CGI接口程序,执行后的处理结果是希望客户端能以GET方法重定向到另一个URI上去,这时候用303

  • 但就目前来看,当301/302/303响应状态码返回时,几乎所有浏览器都会把POST方法改成GET,并删除请求报文内的主体,之后请求会自动再次发送。

  • 301/302标准是禁止将POST改成GET的(不允许客户端在重定向时改变请求方式),但实际使用中大家都这么做(改变请求方式)

304 Not Modified:该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。304 状态码返回时,不包含任何响应的主体部分。304 虽然被划分在 3XX 类别中,但是和重定向没有关系。

  • 附带条件的请求指的是采用GET方法的请求报文中包含If-Match,If-Modified-Since,If-None-Match,If-Unmodified-Since,If-Range中任一首部。

  • If-Range: HTTP 请求头字段用来使得 Range 头字段在一定条件下起作用:当字段值中的条件得到满足时,Range 头字段才会起作用,同时服务器回复206 部分内容状态码,以及Range 头字段请求的相应部分;如果字段值中的条件没有得到满足,服务器将会返回 200 OK 状态码,并返回完整的请求资源(新资源)。

    字段值中既可以用 Last-Modified 时间值用作验证,也可以用ETag标记作为验证,但不能将两者同时使用。

    If-Range 头字段通常用于断点续传的下载过程中,用来自从上次中断后,确保下载的资源没有发生改变。

307 Temporary Redirect:临时重定向。与302类似。但是307严格遵照标准,不会从POST变为GET

4XX

400 Bad Request:请求报文中存在语法错误

401 Unauthorized:该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证)的认证信息。另外若之前已进行过 1 次请求,则表示用 户认证失败

403 Forbidden:拒绝请求。未获得文件系统的访问授权,访问权限出现某些问题(从未授权的发送源 IP 地址试图访问)等列举的情况都可能是发生 403 的原因

404 Not Found:服务器上无法找到请求的资源。也可以在服务器端拒绝请求且不想说明理由时使用

5XX

500 Internal Server Error:服务器端在执行请求时发生了错误

503 Service Unavailable:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求(服务器挂了)









以上是关于HTTP状态码的主要内容,如果未能解决你的问题,请参考以下文章

常见HTTP状态码大全

12.FastAPI响应状态码

http响应状态码大全

常见HTTP状态码

http和https响应的状态码都有哪些

HTTP状态码(HTTP Status Code)