为了账号安全,请及时绑定邮箱和手机立即绑定

HTTP 状态码

标签:
安全

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。让我们通过本文的学习,好好了解一下状态码的工作机制。

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

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。
借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。

数字中的第一位指定了响应类别,后两位无分类


5bd6d0fa00014b3910000312.jpg

这里写图片描述


只要遵守状态码类别的定义,即使改变 RFC2616 中定义的状态码,或服务器端自行创建状态码都没问题。

接下来,我们就介绍一下这些具有代表性的几个状态码。

2 2XX 成功

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

2.1 200 OK

5bd6d0fb0001185c10000318.jpg

这里写图片描述


表示从客户端发来的请求在服务器端被正常处理了。
在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变。
比如

  • 使用 GET 方法时,对应请求资源的实体会作为响应返回;

  • 使用 HEAD 方法时,对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部,不会返回实体的主体部
    分)。

3 3XX 重定向

3XX 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。

3.1 301 Moved Permanently


5bd6d0fb0001b32e10000387.jpg

这里写图片描述


永久性重定向。该状态码表示请求的资源已被分配了新的 URI,以后应使用资源现在所指的 URI。也就是说,如果已经把资源对应的 URI保存为书签了,这时应该按 Location 首部字段提示的 URI 重新保存。


像下方给出的请求 URI,当指定资源路径的最后忘记添加斜杠“/”,就会产生 301 状态码。

http://example.com/sample

3.2 302 Found

5bd6d0fc0001207310000433.jpg

这里写图片描述


临时性重定向。该状态码表示请求的资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问。

和 301 Moved Permanently 状态码相似,但 302 状态码代表的资源不是被永久移动,只是临时性质的。
换句话说,已移动的资源对应的URI 将来还有可能发生改变。比如,用户把 URI 保存成书签,但不会像 301 状态码出现时那样去更新书签,而是仍旧保留返回 302 状态码的页面对应的 URI

4 4XX 客户端错误

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

4.1 400 Bad Request

5bd6d0fd000124a710000426.jpg

这里写图片描述


该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。另外,浏览器会像 200 OK 一样对待该状态码。

4.2 404 Not Found

该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。

5 5XX 服务器错误

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

5.1 500 Internal Server Error

5bd6d0fd0001d16110000362.jpg

这里写图片描述


该状态码表明服务器端在执行请求时发生了错误。也有可能是 Web应用存在的 bug 或某些临时的故障。



作者:芥末无疆sss
链接:https://www.jianshu.com/p/5307c9d413c0
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消