(4)返回结果的HTTP状态码

HTTP状态码主要负责:
表示客户端HTTP请求的返回结果
标记服务器端的处理是否正常
通知出现的错误等等

1.状态码告知从服务端返回的请求结果

状态码的职责是当客户端向服务端发送请求时,描述返回的请求结果
借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误
正常状态码:2XX,表示进展顺利
错误状态码:4XX、5XX,表示出现错误
状态码的例子:200 OK,由三位数字和原因短语组成
状态码的类别如下:

类别原因端于
1XX信息性状态码(Informational)接收的请求正在处理
2XX成功状态码(Success)请求正常处理完毕
3XX重定向状态码(Redirection)需要进行附加操作以完成请求
4XX客户端错误状态码(Client Error)服务器无法处理请求
5XX服务器错误状态码(Server Error)服务器处理请求出错

虽然状态码要60多种,但是经常使用的就14种比较有代表性的状态码

2.2XX成功

2XX的响应结果表示请求被正常处理了

  • (1)200 OK
    若请求正常处理则返回200 OK
    表示客户端发来的请求在服务端被正常处理了
    在响应报文内,随状态码一起返回的信息会因为方法的不同而发生改变
  • (2)204 No Content
    表示请求处理成功,但没有资源可以返回
    这个状态码代表服务器接收的请求已经成功处理,但在返回的响应报文中不含实体的主体部分
    也不允许返回任何实体的主体当浏览器发出请求处理后,返回204响应,那么浏览器显示的页面不发生更新
    这个一般在只需要客户端往服务器发送消息,而服务端对客户端不需要发送新信息内容的情况下使用
  • (3)206 Partial Content
    范围请求,客户端给服务端说只想要资源的一部分
    该状态码表示客户端进行了范围请求,同时服务器也成功执行了这个GET请求

3.3XX重定向

3XX的响应结果表明浏览器需要执行某些特殊的处理以正确处理请求
也就是服务端给客户端返回一个信息,说客户端需要干什么以后服务端才能正确处理请求

  • (1)301 Moved Permanently(服务端的资源被永久移动)
    永久性重定向
    该状态码表示请求的资源被分配了新的URI,以后应使用资源现在所值的URI
    如果已经把资源对应的URI保存为书签了,这时应该按Location首部字段提示的URI重新保存
  • (2)302 Found(服务端的资源被临时移动)
    临时性重定向
    服务端资源的URI已经临时定位到其他位置了,姑且算你已经知道这个情况了
    表示请求的资源已经被分配了新的URI,希望用户本次能使用新的URI访问
  • (3)303 See Other
    服务端:资源的URI已经更新,你是否能临时按新的URI访问
    表示由于请求对应的资源存在着另外一个URI,应该使用GET方法定向获取请求资源
    303和302很相似
    但是303明确表示客户端应该使用GET方法获取资源
    注意
    当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST当成GET,并删除请求报文内的主体,之后请求会再次自动发送
  • (4)304 Not Modified
    附带条件的请求,服务端资源已经找到,但是不符合条件请求
    表示客户端发送附带条件的请求时,服务端允许请求访问资源
    但是因为请求为满足条件,直接返回304
    服务器端资源并没有改变,可以直接使用客户端没有过期的缓存
  • (5)307 Temporary Redirect
    临时重定向与302相似
    307会遵守标准,不会将POST变成GET
    但是对于处理响应每中浏览器可能会有不同的行为

4.4XX客户端错误

4XX的响应结果表明客户端是发生错误的原因所在

  • (1)400 Bad Request
    服务端表示无法理解客户端发来的请求,客户端是不是发错了
    表示请求报文中存在语法错误
    当这个错误发生的时候,需要修改请求的内容后再次发送请求
    浏览器会像200 OK一样对待这个状态码
  • (2)401 Unauthorized
    发送请求第一次返回401表示页面需要认证,第二次返回401表示认证失败
    该状态码表示发送的请求需要有通过HTTP认证的认证信息
    如果之前已经进行过1次请求,则表示认证失败
  • (3)403 Forbidden
    服务端不允许客户端访问那个资源
    表示对请求资源的访问被服务器拒绝了
    服务器端没有必要给出拒绝的详细里有,如果想做详细说明也可以
    没有权限等等
  • (4)404 Not Found
    服务器上没有请求的资源
    表示服务器上无法找到请求的资源,也可以直接拒绝请求

5.5XX服务器错误

5XX的响应结果表明服务器本身发生错误

  • (1)500 Internal Server Error
    服务器内部资源出现故障
    表明服务端在执行请求时发生了错误,也有可能是WEB应用存在的bug或者临时故障
  • (2)503 Service Unavailable
    服务端正在忙
    表明服务器暂时处于超负载或者正在进行停机维护,现在无法处理请求
    注意:其实状态码也有可能出错,但是用户可能查觉不到
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值