HTTP状态码

  我们在介绍响应报头的时候提到了HTTP的状态码的概念,状态码跟随着响应表报头一同返回回来,今天我们主要来讲一下状态码有哪些各自的含义是什么?

  状态码就是告诉我们服务器响应的状态,通过它我们能明白我们的状态码由三个十进制的数字组成,第一个十进制数字定义了状态码的类型,后边两个数字没有分类的作用。HTTP状态码分为五类

一.1XX:表示请求已经接受,需要请求者继续执行操作

二.2XX:代表成功,表明请求已经被成功接受并处理

三.3XX:重定向,代表要想完成请求必须进行更一步的操作

四.4XX:代表处理发生错误错误在客户端,比如请求一个未经允许的资源,客户端没有被授权等等

五.5XX:代表发生错误责任在服务器端,比如服务器出现异常路由器出现异常HTTP版本不支持等等

   HTTP的状态码有很多仅记录在RFC2616上的HTTP就有四十多种,加上扩展的就高达流逝中,这里我们介绍一下最具有代表性的十四种状态码:

常用的响应状态码有:

1.200 ok 表示从客户端发来的请求在服务器已经正常处理了

2.204 No Content 代表服务器接受的请求已经被成功处理,但是在响应报头中不含有实体部分,比如当从浏览器发出请求处理之后,如果返回204则代表浏览器页面不发生更新。一般只需要从客户端向服务器发送信息,而服务器不对客户端发送信息时使用。

3.206 Partial Content 表示客户端对服务器进行了范围请求,并且服务器成功执行了这一部分的请求。响应报文里边包含了content-range指定范围的实体内容

4.301 Moved Permanently 永久性重定向 该状态码表示所请求的资源已经被分配到了新的URL中,以后所请求资源应指向新的URL,如果已经把资源保存到了书签,这时候应该按照location首部提示的字段重新保存。

5.302 Found 临时重定向 该状态码表示所请求的资源已经被分配了新的URL,希望用户本次用新的URL进行访问和301相似但是不同的是302代表资源不是永久性移动只是临时改变,已经移动了资源对应的URL以后还有可能会改变,比如此时用户也保存了书签,当返回302时便不会去更改书签内容。

6.303 See Other  表示该状态码请求对应的资源存在着另外一个URL,应该使用GET的方法去获取请求的资源 ,303状态码和302状态码有着相同的功能,但是303状态码明确表示客户端应该使用GET的方法获取资源,比如我们现在用一个POST方式获取程序,其执行后的处理结果是希望客户端用GET方式重定向到一个新的URL上去就返回303,但是经常有很多HTTP1.1版本以前的浏览器不能正确理解303状态码。

7.304 Not Modified 该状态码表示客户端发送附带条件请求的时候,服务器允许客户端访问资源,但是没有找到满足条件的资源。虽然304被分到了3XX但是他和重定向是没有关系的

8.307 Temporary Redirect 临时重定向 和302有着相同的含义,在302标准里边是进制POST变成GET的,但是实际生活中大家并不遵守,307不会从 POST变成GET,每个浏览器都可能存在不同的处理情况。

9.400 Bad Request 该状态码表示请求报文中存在语法错误,需要修改请求再次发送请求。浏览器会像对待200一样对待这个状态码。

10.401 Unauthorized 该状态码表示,请求需要通过HTTP等一系列的认证信息,当返回401的时候响应必须包含一个适用于被请求资源的首部用于质询用户信息的窗口,当浏览器第一次收到401响应的时候会弹出认证对话的窗口。如果之前已经进行过一次请求,代表用户认证失败。

11.403 Forbidden 该状态码表示请求的资源被服务器拒绝了。

12.404 Not Found 该状态码表示服务器上无法找到请求资源,有时候也在服务器拒绝请求但是不想说明理由的时候使用。

13.500 Internal Server Error 代表服务器执行请求的时候发生了错误,也有可能是web应用存在bug或者某些临时的故障

14.503 Service Unavailable 该状态码表示服务器暂时处于超负载或者是停机维护状态,现在无法处理请求,如果事先得知解除以上状况,最好写入RetyAfter首部字段发返回给客户端

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值