HTTP协议中的状态码

陌路散爱 提交于 2020-03-23 03:37:37

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

第一位数字有五种值:

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

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

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

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

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

下面列举HTTP/1.1定义的态码值,和对应的原因短语(Reason-Phrase)的例子,仅作参考,偶尔查询。

 Status-Code

"100" ;  继续    

"101" ;  转换协议     

         

"200" ;  OK

"201" ;  创建         

"202" ;  接受         

"203" ;  非权威信息   

"204" ;  无内容       

"205" ;  重置内容      

"206" ;  局部内容    

  

"300" ;  多样选择      

"301" ;  永久移动      

"302" ;  创建          

"303" ;  观察别的部分          

"304" ;  只读                  

"305" ;  用户代理              

"307" ;  临时重发    

          

"400" ;  坏请求                

"401" ;  未授权的              

"402" ;  必要的支付            

"403" ;  禁用                  

"404" ;  没找到                 

"405" ;  不允许的方式          

"406" ;  不接受                 

"407" ;  需要代理验证

"408" ;  请求超时              

"409" ;  冲突                  

"410" ;  停止                  

"411" ;  需要的长度            

"412" ;  预处理失败            

"413" ;  请求实体太大      

"414" ;  请求-URI太大      

"415" ;  不支持的媒体类型   

"416" ;  请求的范围不满足  

"417" ;  期望失败           

"500" ;  服务器内部错误       

"501" ;  不能实现             

"502" ;  坏网关               

"503" ;  服务不能实现         

"504" ;  网关超时             

"505" ;  HTTP版本不支持  

扩展码   

extension-code =3DIGIT

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

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

上次面试的时候问到这个问题,除了知道403和404之外,其他的都答不出来,记录下~~虽然似乎记着玩意没多大用,但是也反映了经验不足啊!!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!