正文

HTTP协议--Status Code and Reason Phrase2009-01-08 10:13:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/40223.html

分享到:

老忘记这些,就把它给摘了下来

6.1 状态行 (Status-Line)
响应消息的第一行是状态行(stauts-Line),由协议版本以及数字状态码和相关的文本短语组成,各部分间用空格符隔开,除了最后的回车或换行外,中间不允许有回车换行.

   Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF

6.1.1状态码与原因短语 (Status Code and Reason Phrase)
状态码是试图理解和满足请求的三位数字的整数码,这些码的完整定义在第十章。原因短语(Reason-Phrase)是为了给出的关于状态码的文本描述。状态码用于控制条件,而原因短语(Reason-Phrase)是让用户便于阅读。客户端不需要检查和显示原因短语。

状态码的第一位数字定义响应类型。后两位数字没有任何分类角色。第一位数字有五种值:

-1xx: 报告的         - 接收到请求,继续进程.

-2xx 成功           - 步骤成功接收,被理解,并被接受

-3xx 重发           - 为了完成请求,必须采取进一步措施.

-4xx 客户端出错     - 请求包括错的顺序或不能完成.

-5xx 服务器出错     - 服务器无法完成显然有效的请求.

下面列举了为HTTP/1.1定义的态码值,和对应的原因短语(Reason-Phrase)的例子。原因短语在这里例举只是建议性的----它们也许被一个局部的等价体代替而不会影响此协议的语义。

 Status-Code =

        "100" ; 10.1.1节: 继续    

           |"101"   ; 10.1.2节: 转换协议     

           |"200"   ; 10.2.1节: OK

      |"201"   ; 10.2.2节:   创建         

        |"202"   ; 10.2.3节:   接受         

     |"203"   ; 10.2.4节: 非权威信息   

        |"204"   ;   10.2.5节: 无内容       

        |"205"   ;   10.2.6节: 重置内容      

        |"206"   ;   10.2.7节: 局部内容      

        |"300"   ;   10.3.1节: 多样选择      

        |"301"   ;   10.3.2节: 永久移动      

       |"302"   ;   10.3.3节: 创建          

        |"303"   ;   10.3.4节: 观察别的部分          

        |"304"   ;   10.3.5节: 只读                  

        |"305"   ;   10.3.6节: 用户代理              

        |"307"   ;   10.3.8节   临时重发              

       |"400"   ;   10.4.1节: 坏请求                

        |"401"   ;   10.4.2节: 未授权的              

      |"402"   ;   10.4.3节: 必要的支付            

      |"403"   ;   10.4.4节: 禁用                  

      |"404"   ;   10.4.5节: 没找到                 

      |"405"   ;   10.4.6节: 不允许的方式          

      |"406"   ;   10.4.7节: 不接受                 

      |"407"   ;   10.4.8节: 需要代理验证

      |"408"   ;   10.4.9节: 请求超时              

      |"409"   ;   10.4.10节; 冲突                  

      |"410"   ;   10.4.11节: 停止                  

      |"411"   ;   10.4.12节: 需要的长度            

      |"412"   ; 10.4.13节; 预处理失败            

      |"413"   ;   10.4.14节: 请求实体太大      

      |"414"   ;   10.4.15节; 请求-URI太大      

      |"415"   ;   10.4.16节: 不支持的媒体类型   

      |"416"   ; 10.4.17节: 请求的范围不满足  

      |"417"   ;   10.4.18节: 期望失败           

      |"500"   ;   10.5.1节:   服务器内部错误       

      |"501"   ;   10.5.2节:   不能实现             

      |"502"   ;   10.5.3节:   坏网关               

      |"503"   ;   10.5.4节:   服务不能实现         

      |"504"   ;   10.5.5节:   网关超时             

      |"505"   ;   10.5.6节:   HTTP版本不支持  

      |扩展码   

extension-code =3DIGIT

Reason-Phrase = *<TEXT,excluding CR,LF>

HTTP状态码是可扩展的。HTTP应用程序不需要理解所有已注册状态码的含义,尽管那样的理解显而易见是很合算的。但是,应用程序必须了解由第一位数字指定的状态码的类型,任何未被识别的响应应被看作是该类型的x00状态,有一个例外就是未被识别的响应不能缓存。例如,如果客户端收到一个未被识别的状态码431,则可以安全的假定请求有错,并且它会对待此响应就像它接收了一个状态码是400的响应。在这种情况下,用户代理(user agent)应当把实体和响应一起提交给用户,因为实体很可能包括人可读的关于解释不正常状态的信息。

阅读(5708) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册