精华内容
下载资源
问答
  • http错误代码都是什么意思?秩名发表于 2019-04-11 09:43次浏览小编在访问网页的时候,突然返回http错误404,我赶紧上网查了一下http错误什么意思,原来http错误主要针对游览器无法连接到服务器而返回错误提示。...

    http错误代码都是什么意思?

    秩名发表于 2019-04-11 09:43次浏览

    小编在访问网页的时候,突然返回http错误404,我赶紧上网查了一下http错误是什么意思,原来http错误主要针对游览器无法连接到服务器而返回的错误提示。引导并告诉浏览者改网页是哪里出了问题。下面是http常见错误具体含义:

    HTTP 400 - 请求无效

    HTTP 401.1 - 未授权:登录失败

    HTTP 401.2 - 未授权:服务器配置问题导致登录失败

    HTTP 401.3 - ACL 禁止访问资源

    HTTP 401.4 - 未授权:授权被筛选器拒绝

    HTTP 401.5 - 未授权:ISAPI 或 CGI 授权失败

    HTTP 403 - 禁止访问

    HTTP 403 - 对 Internet 服务管理器 (HTML) 的访问于 Localhost

    HTTP 403.1 禁止访问:禁止可执行访问

    HTTP 403.2 - 禁止访问:禁止读访问

    HTTP 403.3 - 禁止访问:禁止写访问

    HTTP 403.4 - 禁止访问:要求 SSL

    HTTP 403.5 - 禁止访问:要求 SSL 128

    HTTP 403.6 - 禁止访问:IP 地址被拒绝

    HTTP 403.7 - 禁止访问:要求客户证书

    HTTP 403.8 - 禁止访问:禁止站点访问

    HTTP 403.9 - 禁止访问:连接的用户过多

    HTTP 403.10 - 禁止访问:配置无效

    HTTP 403.11 - 禁止访问:密码更改

    HTTP 403.12 - 禁止访问:映射器拒绝访问

    HTTP 403.13 - 禁止访问:客户证书已被吊销

    HTTP 403.15 - 禁止访问:客户访问许可过多

    HTTP 403.16 - 禁止访问:客户证书不可信或者无效

    HTTP 403.17 - 禁止访问:客户证书已经到期或者尚未生效

    HTTP 404.1 - 无法找到 Web 站点

    HTTP 404 - 无法找到文件

    HTTP 405 - 资源被禁止

    HTTP 406 - 无法接受

    HTTP 407 - 要求代理身份验证

    HTTP 410 - 永远不可用

    HTTP 412 - 先决条件失败

    HTTP 414 - 请求 - URI 太长

    HTTP 500 - 内部服务器错误

    HTTP 500.100 - 内部服务器错误 - ASP 错误

    HTTP 500-11 服务器关闭

    HTTP 500-12 应用程序重新启动

    HTTP 500-13 - 服务器太忙

    HTTP 500-14 - 应用程序无效

    HTTP 500-15 - 不允许请求 global.asa

    Error 501 - 未实现

    HTTP 502 - 网关错误

    展开全文
  • 在这篇文章中,我想制定一个详细的实验步骤来说明每种解决方案的利弊,来证明为什么抛出异常比返回错误代码更好。此外,小伙伴们还将看到SOLID原理如何应用于这种场景,来改善我们的软件设计,避免出现大量if和...

    在这篇文章中,我想制定一个详细的实验步骤来说明每种解决方案的利弊,来证明为什么抛出异常比返回错误代码更好。此外,小伙伴们还将看到SOLID原理如何应用于这种场景,来改善我们的软件设计,避免出现大量if和switch语句之类的代码,看上去更加简洁美观。

    关注我们的Github开源项目来获得更多的技术:https://github.com/ShowFL

    1.基本方案–返回错误代码和切换语句

    我们来使用一个登录验证服务的例子:

    private function checkLogin() {
        // ...
        // Some validation to check if the credentials are valid
        // ...
    
        if ($hasNotValidCredentials) {
            return -1;
        }
    
        // ...
        // Some validation to check if the user has attempted too many times to login
        // ...
    
        if ($hasTooManyLoginAttempts) {
            return -2;
        }
    
        // If all is OK, return "the successful code" 1
        return 1;
    }

    现在我们来使用这个方法,它是这样子的:

    switch($this->checkLogin()) {
        case -1:
            // Invalid credentials case, log it into the error logs
            $this->errorLogger->log("Invalid credentials");
            break;
            // Invalid credentials case, log it into the error logs
        case -2:
            // Too many attempts case, log it into the error logs
            $this->errorLogger->log("Too many login attempts");
            break;
        default:
            // Successful scenario, log in the user
            break;
    }

    值得思考的问题:

    1. 首先代码的语义。如果不阅读整个代码,就很难理解到底发生了什么。为了知道返回值“1”到底是什么意思,我们必须要查看内部实现的代码。
    2. 更改错误代码值怎么样?那么我必须检查checkLogin方法的所有用法,才可以敢大胆的去改错误返回值!

     

    2. 用枚举常量来替换数值

    这里你有另一种方法来解决之前描述的两个主要问题:

    private function checkLogin() {
        // ...
        // Some validation to check if the credentials are valid
        // ...
    
        if ($hasNotValidCredentials) {
            return self::INVALID_LOGIN_CREDENTIALS;
        }
    
        // ...
        // Some validation to check if the user has attempted too many times to login
        // ...
    
        if ($hasTooManyLoginAttempts) {
            return self::TOO_MANY_LOGIN_ATTEMPTS;
        }
    
        return self::LOGIN_SUCCESSFUL;
    }

    和前面的步骤一样,这里你可以看到这个方法的一个可能的用途:

    switch($this->checkLogin()) {
        case self::INVALID_LOGIN_CREDENTIALS:
            $this->errorLogger->log("Invalid credentials");
            break;
        case self::TOO_MANY_LOGIN_ATTEMPTS:
            $this->errorLogger->log("Too many login attempts");
            break;
        default:
            // Successful scenario, log in the user
            break;
    }

    比前一步的改进:

    1. 我们已经用常量符号重构了应用替换错误数值,正如我们前面所说的,这改进了代码的语义,因此现在我们有了更可读的代码。
    2. 如果我们想编辑一个错误代码值,我们只需要编辑常量的值,这样对容错率降低了很多。

    思考的问题:

    • 如果我们想在checkLogin方法中进行一些扩展或者提取方法重构,那么问题来了:首先我们必须逐层上报checkLogin方法中的错误代码,直到捕获并处理错误的switch-case语句为止。在整个执行过程中我都对这种方法感到良心不安,看上去是那么的臃肿。我们可能需要更多的灵活性,以便在应用程序的外层委托处理这种异常情况的逻辑。

     

    3. 用抛出异常来替换错误代码

    考虑之前描述的问题,我们可以使用抛出异常的方式来巧妙的解决这个问题,这是非常容易的,我们可以很轻松的来重构我们的代码:

    private function checkLogin() {
        // ...
        // Some validation to check if the credentials are valid
        // ...
    
        if ($hasNotValidCredentials) {
            throw new RuntimeException("Invalid credentials", self::INVALID_LOGIN_CREDENTIALS);
        }
    
        // ...
        // Some validation to check if the user has attempted too many times to login
        // ...
    
        if ($hasTooManyLoginAttempts) {
            throw new RuntimeException("Too many login attempts", self::TOO_MANY_LOGIN_ATTEMPTS);
        }
    }

    下面是我们处理异常的方法:

    try {
        $this->checkLogin();
    }
    catch (RuntimeException $loginException) {
        switch($loginException->getCode()) {
    
            case self::INVALID_LOGIN_CREDENTIALS:
                $this->errorLogger->log("Invalid credentials");
                break;
    
            case self::TOO_MANY_LOGIN_ATTEMPTS:
                $this->errorLogger->log("Too many login attempts");
                break;
        }
    }
    
    // Continue with the user login

    比前一步的改进:

    • 通过这种方法,我们解决了在整个应用程序中包含错误代码逐层上报的问题:从错误触发点到捕获错误点。我们可以简单地在应用程序的某一点上不考虑这个异常,这使得外部点不得不处理它。

    思考的问题:

    1. 我们捕获了发生在checkLogin方法执行流下面的所有类型的RuntimeException。问题很明显:如果checkLogin方法进行一些DB查询来验证某些东西,而DB服务器关闭了怎么办?
    2. 另外,这里我们复制了错误字符串。就像我们对神奇数字所做的那样,但是由于在本例的这一点上它是一个特定的情况,所以我更倾向于关注前面的点问题,而不是用额外的不必要的代码修改来分散您的注意力。

    3.1. 传播其他类型的异常

    我们可以做一个变通的异常处理,像这样:

    try {
        $this->checkLogin();
    }
    catch (RuntimeException $loginException) {
        switch($loginException->getCode()) {
            case self::INVALID_LOGIN_CREDENTIALS:
                $this->errorLogger->log("Invalid credentials");
                break;
            case self::TOO_MANY_LOGIN_ATTEMPTS:
                $this->errorLogger->log("Too many login attempts");
                break;
            default:
                throw $loginException;
                break;
        }
    }
    
    // Continue with the user login

    比前一步的改进:

    • 我们不必处理与登录相关代码不同的异常。我们将这些其他类型的异常上报到应用程序的外层。

    值得探讨的问题:

    • 那么在错误码数方面的冲突呢?如果另一种错误与登录相关的错误代码相同,我们将捕获它并处理它,就好像它是登录相关的错误一样。

    4. 创建特定的RuntimeException子类

    所以,最后,我们可以用一个特定的例外来结束每一个例外的情况,比如:

    class InvalidLoginCredentialsException extends RuntimeException
    {
    }
    class TooManyLoginAttemptsException extends \RuntimeException
    {
    }
    private function checkLogin()
    {
        // ...
        // Some validation to check if the credentials are valid
        // ...
    
        if ($hasNotValidCredentials) {
            throw new InvalidLoginCredentialsException();
        }
    
        // ...
        // Some validation to check if the user has attempted too many times to login
        // ...
    
        if ($hasTooManyLoginAttempts) {
            throw new TooManyLoginAttemptsException();
        }
    }

    使用这种方法,我们可以处理异常,你可以在这里看到:

    try {
        $this->checkLogin();
    }
    catch (InvalidLoginCredentialsException $tooManyLoginAttemptsException) {
        $this->errorLogger->log("Invalid credentials");
    }
    catch (TooManyLoginAttemptsException $tooManyLoginAttemptsException) {
        $this->errorLogger->log("Too many login attempts");
    }

    比前一步的改进:

    1. 现在我们解决了冲突的可能性,因为我们«使用异常类作为它的标识符»。
    2. 另外,作为附带效果,我们的代码具有更多的语义。

    值得探讨的问题:

    即使在这种情况下,我们也没有解决问题的根源:我们违反了开放/封闭原则。我们仍然必须修改«隐藏的开关情况»,我们将其表示为不同的catch子句。这种切换子句被认为是一种代码气味(即使它们不是纯粹的«切换»子句,例如catch语句的意列或elseif的意列)。解决思路:

    1. 现在,如果我们必须添加另一个业务规则来指定引发登录错误(例如被禁止的用户),那么我们必须添加另一个catch子句。
    2. 如果我们在应用程序中调用checkLogin方法,我们还必须编辑那些其他try-catch。
    3. 此外,我们还在重复代码。在我们的具体例子中,我们必须用同样的方法来处理这两个错误。我们可以抽象出这种行为。

    5.  创建中间抽象异常类

    最后,由于登录用例异常有一个抽象的异常类,我们可以对这种情况进行抽象,在异常方面有如下的类结构:

    Invalid login exception classes hierarchy

    abstract class InvalidLoginException extends RuntimeException
    {
    }
    
    class InvalidLoginCredentialsException extends InvalidLoginException
    {
        protected $message = 'Invalid credentials';
        protected $code = 2052;
    }
    class TooManyLoginAttemptsException extends InvalidLoginException
    {
        protected $message = 'Too many login attempts';
        protected $code = 2051;
    }

    我们将继续使用它们,正如我们在前面的步骤中所做的:

    private function checkLogin()
    {
        // ...
        // Some validation to check if the credentials are valid
        // ...
    
        if ($hasNotValidCredentials) {
            throw new InvalidLoginCredentialsException();
        }
    
        // ...
        // Some validation to check if the user has attempted too many times to login
        // ...
    
        if ($hasTooManyLoginAttempts) {
            throw new TooManyLoginAttemptsException();
        }
    }

    但是为了能够在同一个捕获中捕获它们,我们将捕获抽象的一个,并使用getCode和getMessage异常类方法:

    try {
        $this->checkLogin();
    }
    catch (InvalidLoginException $invalidLoginException) {
        $this->errorLogger->log('[Error ' . $invalidLoginException->getCode() . '] ' . $invalidLoginException->getMessage());
    }

    比前一步的改进:

    1. 这种变化可能是由于取代类型代码完成与子类和替换与多态重构条件,并使用这种方法,如果我们在登录过程中实现另一种错误(例如禁止用户),我们只需要添加另一个异常类,而无需修改处理这个新的错误,因为它是不可知的特定类型的错误。这使得我们的代码对更改更加宽容,并且完全符合OCP。这里你有一个添加这个新案例的例子:
    2. 新的异常类必须从前面描述的InvalidLoginException抽象类扩展,以便能够捕获它:

    Invalid login exception classes hierarchy v2

    class BannedUserLoginException extends InvalidLoginException
    {
        protected $message = 'Banned user tried to login';
        protected $code = 2053;
    }

    我们可以像之前一样抛出:

    private function checkLogin()
    {
        // ...
        // Some validation to check if the credentials are valid
        // ...
    
        if ($hasNotValidCredentials) {
            throw new InvalidLoginCredentialsException();
        }
    
        // ...
        // Some validation to check if the user has attempted too many times to login
        // ...
    
        if ($hasTooManyLoginAttempts) {
            throw new TooManyLoginAttemptsException();
        }
    
        // ...
        // Some validation to check if the user has been banned in this moment
        // ...
    
        if ($hasBeenBanned) {
            throw new BannedUserLoginException();
        }
    }

    可以想象,由于之前的原因(从InvalidLoginException类扩展而来),try-catch块没有任何修改:

    try {
        $this->checkLogin();
    }
    catch (InvalidLoginException $invalidLoginException) {
        $this->errorLogger->log('[Error ' . $invalidLoginException->getCode() . '] ' . $invalidLoginException->getMessage());
    }

    值得思考的问题:

    1. 现在,我们在checkLogin方法中有太多的逻辑。很容易假设它有太多的代码行,使得它更难以阅读。
    2. 我们将无法使用某些验证。

    5.1. 封装登录验证

    此时,我们可以假设checkLogin函数中实现的业务逻辑太长,所以我们可以利用Extract Method重构,以留下更可读和可重用的代码:

    private function checkLogin()
    {
        $this->checkLoginCredentials();
        $this->checkLoginAttempts();
        $this->checkBannedUser();
    }

    外部逻辑将如下:

    try {
        $this->checkLogin();
    }
    catch (InvalidLoginException $invalidLoginException) {
        $this->errorLogger->log('[Error ' . $invalidLoginException->getCode() . '] ' . $invalidLoginException->getMessage());
    }

    结论:
    一步一步实验过来,现在我们的代码有了一种足够好的感觉,但是仔细看看最后的checkLogin方法,我们可以看到一些通用的行为。我的意思是,我们可以用我们的解决方案进行第六次迭代,以实现一个观察者设计模式,用所有的验证器来组合userValidator服务。但它可能会让我们的类结构有点技术含量,但这不是我们在这里探讨的,请关注下一篇文章。

    展开全文
  • HTTP常见错误返回代码

    千次阅读 2011-10-10 12:41:54
    HTTP返回 302,意味着什么??? 经探索记录如下: 来自于:http://www.ha97.com/4000.html HTTP返回状态代码 当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该...

    笔试题;HTTP返回 302,意味着什么???

    经探索记录如下:


    来自于:http://www.ha97.com/4000.html


    HTTP返回状态代码

    当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该请求的状态的数字代码。该状态代码记录在服务器日志中,同时也可能在 Web 浏览器或 FTP客户端显示。也就是我们打开页面发生错误时浏览器显示的错误信息代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。

    HTTP协议状态码表示的意思主要分为五类 ,大体是 :
    ——————————————-
    1××   保留
    2××   表示请求成功地接收
    3××   为完成请求客户需进一步细化请求
    4××   客户错误
    5××   服务器错误

    100 Continue
    指示客户端应该继续请求。回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝。
    客户端应该继续发送剩下的请求数据或者请求已经完成,或者忽略回送数据。服务器必须发送
    最后的回送在请求之后。

    101 Switching Protocols
    服务器依照客服端请求,通过Upgrade头信息,改变当前连接的应用协议。服务器将根据Upgrade头立刻改变协议
    在101回送以空行结束的时候。

    Successful
    ———————————————-
    200 OK
    指示客服端的请求已经成功收到,解析,接受。

    201 Created
    请求已经完成并一个新的返回资源被创建。被创建的资源可能是一个URI资源,通常URI资源在Location头指定。回送应该包含一个实体数据
    并且包含资源特性以及location通过用户或者用户代理来选择合适的方法。实体数据格式通过煤体类型来指定即content-type头。最开始服务 器
    必须创建指定的资源在返回201状态码之前。如果行为没有被立刻执行,服务器应该返回202。

    202 Accepted
    请求已经被接受用来处理。但是处理并没有完成。请求可能或者根本没有遵照执行,因为处理实际执行过程中可能被拒绝。

    203 Non-Authoritative Information
    不是权威性信息。
    204 No Content
    服务器已经接受请求并且没必要返回实体数据,可能需要返回更新信息。回送可能包含新的或更新信息由entity-headers呈现。

    205 Reset Content
    服务器已经接受请求并且用户代理应该重新设置文档视图。

    206 Partial Content
    服务器已经接受请求GET请求资源的部分。请求必须包含一个Range头信息以指示获取范围可能必须包含If-Range头信息以成立请求条件。

    Redirection
    —————————————————
    300 Multiple Choices
    请求资源符合任何一个呈现方式。

    301 Moved Permanently
    请求的资源已经被赋予一个新的URI。

    302 Found
    通过不同的URI请求资源的临时文件。
    303 See Other

    304 Not Modified
    如果客服端已经完成一个有条件的请求并且请求是允许的,但是这个文档并没有改变,服务器应该返回304状态码。304
    状态码一定不能包含信息主体,从而通常通过一个头字段后的第一个空行结束。

    305 Use Proxy
    请求的资源必须通过代理(由Location字段指定)来访问。Location资源给出了代理的URI。

    306 Unused

    307 Temporary Redirect
    临时重定向。
    Client Error
    ———————————————–
    400 Bad Request
    因为错误的语法导致服务器无法理解请求信息。

    401 Unauthorized
    如果请求需要用户验证。回送应该包含一个WWW-Authenticate头字段用来指明请求资源的权限。

    402 Payment Required
    保留状态码。

    403 Forbidden
    服务器接受请求,但是被拒绝处理。

    404 Not Found
    服务器已经找到任何匹配Request-URI的资源。

    405 Menthod Not Allowed
    Request-Line 请求的方法不被允许通过指定的URI。

    406 Not Acceptable
    客户端浏览器不接受所请求页面的 MIME 类型。
    407 Proxy Authentication Required
    要求进行代理身份验证。
    408 Reqeust Timeout
    客服端没有提交任何请求在服务器等待处理时间内。

    409 Conflict

    410 Gone

    411 Length Required
    服务器拒绝接受请求在没有定义Content-Length字段的情况下。

    412 Precondition Failed
    前提条件失败。
    413 Request Entity Too Large
    服务器拒绝处理请求因为请求数据超过服务器能够处理的范围。服务器可能关闭当前连接来阻止客服端继续请求。

    414 Request-URI Too Long
    服务器拒绝服务当前请求因为URI的长度超过了服务器的解析范围。

    415 Unsupported Media Type
    服务器拒绝服务当前请求因为请求数据格式并不被请求的资源支持。

    416 Request Range Not Satisfialbe
    所请求的范围无法满足。
    417 Expectation Failed
    执行失败。
    Server Error
    ————————————————-
    500 Internal Server Error
    服务器遭遇异常阻止了当前请求的执行

    501 Not Implemented
    服务器没有相应的执行动作来完成当前请求。

    502 Bad Gateway
    Web 服务器用作网关或代理服务器时收到了无效响应。
    503 Service Unavailable
    因为临时文件超载导致服务器不能处理当前请求。

    504 Gateway Timeout
    网关访问超时。
    505 Http Version Not Supported
    HTTP 版本不受支持。

    "100" : Continue
    "101" : witching Protocols
    "200" : OK
    "201" : Created
    "202" : Accepted
    "203" : Non-Authoritative Information
    "204" : No Content
    "205" : Reset Content
    "206" : Partial Content
    "300" : Multiple Choices
    "301" : Moved Permanently
    "302" : Found
    "303" : See Other
    "304" : Not Modified
    "305" : Use Proxy
    "307" : Temporary Redirect
    "400" : Bad Request
    "401" : Unauthorized
    "402" : Payment Required
    "403" : Forbidden
    "404" : Not Found
    "405" : Method Not Allowed
    "406" : Not Acceptable
    "407" : Proxy Authentication Required
    "408" : Request Time-out
    "409" : Conflict
    "410" : Gone
    "411" : Length Required
    "412" : Precondition Failed
    "413" : Request Entity Too Large
    "414" : Request-URI Too Large
    "415" : Unsupported Media Type
    "416" : Requested range not satisfiable
    "417" : Expectation Failed
    "500" : Internal Server Error
    "501" : Not Implemented
    "502" : Bad Gateway
    "503" : Service Unavailable
    "504" : Gateway Time-out
    "505" : HTTP Version not supported


    展开全文
  • HTTP返回 302,意味着什么??? 经探索记录如下: 来自于:http://www.ha97.com/4000.html HTTP返回状态代码 当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回...

    笔试题;HTTP返回 302,意味着什么???

    经探索记录如下:


    来自于:http://www.ha97.com/4000.html


    HTTP返回状态代码

    当用户试图通过HTTP或FTP协议访问一台运行主机上的内容时,Web服务器返回一个表示该请求的状态的数字代码。该状态代码记录在服务器日志中,同时也可能在 Web 浏览器或 FTP客户端显示。也就是我们打开页面发生错误时浏览器显示的错误信息代码。状态代码可以指明具体请求是否已成功,还可以揭示请求失败的确切原因。

    HTTP协议状态码表示的意思主要分为五类 ,大体是 :
    ——————————————-
    1××   保留
    2××   表示请求成功地接收
    3××   为完成请求客户需进一步细化请求
    4××   客户错误
    5××   服务器错误

    100 Continue
    指示客户端应该继续请求。回送用于通知客户端此次请求已经收到,并且没有被服务器拒绝。
    客户端应该继续发送剩下的请求数据或者请求已经完成,或者忽略回送数据。服务器必须发送
    最后的回送在请求之后。

    101 Switching Protocols 
    服务器依照客服端请求,通过Upgrade头信息,改变当前连接的应用协议。服务器将根据Upgrade头立刻改变协议
    在101回送以空行结束的时候。

    Successful 
    ———————————————-
    200 OK
    指示客服端的请求已经成功收到,解析,接受。

    201 Created 
    请求已经完成并一个新的返回资源被创建。被创建的资源可能是一个URI资源,通常URI资源在Location头指定。回送应该包含一个实体数据
    并且包含资源特性以及location通过用户或者用户代理来选择合适的方法。实体数据格式通过煤体类型来指定即content-type头。最开始服务 器
    必须创建指定的资源在返回201状态码之前。如果行为没有被立刻执行,服务器应该返回202。

    202 Accepted 
    请求已经被接受用来处理。但是处理并没有完成。请求可能或者根本没有遵照执行,因为处理实际执行过程中可能被拒绝。

    203 Non-Authoritative Information
    不是权威性信息。
    204 No Content 
    服务器已经接受请求并且没必要返回实体数据,可能需要返回更新信息。回送可能包含新的或更新信息由entity-headers呈现。

    205 Reset Content 
    服务器已经接受请求并且用户代理应该重新设置文档视图。

    206 Partial Content 
    服务器已经接受请求GET请求资源的部分。请求必须包含一个Range头信息以指示获取范围可能必须包含If-Range头信息以成立请求条件。

    Redirection 
    —————————————————
    300 Multiple Choices
    请求资源符合任何一个呈现方式。

    301 Moved Permanently 
    请求的资源已经被赋予一个新的URI。

    302 Found 
    通过不同的URI请求资源的临时文件。
    303 See Other

    304 Not Modified 
    如果客服端已经完成一个有条件的请求并且请求是允许的,但是这个文档并没有改变,服务器应该返回304状态码。304
    状态码一定不能包含信息主体,从而通常通过一个头字段后的第一个空行结束。

    305 Use Proxy
    请求的资源必须通过代理(由Location字段指定)来访问。Location资源给出了代理的URI。

    306 Unused

    307 Temporary Redirect
    临时重定向。
    Client Error
    ———————————————–
    400 Bad Request
    因为错误的语法导致服务器无法理解请求信息。

    401 Unauthorized 
    如果请求需要用户验证。回送应该包含一个WWW-Authenticate头字段用来指明请求资源的权限。

    402 Payment Required 
    保留状态码。

    403 Forbidden 
    服务器接受请求,但是被拒绝处理。

    404 Not Found 
    服务器已经找到任何匹配Request-URI的资源。

    405 Menthod Not Allowed 
    Request-Line 请求的方法不被允许通过指定的URI。

    406 Not Acceptable
    客户端浏览器不接受所请求页面的 MIME 类型。
    407 Proxy Authentication Required
    要求进行代理身份验证。
    408 Reqeust Timeout 
    客服端没有提交任何请求在服务器等待处理时间内。

    409 Conflict

    410 Gone

    411 Length Required 
    服务器拒绝接受请求在没有定义Content-Length字段的情况下。

    412 Precondition Failed
    前提条件失败。
    413 Request Entity Too Large 
    服务器拒绝处理请求因为请求数据超过服务器能够处理的范围。服务器可能关闭当前连接来阻止客服端继续请求。

    414 Request-URI Too Long 
    服务器拒绝服务当前请求因为URI的长度超过了服务器的解析范围。

    415 Unsupported Media Type 
    服务器拒绝服务当前请求因为请求数据格式并不被请求的资源支持。

    416 Request Range Not Satisfialbe
    所请求的范围无法满足。
    417 Expectation Failed
    执行失败。
    Server Error 
    ————————————————-
    500 Internal Server Error
    服务器遭遇异常阻止了当前请求的执行

    501 Not Implemented 
    服务器没有相应的执行动作来完成当前请求。

    502 Bad Gateway
    Web 服务器用作网关或代理服务器时收到了无效响应。
    503 Service Unavailable 
    因为临时文件超载导致服务器不能处理当前请求。

    504 Gateway Timeout
    网关访问超时。
    505 Http Version Not Supported
    HTTP 版本不受支持。

    展开全文
  • defget_page_max_list(url,error_count=1):#error_count=1方面函数内全局的对错误的计数不受for限制page_max_list=[]Bankuan_link_list=get_Bankuan_link(url)#获取板块的链接,返回的是列表类型Bankuan_name_list=...
  • 我在调用微信消息发送接口时,有些粉丝会返回错误代码48002。但是微信文档没有这个错误代码说明。大家知道这个代码代表什么意思吗
  • 状态代码(也称作错误代码),指为服务器所接收每个请求(网页点击)分配的 3 位数代码。多数有效网页点击都有状态代码 200("正常")。"网页未找到"错误会生产 404 错误。某些常见的代码以粗体...服务器返回代码
  • 小编在访问网页的时候,突然返回http错误404,我赶紧上网查了一下http错误什么意思,原来http错误主要针对游览器无法连接到服务器而返回错误提示。引导并告诉浏览者改网页是哪里出了问题。下面是http常见错误...
  • <p>I'm currently reading a book on Go, and saw the following script: <pre><code>package main import ( "flag" ... runtime.GOMAXPROCS(runtime.NumCPU()) // Use all the machine's cores ...
  • ![图片说明](https://img-ask.csdn.net/upload/201607/12/1468309662_496188.png) 前两句发生错误就停止执行,什么都不处理,不弹窗口,, 该怎么写?
  • 微信调用获取客服聊天记录接口的时候返回错误代码:1613189120 不知道为什么,谁遇到过这个错误
  • 状态代码(也称作错误代码),指为服务器所接收每个请求(网页点击)分配的 3 位数代码。多数有效网页点击都有状态代码 200("正常")。"网页未找到"错误会生产 404 错误...服务器返回代码则意味着,服务器已收到了请
  • <p>I'm trying to test the Datastore functionality using Google App Engine and my code works as expected in the local development server: ...package datastoretest import ( ...<p>However, after being ...
  • 到了安装Microsoft Visual J#2.0 Second Edition过程的时候显示:Microsoft Visual J#2.0 Second Edition安装程序返回错误代码"1603'很奇怪,于是上网一顿搜索,网上的答案包括了一些安装jre什么的,但是我本地jdk...
  • libcurl错误代码

    千次阅读 2017-06-20 09:39:31
    原文地址 libcurl错误代码 ...libcurl错误 - libcurl中的错误代码 ...此手册页包含libcurl中的大部分(如果不是全部)可用的...几乎所有的“easy”界面函数都返回一个CURLcode错误代码。无论什么,使用curl_easy_seto
  • 我从github上面下载了一个比赛平台,比赛平台是用python写的,代码没有问题,但是我运行不了,一运行就会出现闪退情况,我按照网上的方法用cmd运行代码,报了一个我看不懂的错误。求大佬解答![图片说明]...
  • http返回码是 200 错误代码是 errorCode=RDAwOTg= 哪位大神知道这是什么问题啊
  • OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用 最近搞一个10年前的老项目,头都要秃了,获取代码之后运行不起来,一直报两个错误: (1)System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高...
  • 然而如果相同的命令放到了 Visual Studio 的生成事件中,我们就只能得到 Visual Studio 返回错误代码了。为了能够快速地根据错误代码大致猜测错误原因,本文整理了一部分错误代码的通用原因。我会在遇到新的错...
  • ajax为什么返回一段html代码

    千次阅读 2016-01-04 10:33:30
    以前在做项目的时候,碰到过一次,这次有个同时又碰到了一次。  首先,去jqueryapi里面复制一个标准的$.ajax方法,看看是不是还是返回的是html代码。...先说下我们为什么会出现次错误,我是拦截器的原因
  • AE错误代码解释

    2019-09-20 22:59:27
    出现错误时经常会出现错误代码,但是我们并不知道它到底代表什么意思,这里的而错误编码我们可以对照着找到我们需要的时候常详细信息(问题是,经常还是会出现没有错误编码HRESULT ~COMException~因为COM组件的开发...
  • <pre><code></div> <div class="items"> <ul> <li> <?php echo $msg[$lang][...<pre><code>mysql_query() access denied for user ''@'localhost' (using password no)".... </div>
  • DB2错误代码

    2009-08-06 22:05:14
    DB2错误代码/SQL返回码信息对照&lt;!--newcoin--&gt; 用COBOL链接DB2时,出现DB2错误信息时,如果你不懂代码什么意思,可以用这份资料查找, 当然你也可以直接在db2的命令行下输入:db2 ? SQLN"...
  • //用e返回出栈的元素 if(S.top==S.base){//栈空 return 0; } e=*--S.top; return 1; } int main(){ SqStack S; if(InitStack(S)){ printf("顺序栈初始化成功!\n"); }else{ printf("顺序栈初始化...
  • db2错误代码

    2009-07-02 15:54:13
    DB2错误代码/SQL返回码信息对照&lt;!--newcoin--&gt; 用COBOL链接DB2时,出现DB2错误信息时,如果你不懂代码什么意思,可以用这份资料查找, 当然你也可以直接在db2的命令行下输入:db2 ? SQL30081N,...
  • 相信大家在浏览网页的时候都碰到过404、403之类的错误报告,不管为什么反正就是网页打不开了。其实这些都是服务器接到浏览器访问请求后返回的状态码(专业术语叫服务器信息头),不同的代码有着不同的含义,简单了解...
  • bool Stack::top(int &item) const//取出栈顶数据返回去 { if(!empty())//如果栈不空,记录当前栈顶元素 { item=Stacktop->data;//通过item返回去 return true;//本次操作成功 } return false;//否则...
  • ![图片说明](https://img-ask.csdn.net/upload/201710/25/1508915399_421295.png) 为什么会出现这种情况啊,我明明设置了白名单,返回也正常但是还是会出现这种情况
  • 而且当出现问题时,开发人员会尽其所能应对(查看Jake的帖子,了解我们处理代码错误的30种常见方法)。 但是,如果您使用Sublime Text编写代码,这是一个小技巧,可以最大程度地减少这种频繁出现的问题并阻止您...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,948
精华内容 779
关键字:

代码错误返回什么