zoukankan      html  css  js  c++  java
  • HTTP状态码

    每一个HTTP响应都会带有一个HTTP状态码(HTTP Status Code),是用来表示HTTP服务器响应状态的代码。

    HTTP状态码表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常或者是出现的错误,能够根据返回的状态码判断请求是否得到正确的处理很重要。

    HTTP定义遵循一条规则:所有状态码的第一个数字代表了响应的状态。1表示消息;2表示成功;3表示重定向;4表示请求错误;5、6表示服务器错误。

    状态码大类表示的含义客户端client要做的事服务端server要做的事
    1×× informational信息 啥都不用做,知道就好 告诉client,信息收到了,我后续会处理
    2×× Successful成功 啥都不用做,知道就好 告诉client,请求已正确处理
    3×× Redirection重定向 重新请求返回的新地址 -> 才能获取真正需要的数据 告诉client,你需要的内容,由于一些原因,比如地址已发生变化了,然后返回该地址的新内容
    4×× Client Error客户端的错误 确保用正确的参数和信息正确,重新请求 告诉client,请求已正确处理
    5×× Server Error服务器端的错误 (一般来说)都无需操作 -> 往往需要服务器端改了bug后,重新发送请求 告诉服务器Server端自己找到具体出了啥错 -> 往往是服务器端的代码的bug导致了出错

    最常用的状态码及含义

    successful - 2××:成功类,行为被成功的接受、理解和采纳

    200 ok

      服务器成功返回用户请求的数据

      往往为了简化处理

      POST创建成功后应该返回201的

    404 NOT FOUND

      找不到资源

    500 INTERBAL SERVER ERROR

      服务器内部错误

      最常见的原因是:服务器内部挂了

      比如你传递参数中有些参数是空,而导致后台代码无法解析,出现异常而崩溃

    次常用的响应码及含义

    successful - 2××:成功类,行为被成功的接受、理解和采纳

    201 CREATED

      通过POST或PUT创建资源成功

    204 NO CONTENT

      资源修改成功,但是没有返回内容

      常用于DELETE操作的返回

    Redirection - 3××: 重定向类,为了完成请求,必须进一步执行的动作

    301 永久重定向

    302 临时重定向

    Client Error - 4××:客户端类错误,请求包含语法错误或者请求无法实现

    401 UNAUTHORIZED

      没有权限访问该资源

      典型情况:用户没有登陆,没有获得对应的access token而直接访问某资源

    403 FORBIDDEN

      禁止访问

      典型情况:虽然用户已登陆,但是去删除、更新需要更高的权限才能操作的资源

    405 METHOD NOT ALLOWED

      方法不允许

      举例:比如某个资源不允许POST请求,但是你确发起了POST请求

    各类别常见状态码:

    2xx (3种)

    200 OK:表示从客户端发送给服务器的请求被正常处理并返回;

    204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);

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

    3xx (5种)

    301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;

    302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;

           301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)

    303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;

          302与303的区别:后者明确表示客户端应当采用GET方式获取资源

    304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;

    307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

    4xx (4种)

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

    401 Unauthorized:未经许可,需要通过HTTP认证;

    403 Forbidden:服务器拒绝该次访问(访问权限出现问题)

    404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

    5xx (2种)

    500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;

    503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;
    ---------------------
    作者:Running_96
    来源:CSDN
    原文:https://blog.csdn.net/banana960531/article/details/85621865
    版权声明:本文为博主原创文章,转载请附上博文链接!

     

     

     

  • 相关阅读:
    第二章 Google guava cache源码解析1--构建缓存器
    第十一章 AtomicInteger源码解析
    JVM虚拟机(五):JDK8内存模型—消失的PermGen
    JVM虚拟机(四):JVM 垃圾回收机制概念及其算法
    Java中RunTime类介绍
    JVM虚拟机(三):参数配置
    ZooKeeperEclipse 插件
    zookeeper(五):Zookeeper中的Access Control(ACL)
    zookeeper(六):Zookeeper客户端Curator的API使用详解
    Java并发编程(九):拓展
  • 原文地址:https://www.cnblogs.com/qyh0902/p/11083455.html
Copyright © 2011-2022 走看看