美文网首页
http状态码

http状态码

作者: Zhou_qn | 来源:发表于2020-03-22 12:16 被阅读0次

参考文章:https://www.cnblogs.com/xflonga/p/9368993.html
这篇文章写的很详细

1. 1XX系列 通知

  • 100("Continue")
    这是对http LBYL(Look Before Your Leap) 请求一个可能的响应,此响应表示客户端应重新发起初始请求,并在请求中附上第一次请求时未提供的(可能很大或者包含敏感信息的)表示。客户端这次发送的请求不会被拒绝。
    (当你用LBYL请求来考察服务器是否会接受你的表示时,如果服务器确认会接受你的表示,那么你将获得响应代码100,否则你将获得417。)

2. 2XX系列 成功

  • 200("OK")
    表示服务器成功执行了客户端所请求的动作
  • 201("Created")
    当服务器依照客户端的请求创建了一个新资源时,发送此响应代码。Location报头应包含指向新创建资源的规范URI。
  • 202("Accepted")
    客户端的请求无法或将不被实时处理。请求稍后会被处理。请求看上去是合法的,但在实际处理它时有出现问题的可能。
  • 204("No Content")
    若服务器拒绝对PUT、POST或者DELETE请求返回任何状态信息或表示,那么通常采用此响应代码。服务器也可以对GET请求返回此响应代码,这表明“客户端请求的资源存在,但其表示是空的”。
    注意与304("Not Modified")的区别。204常常用在Ajax应用里。服务器通过这个响应代码告诉客户端:客户端的输入已被接受,但客户端不应该改变任何UI元素。

3. 3XX系列 重定向

  • 301("Moved Permanently")
    服务器知道客户端试图访问的是哪个资源,但希望今后的请求中使用那个新的URI。通过这个响应代码来防止由于URL变更而导致老URL失效。
    服务器应当把规范URI放在Location响应报头里。
  • 303("See Other")
    请求已经被处理,但服务器不是直接返回一个响应文档,而是返回一个响应文档的URI。该响应文档可能是一个静态的状态信息,也可能是一个更有趣的资源。对于后一种情况,303是一种令服务器可以“发送一个资源的表示,而不强迫客户端下载其所有数据”的方式。客户端可以向Location报头里的URI发送GET请求,但它不是必须这么做。
  • 304("Not Modified")
    这个响应代码跟204("No Content")类似:响应实体主体都必须为空。但204用于没有主体数据的情况,而304用于有主体数据,但客户端已拥有该数据,没必要重复发送的情况。
  • 307("Temporary Redirect")
    请求还没有被处理,因为所请求的资源不在本地:它在另一个URI处。客户端应该向那个URI重新发送请求。
    • 对于GET请求来说,它只是请求得到一个表示,该响应代码跟303没有区别。当服务器希望把客户端重新定向到一个镜像站点时,可以用307来响应GET请求。
    • 对于POST,PUT及DELETE请求,它们希望服务器执行一些操作,307和303有显著区别。对POST,PUT或者DELETE请求响应303表明:操作已经成功执行,但响应实体将不随本响应一起返回,若客户端想要获取响应实体主体,它需要向另一个URI发送GET请求。而307表明:服务器尚未执行操作,客户端需要向Location报头里的那个URI重新提交整个请求。

4. 4XX系列 客户端错误

  • 400("Bad Request")
    这是一个通用的客户端错误状态,当其他4XX响应代码不适用时,就采用400。此响应代码通常用于“服务器收到客户端通过PUT或者POST请求提交的表示,表示的格式正确,但服务器不懂它什么意思”的情况。
  • 401("Unauthorized")
    客户端试图对一个受保护的资源进行操作,却又没有提供正确的认证证书。客户端提供了错误的证书,或者根本没有提供证书。
  • 403("Forbidden")
    客户端请求的结构正确,但是服务器不想处理它。这跟证书不正确的情况不同--若证书不正确,应该发送响应代码401。该响应代码常用于一个资源只允许在特定时间段内访问,
    或者允许特定IP地址的用户访问的情况。
  • 404("Not Found")
    404表明服务器无法把客户端请求的URI转换为一个资源。相比之下,410更有用一些。web服务可以通过404响应告诉客户端所请求的URI是空的,然后客户端就可以通过向该URI发送PUT请求来创建一个新资源了。但是404也有可能是用来掩饰403或者401.
  • 405("Method Not Allowd")
    客户端试图使用一个本资源不支持的HTTP方法。例如:一个资源只支持GET方法,但是客户端使用PUT方法访问。
  • 406("Not Acceptable")
    重要程度:中等。
    当客户端对表示有太多要求,以至于服务器无法提供满足要求的表示,服务器可以发送这个响应代码。例如:客户端通过Accept头指定媒体类型为application/json+hic,但是服务器只支持application/json。服务器的另一个选择是:忽略客户端挑剔的要求,返回首选表示,并把响应代码设为200。
  • 410("Gone")
    这个响应代码跟404类似,但它提供的有用信息更多一些。这个响应代码用于服务器知道被请求的URL过去曾指向一个资源,但该资源现在不存在了的情况。服务器不知道该资源的新URL,服务器要是知道该URL的话,它就发送响应代码301
    410和310一样,都有暗示客户端不应该再请求该URL的意思,不同之处在于:410只是指出该资源不存在,但没有给出该资源的新URL。
  • 417("Expectation Failed")
    此响应代码跟100正好相反。当你用LBYL请求来考察服务器是否会接受你的表示时,如果服务器确认会接受你的表示,那么你将获得响应代码100,否则你将获得417。

5. 5XX系列 服务器错误

  • 500("Internal Server Error")
    这是一个通用的服务器错误响应。对于大多数web框架,如果在执行请求处理代码时遇到了异常,它们就发送此响应代码。
  • 503("Service Unavailable")
    此响应代码表明HTTP服务器正常,只是下层web服务服务不能正常工作。最可能的原因是资源不足:服务器突然收到太多请求,以至于无法全部处理。由于此问题多半由客户端反复发送请求造成,因此HTTP服务器可以选择拒绝接受客户端请求而不是接受它,并发送503响应代码。

相关文章

  • http状态码

    本篇关于http状态码 目录 http状态码分类 HTTP状态码列表 备注 http状态码分类 HTTP状态码列表 备注

  • http状态码书目录

    http状态码之100 http状态码之101 http状态码之102 http状态码之200 http状态码之2...

  • HTTP状态码大全

    HTTP状态码大全 HTTP 状态码 HTTP Status Code HTTP状态码大全[#http%E7%8A...

  • HTTP状态码

    HTTP状态码分类 HTTP状态码列表

  • HTTP协议的状态消息

    HTTP状态码分类: 常见HTTP状态码:

  • 说说HTTP状态码

    引用 记得被 404 支配的恐惧么?引用 HTTP状态码引用 说说HTTP状态码 概述 HTTP状态码(HTTP ...

  • HTTP状态码

    100 客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当...

  • HTTP状态码

    作为开发人员,经常和服务端进行数据交互,必然涉及到网络请求,对于HTTP状态码的熟悉也是必要的。下面就针对HTTP...

  • Http状态码

    http的状态码有很多不常见的,而我们能碰到的也就只有这么几个,经常还是很容易忘记的 . 为了以免以后碰到服务器返...

  • HTTP状态码

    100:继续 客户端应当继续发送请求。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。10...

网友评论

      本文标题:http状态码

      本文链接:https://www.haomeiwen.com/subject/xdymyhtx.html