首页 > 其他分享 >HTTP的状态码大全

HTTP的状态码大全

时间:2023-03-03 22:31:37浏览次数:31  
标签:状态 HTTP 请求 服务器端 URI 服务器 大全 客户端

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。


  1. 2XX成功,2XX的响应结果表明请求被正常处理了。
  • 200 OK ,表示从客户端发来的请求在服务器端被正常处理了。
  • 204 No Content,该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分。另外,也不允许返回任何实体的主体。一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用
  • 206 Partial Content,该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。响应报文中包含由Content-Range指定范围的实体内容。


  1. 3XX重定向,表明浏览器需要执行某些特殊的处理以正确处理请求。
  • 301 Moved Permanently,永久性重定向。该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI。也就是说,如果已经把资源对应的URI保存为书签了,这时应该按Location首部字段提示的URI重新保存。
  • 302 Found,临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户(本次)能使用新的URI访问。
  • 303 See Other,该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源。303状态码和302 Found状态码有着相同的功能,但303状态码明确表示客户端应当采用GET方法获取资源,这点与302状态码有区别。
  • 304 Not Modified,该状态码表示客户端发送附带条件的请求[插图]时,服务器端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回304 Not Modified(服务器端资源未改变,可直接使用客户端未过期的缓存)。304状态码返回时,不包含任何响应的主体部分。
  • 307 Temporary Redirect,临时重定向。该状态码与302 Found有着相同的含义。尽管302标准禁止POST变换成GET,但实际使用时大家并不遵守。


  1. 4XX客户端错误,结果表明客户端是发生错误的原因所在。
  • 400 Bad Request,该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。另外,浏览器会像200 OK一样对待该状态码。
  • 401 Unauthorized,该状态码表示发送的请求需要有通过HTTP认证(BASIC认证、DIGEST认证)的认证信息。另外若之前已进行过1次请求,则表示用户认证失败。
  • 403 Forbidden,该状态码表明对请求资源的访问被服务器拒绝了。服务器端没有必要给出拒绝的详细理由,但如果想作说明的话,可以在实体的主体部分对原因进行描述,这样就能让用户看到了。
  • 404 Not Found,该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。


  1. 5XX服务器错误,结果表明服务器本身发生错误。
  • 500 Internal Server Error,该状态码表明服务器端在执行请求时发生了错误。也有可能是Web应用存在的bug或某些临时的故障。
  • 501 Not Implemented,服务器不支持当前请求所需要的某个功能。当服务器无法识别请求的方法,并且无法支持其对任何资源的请求。
  • 502 Bad Gateway,作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。
  • 503 Service Unavailable,由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复。如果能够预计延迟时间,那么响应中可以包含一个 Retry-After 头用以标明这个延迟时间。如果没有给出这个 Retry-After 信息,那么客户端应当以处理500响应的方式处理它。

注意:503状态码的存在并不意味着服务器在过载的时候必须使用它。某些服务器只不过是希望拒绝客户端的连接。

  • 504 Gateway Timeout,作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。

注意:某些代理服务器在DNS查询超时时会返回400或者500错误

  • 505 HTTP Version Not Supported,服务器不支持,或者拒绝支持在请求中使用的 HTTP 版本。这暗示着服务器不能或不愿使用与客户端相同的版本。响应中应当包含一个描述了为何版本不被支持以及服务器支持哪些协议的实体。
  • 506 Variant Also Negotiates,由《透明内容协商协议》(RFC 2295)扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一个合适的重点。
  • 507 Insufficient Storage,服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV (RFC 4918)
  • 509 Bandwidth Limit Exceeded,服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
  • 510 Not Extended,获取资源所需要的策略并没有被满足。(RFC 2774)

标签:状态,HTTP,请求,服务器端,URI,服务器,大全,客户端
From: https://blog.51cto.com/key3feng/6099145

相关文章

  • 面试官:来说说 https 和 http 区别?
    http和https的区别?一、传输信息安全性不同1、http协议:是超文本传输协议,信息是明文传输。如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的......
  • Http学习
    HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。端口:80Https:安全的端口:443两个时代http1.0HTTP/1.0:客户端与web服务器连接以后,只能......
  • 服务器产生大量的close_wait状态为例
    1.close_wait状态介绍:客户端主动关闭连接,服务器接收到客户端的FIN,但是还没有发送自己的FIN,此时的状态为close_wait状态,大量的close_wait状态拖累服务器性能2.close_wait......
  • 用 Nginx 禁止国外 IP 访问 网站 (基于 Nginx ngx_http_geoip2 模块 禁止国外 IP 访
    每天有好多国外的IP地址来访问我的网站,并且访问的内容基本上都是恶意的。因此我决定禁止国外IP来访问我的网站。想要实现这个功能有很多方法,下面我就来介绍基于Nginx......
  • 如何通过 HTTP 代理从 Git 存储库中提取数据?
    注意:虽然所描述的用例是关于在项目中使用子模块的,但这同样适用于gitclone通过HTTP的普通存储库。我有一个在Git控制下的项目。我想添加一个子模块:gitsubmodul......
  • 谷歌浏览器将本地主机重定向到 https
    当我使用Chrome调试VisualStudio项目时,浏览器会尝试重定向到与我的网址等效的https。我没有在Web项目中启用SSL,起始URL是httpURL。当我使用FireFox或I......
  • How to make an HTTP request in Javascript?
    YoucanmakeanHTTPrequestinJavaScriptusingthebuilt-infetch()functionortheXMLHttpRequest(XHR)object.Hereareexamplesofhowtouseeachofthes......
  • supervisor 安装大全
    Supervisor安装及配置1:easy_install安装:easy_installsupervisor2:pip安装:pipinstallsupervisor3:Debian/Ubuntu可以直接通过apt安装:apt-getinstallsupervi......
  • Mybatis动态SQL语句大全
    读完这篇文章里你能收获到Mybatis动态SQL语句大全Mybatis中如何定义变量Mybatis中如何提取公共的SQL片段1.If语句需求:根据作者名字和博客名字来查询博客!如果作......
  • Web安全入门与靶场实战二(2)- 实例解释HTTP状态码
    在HTTP响应头中有一部分非常重要的信息就是响应行中的状态码。状态码都是由三位数字组成,比如状态码200表示请求成功。状态码主要分为5个大类: 1xx:100-101,指示信息。这种状......