`

HTTP状态码(HTTP Status codes)简介

 
阅读更多

HTTP与Status codes

 

HTTP可能大家都熟悉,就是超文本传输协议。浏览器通过HTTP与WEB Server通讯(也有一些其它软件比如IM使用HTTP协议传递数据),把我们的请求(HTTP Request)传递给服务器,服务器响应这个请求,返回应答(HTTP Response)以及我们需要的数据。大致就是这个样子了。

 

如果我们请求啥,服务器就返回啥,是乎就不需要HTTP Status codes了。但是事情往往不是那么简单。比如我们请求一个网页页面,可是服务器不存在这个页面,或者这个页面被转移到其它地方,或者服务器禁止我们查看 这个页面等等,所以为了便于浏览器处理这些正确与不正确的情况,HTTP用Status codes来表示请求(HTTP Request)在服务器端被处理的情况。Status codes通过应答(HTTP Response)返回给浏览器,浏览器根据这个作相应的处理。

 

HTTP Status codes的分类

 

既然有正确和错误的状态,HTTP定义两大类状态码是不是就可以了?人家制订协议的可是专家(不象我是冒充的),想得比我们要周全,要长远。HTTP 1.1中定义了5大类Status codes,分别是:

 

Informational

意义:信息

范围:1XX

 

Successful

意义:成功

范围:2XX

 

Redirection

意义:重定向

范围:3XX

 

Client Error

意义:客户端错误

范围:4XX

 

Server Error

意义:服务器错误

范围:5XX

 

您看看人家想得多周到啊,真专家就是真专家。

 

常见HTTP Status codes简介

 

下面简单介绍一下我们经常碰到的HTTP Status codes。

 

也许是我孤陋寡闻,常遇到的HTTP Status codes就那么几个,见笑啦。

 

Successful

200 - OK:OK

这个是最常见的啦(也许我们不会直接看到,但是如果您使用一些抓包工具,大多数http应答中都有这个)。意义很简单,就是说服务器收到并理解客户端的请求而且正常处理了。

206 - Partial Content:部分内容。

这个也经常发生。很容易让大家发懵。

通俗点说就是如果客户端请求文档(图像,文本,声音等等)的部分内容,服务器正常处理,那么就返回206。大致意思就是它请求的时候,除了指定请求的内容,还指定了偏移量以及长度。

部分内容,没搞错吧?呵呵没搞错,现在很多浏览器以及软件支持断点续传就是靠这个的。呵呵,以后看到206不要怕了。

 

Redirection

301 - Moved Permanently:永久移动。

这个状态码是指客户端要请求的资源已经被永久的转移到一个新的地方了。这个应答(HTTP Response)里边同时包含了资源的新地址。它告诉客户端,如果下次还想要这个资源,那么就用新的地址去取。

302 Found:临时重定向。

这个状态码是指客户端要请求的资源临时放到一个新地方了。同样,应答中也包含了资源的新地址。

307 - Temporary Redirect:临时重定向。(如果不去实现协议或者做相关开发,我们大致理解它很302差不多就可以啦)

有一篇谈重定向的文章《从Business.com遭封看302重定向》很有意思

我们转载了一份,地址:http://bbs.netpu.net/viewthread.php?tid=810

 

Client Error

400 - Bad Request:错误请求

就是请求的语法错误,服务器无法理解。

401 – Unauthorized:未授权

当服务器返回401 Code,就是告诉说客户端访问指定资源以前,必须通过服务器的授权。

403 – Forbidden:禁止访问

就是不允许访问某些资源。

404 - Not Found:找不到

找不到客户端请求的内容

 

Server Error

500 - Internal Server Error

服务器内部错误。

 

官方的资料地址:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

分享到:
评论

相关推荐

    HTTP状态码「HTTP Status Codes」-crx插件

    这个扩展目的是提供有关HTTP状态代码的快速信息 支持语言:English (United States)

    HTTP Status Codes-crx插件

    语言:English (United States) 此扩展的目的是提供有关HTTP状态代码的快速信息。

    node-status-codes:Node.js`http.STATUS_CODES` ponyfill

    节点状态码 Node.js HTTP状态代码的内置列表在Node.js版本之间,因此这是确保其一致性的一种好方法。 将与最新的Node.js保持同步。 安装 $ npm install --save node-status-codes 用法 var nodeStatusCodes = ...

    NetBackup82_RefGuide_StatusCodes.pdf

    Symantec Netbackup 状态码官网原版中文文档。包含82版本所有的错误码和状态码。非常实用。

    status-codes:节点模块返回带有名称和消息的 HTTP 状态代码对象

    状态码 返回所有已知 HTTP 状态以及名称和简要说明的小模块。安装$ npm install status-codes --save使用来自此所有 var statusCodes = require ( 'status-codes' ) ;statusCodes [ 404 ] ;/** Returns:{"status": ...

    http-status-codes-cpp:C,C ++和Qt的HTTP状态代码和原因短语

    状态码类型 原因短语类型 前缀HttpStatus_ enum HttpStatus_Code const char* 命名空间HttpStatus enum Code std::string 命名空间HttpStatus enum class Code std::string 命名空间HttpStatus enum Code

    http-codes:HTTP 状态码

    http-代码HTTP 状态代码。代码 100 Continue101 Switching Protocols102 Processing200 OK201 Created202 Accepted203 Non-Authoritative Information204 No Content205 Reset Content206 Partial Content207 Multi-...

    good-status:这是用于简化状态码响应的快速中间件

    状态良好 用于发送标准状态响应的简单快速中间件。 安装 # NPM npm i good-status --save 用法 导入和设置 var goodStatus = require ( "good-status" ) ; app . use ( goodStatus ( ) ) ; 这为响应对象添加了额外的...

    EthereumStatusCodes:以太坊智能合约的状态码

    用户反馈由于状态码是有限的并且事先已知,因此我们可以提供全局的,人类可读的状态消息集。 这些还可以翻译成任何语言,不同技术细节级别,作为revert消息,natspec等添加。 我们也在看到了对此的渴望,并且没有...

    RESTful-API设计原则与规范

    一、背景与基础概念 ...7、状态码(Status Codes) 8、错误处理(Error handling) 9、返回结果(Response) 10、使用HATEOAS的Hypermedia API 11、认证(Authentication) 三、Swagger API标准

    NodeJS_Homework_3

    NodeJS_家庭作业_3 要求 ... status ( StatusCodes . METHOD_NOT_ALLOWED ) . send ( ReasonPhrases . METHOD_NOT_ALLOWED ) ; } else { next ( ) ; } } ; 验证是否提供了一个名为“ date-validati

    httpwatch

    点summary,以单个新页面作为单元来统计请求和时间数量,见下图,Q吧页面总消耗时间0.219s,共5个请求,发送包1223bytes,接收包181bytes,切换到Status Codes可以看到有一个是304和4个cache状态码,...

    httriri:HTTRiRi-Rihanna GIF描绘的HTTP状态代码:sparkles::lipstick:

    添加新的状态码GIF应该包含蕾哈娜(Rihanna),并且尚未包含在。 在极少数情况下,HTTRIRI集合中已经存在的GIF可以用于其他状态代码,但是在同一组提议的更改中,应该为其他状态代码选择新的GIF,以确保没有重复的...

    Android很全常用工具类源码

    getErrorCode(long) 得到下载错误码 =================================================================== package cn.trinea.android.common.util; import java.lang.reflect.Method; import android.app....

    weather-radar-database:有关世界天气雷达的详细信息

    weather-radar-database.json文件的结构: id雷达标识符codes -其他雷达代码(标识符) wmo世界气象组织代码ccid旧国家的ID码ccccii新的国家/地区代码icao国际民航组织机场代码location -装有天气雷达的城市或地点...

    icq6英文版 最新

    16 "Message"就是送给对方一个短讯息(注意:对中文的codes支援不是很好,只要字里面第二个 byteASCII 254,这些字会送不出去,像是"哪"等等)。 "Chat"是互相交谈模式,就像是BBS,不过不支持 中文,无法用中文交谈...

    SAP屠夫作品汇总

    Field status and Coding block subscreen 字段状态组实例 250 特别总帐标识 255 预付款处理 258 目的 258 流程 258 预付款结帐 258 发票冻结(Invoice Block) 259 Dunning AR催款配置 262 浅谈表结法和帐结法 269 1....

Global site tag (gtag.js) - Google Analytics