• HTTP常见状态码


    计算机之间的通信以协议为共同基础,客户端与服务端都按照协议的约定进行通信。HTTP的状态码在HTTP协议内规定了很多状态。客户端请求服务端后,服务端就返回结果,同时返回状态码。告诉客户端,本次请求是成功还是失败,还是要客户端做什么操作。HTTP协议规定,一个状态码就代表一个状态。

    1XX

    Information状态码,表示信息正在处理

    2XX

    Success状态码,表示请求正常处理完成

    3XX

    Redirection状态码,表示需要客户端进行附加操作(如跳转)

    4XX

    Client Error状态码,通常是由客户端的错误导致

    5XX

    Server Error状态码,通常是由服务端的错误导致

    总结:状态码分为客户端错误状态码、服务端错误状态码,成功状态码,重定向状态码等。

    以下是常见状态码:

    1、2XX   Success

    (1)200    OK   

    表示客户端发送的请求已被服务端成功接收并且正确处理。

    根据不同的请求方法返回结果:

    GET:请求的对应资源作为相应返回。

    HEAD:请求的对应资源的响应头会作为响应返回,不包括响应体

    POST:返回处理对应请求的结果。

    (2)204    No Content

    表示服务器接收到的请求已经处理完毕,但服务器不需要返回响应体,

    如客户端是浏览器的话,发出的请求返回204响应,那么浏览器显示的页面就不会更新。

    (3)206   Partial Content

    表示客户端通过发送范围请求头Range抓取资源的部分数据。

    HTTP请求取消或中断,客户端有可能会获取不到完整的的数据(数据传输中断)。因此作为客户端,在获取到一部分数据后,更希望在后续请求中获取剩余数据,而不是一下子获取所有数据,同样有利于存储空间不足的设备。

    2、3XX   Redirection

    (1)301   Moved Permanently

    永久性重定向。表示请求的页面资源现在已经永久转移位置了。服务端返回GET请求或HEAD请求的响应时,会自动将请求者转到新位置。

    (2)302   Found

    临时重定向。表示请求的页面资源已经转移位置。与301相似,但不同之处在于,302代表的资源不是被永久移动,只是临时性质的。有可能以后还会变化。

    (3)303  See Other

    表示请求的资源存在另一个URI,应使用GRT方法定向获取请求的资源。与302不同之处在于302不会改变请求方法,如果请求方法为POST。那么重定向的请求也应该是POST。而对于303,使用POST请求,那么重定向的请求方法变为GET。

    (4)304   Not Modified

    表示资源已经找到了,但是和上次相比没有更新。浏览器读取缓存。

    (5)307   Temporary Redirect

    临时重定向。与302、303有类似的含义,但是307不会指定客户端要用什么请求方法请求重定向。(302指定使用原因请求方法,303指定使用GET方法)

    4、4XX   Client Error

    (1)400   Bad Request

    表示该请求报文中存在语法错误,导致服务端无法理解该请求。客户端需修改请求的内容后再次发送请求。

    (2)401   Unauthorized

    表示发送的请求需要通过HTTP认证(Basic认证、Digest认证)的认证信息。

    (3)403   Forbidden

    表示请求资源的访问被服务器拒绝。如为获得文件系统的访问权限,访问权限出现问题,从未授权的发送源IP地址试图访问都可能造成403响应。

    (4)Not Found

    表示服务器上无法找到指定的资源。通常用于服务不想透露拒绝请求的原因,或没有其他的响应可提供。

    5、5XX   Server Error

    (1)500   Internet Server Error

    表示服务端在执行请求时发生错误。

    (2)503   Service Unavailable

    比碍事服务器暂时处于超负载或正在进行停机维护,现无法处理请求。

  • 相关阅读:
    查找算法
    顺序表和链表
    队列
    Redis系列教材 (二)- 运行
    Redis系列教材 (一)- windows教程
    Maven系列教材 (十三)- Eclipse 中创建父子-聚合项目
    Maven系列教材 (十一)- 使用Eclipse导入一个Maven风格的SSM项目
    Maven系列教材 (十)- 使用Eclipse创建一个Maven风格的SSM项目
    Maven系列教材 (九)- 在Eclipse中创建maven风格的java web项目
    Maven系列教材 (八)- 用命令行创建Maven风格的java web项目
  • 原文地址:https://www.cnblogs.com/zichil/p/8340791.html
Copyright © 2020-2023  润新知