http响应状态码 总结

响应状态码 

和请求报文相比,响应报文多了一个“响应状态码”,它以“清晰明确”的语言告诉客户端本次请求的处理结果。 

HTTP的响应状态码由5段组成: 
 

  • 1xx 消息,一般是告诉客户端,请求已经收到了,正在处理,别急...
  • 2xx 处理成功,一般表示:请求收悉、我明白你要的、请求已受理、已经处理完成等信息.
  • 3xx 重定向到其它地方。它让客户端再发起一个请求以完成整个处理。
  • 4xx 处理发生错误,责任在客户端,如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。
  • 5xx 处理发生错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不支持等。



以下是几个常见的状态码: 

200 OK 

你最希望看到的,即处理成功! 

303 See Other 

我把你redirect到其它的页面,目标的URL通过响应报文头的Location告诉你。 
 

引用

悟空:师傅给个桃吧,走了一天了 
唐僧:我哪有桃啊!去王母娘娘那找吧



304 Not Modified 

告诉客户端,你请求的这个资源至你上次取得后,并没有更改,你直接用你本地的缓存吧,我很忙哦,你能不能少来烦我啊! 

404 Not Found 

你最不希望看到的,即找不到页面。如你在google上找到一个页面,点击这个链接返回404,表示这个页面已经被网站删除了,google那边的记录只是美好的回忆。 

500 Internal Server Error 

看到这个错误,你就应该查查服务端的日志了,肯定抛出了一堆异常,别睡了,起来改BUG去吧! 

 

1xx(临时响应)表示临时相应并需要请求者继续执行操作

    100--(继续)请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分
    101--(切换协议)请求者已要求服务器切换协议,服务器已确认并准备切换


2xx(成功))表示成功处理了请求的状态代码。代码说明200(成功)服务器已成功处理了请求。通常,这表示服务器提供了请求的网页

    201--(已创建)请求成功并且服务器创建了新的资源
    202--(已接受)服务器已接受请求,但尚未处理
    203--(已接受)服务器已接受请求,但尚未处理
    204--(无内容)服务器成功处理了请求,但没有返回任何内容
    205--重置内容)服务器成功处理了请求,但没有返回任何内容
    206--(部分内容)服务器成功处理了部分GET请求


3xx(重定向)表示要完成请求,需要进一步操作。通常,这些状态代码用来重定向。代码说明300(多种选择)针对请求,服务器可执行多种操作。服务器可根据请求者(user agent)选择一项操作,或提供操作列表供请求者选择

    301--(永久移动)请求的网页已永久移动到新位置。服务器返回此响应(对GET或HEAD请求的响应)时,会自动将请求者转到新位置
    302--(临时移动)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
    303--(查看其他位置)请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码
    304--(未修改)自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容
    305--(使用代理)请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理
    307--(临时重定向)服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求


400(请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理

    400--(错误请求))服务器不理解请求的语法
    401--(未授权)请求要求身份验证。对于需要登录的网页,服务器可能返回此响应
    403--(禁止)服务器拒绝请(没有权限)
    404--(未找到)服务器找不到请求的网页
    405--(方法禁用)禁用请求中指定的方法
    406--(不接受)无法使用请求的内容特性响应请求的网页
    407--(需要代理授权)此状态代码与401(未授权)类似但指定请求者应当授权使用代理
    408--(请求超时)服务器等候请求时发生超时
    409--(冲突)服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息
    410--(已删除)如果请求的资源已永久删除,服务器就会返回此响应
    411--(需要有效长度)服务器不接受不含有效内容长度标头字段的请求
    412--(需要有效长度)服务器不接受不含有效内容长度标头字段的请求
    413--(请求实体过大)服务器无法处理请求,因为请求实体过大,超出服务器的处理能力
    414--(请求的URI过长)请求的URI(通常为网址)过长,服务器无法处理
    415--(不支持的媒体类型)请求的格式不受请求页面的支持
    416--(请求范围不符合要求)如果页面无法提供请求的范围,则服务器会返回此状态代码
    417--(未满足期望值)服务器未满足"期望"请求标头字段的要求
    419--(在larvel框架中出现过)csrf防护问题


5xx(服务器错误))这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错

    500--(服务器内部错误)服务器遇到错误,无法完成请求
    501--(尚未实施)服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码
    502--(错误网关)服务器作为网关或代理,从上游服务器收到无效响应
    503--(服务不可用)服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态
    504--(网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求
    505--(HTTP版本不受支持)服务器不支持请求中所用的HTTP协议版本

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
响应状态码HTTP Status Codes)和业务状态码(Business Status Codes)是在不同层面上表示网络请求结果的代码,它们各自的作用和用途不同。 **响应状态码**: - 通常由Web服务器返回给客户端(如浏览器)的,用于指示HTTP请求的处理结果。 - 根据HTTP协议定义,范围从1XX到5xx,其中: - 1XX:信息性状态码,表示请求已被成功接收、处理中。 - 2XX:成功的请求,如200 OK表示请求已成功处理。 - 3XX:重定向,比如301 Moved Permanently表示资源已永久移动。 - 4XX:客户端错误,如404 Not Found表示找不到请求的资源。 - 5XX:服务器错误,如500 Internal Server Error表示服务器遇到问题无法完成请求。 - 客户端可以根据这些状态码理解服务器对请求的处理情况。 **业务状态码**: - 主要用于业务系统内部或API调用的结果反馈,不是HTTP标准的一部分,但由开发者或业务规则自定义。 - 它们更专注于业务逻辑,可能包含更详细的状态分类,如成功、失败、正在进行、部分成功等。 - 业务状态码常用于后端服务之间或客户端应用与服务器之间的交互,帮助开发者和用户理解和跟踪操作的进度和结果。 总结来说,响应状态码是网络通信层面的标准,而业务状态码则是应用层面的扩展,两者结合使用可以提供全面的请求/响应情况描述。相关问题: 1. 哪些常见的HTTP状态码对应着特定的含义? 2. 在处理API请求时,为什么要同时考虑HTTP状态码和业务状态码? 3. 如何有效地在代码中统一管理和转换响应状态码和业务状态码

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值