用漫画的方式向你解释 http 状态码
用情人节漫画来解释 HTTP 状态码
情人节将近,告白季伊始,只愿得君一人心 。回答可能是简单的 「是」或 「否」,也有可能是神秘的 「我并没有那么想你,但是我们明天可以喝一杯咖啡吗?」
这就带来了 HTTP
状态码(超文本传输协议)。当一个URL 被输入到浏览器里面,一个请求就被发送出去给服务器,浏览器也在等待一个答案,就像我们的场景。这些答案以 HTTP
状态码的形式出现,它是一个映射到答案的三位数字。
让我们在想象一下情人节,这里有一些相似的情景。
200s: 快乐的结局
状态码 200s 一般意味着所有的事情都是好的。这个请求被接受,理解,并且服务器没有发生错误。这里 会返回一个 200 状态码.
- 你愿意成为我的小可爱吗?
- 当然啦
这是对于浏览器 和 服务器,开发者和他的项目是一个完美的结局
300s: 重定向
状态码 300s 意味着客户端必须采取进一步的行动来完成请求。 300s 也是所有重新定向生活的地方。
一个人可能永远看不到 300s 状态码,因为浏览器无需用户输入即可无缝地采取所需的操作。但是,搜索引擎会谨慎的对待300s 状态码,所以开发者应该留意正确的状态码。
- 301 永久移动
- 我现在在公园住了 ---- :four_leaf_clover:
- 你愿意做我的小可爱吗?
- 当然,并且你得更新一下你的地址簿
- 302, 303, 307 暂时移动
- 我要去公园一会 -- :four_leaf_clover:
- 你愿意做我的小可爱吗?
- 当然啦
这里有一些微小的但是 十分重要的 302, 303, and 307的区别 这些区别不能很好的用漫画解释。
总的来说就是,当 302 最初创建时,它被流行的浏览器错误地实现。 为了消除正确的 302 和错误的 302 之间的歧义,创建了 303 和 307 代码。
- 304 没有变化
- 你愿意做我的小可爱吗?
- 当然
- 你愿意做我的小可爱吗?
- 我的答案没有变化
这个漫画在说明 304s 的好处方面做得并不好,因为「是」比「我的回答没有改变」短得多。
304s 状态码对于浏览器很有用,因为这标志着资源不可以直接从缓存中加载,而不是从服务器上面下载。
400s: 客户端错误
状态码 400s 错误一般是指请求出现问题。这可能是浏览器的问题,或者说使用的 URL 有问题。
- 400 错误请求
- ?#&834,232.22?dasd
- 我不知道你在说什么
- 401 未授权
- 你愿意当我的小可爱吗?
- 我根本不认识你啊!
- 403 禁止访问
- 你愿意当我的小可爱吗?
- 我认识你!你不能和我说话!
- 404 没找到
- :four_leaf_clover: 在哪里呀 ?
- 谁?
- :four_leaf_clover: 曾经存在过吗?
这可能是最著名的错误状态码。虽然很多人理解为「这个资源部不存在」 和「这个资源被移动走了」,但是它确切的意思是 不确定这个资源是否存在或它会返回什么。
- 407 需要代理服务器授权
- 你愿意当我的小可爱吗?
- 在哪里先等一下!
- 你先得经过我 -- :four_leaf_clover: 的 父亲的同意
- 408 超时
- 409 冲突
- 你愿意当我的小可爱吗?
- 我已经答应别人啦
- 410 丢失
- :four_leaf_clover: 在哪里呢?
- 很抱歉, :four_leaf_clover: 消失了!
与(著名的)404 不同,这是一种资源曾经存在的情况,但已被永久删除,并且不会返回。 如果您从网站上永久删除了一个页面,则应该使用 410,而不是 404。
- 426 需要更新
- 你愿意当我的小可爱吗?
- emmmm,也许等你长大我就同意啦
500s: 服务器错误
- 502 网关错误
- :four_leaf_clover: ,你愿意做我的情人吗?
- 好的
- ....
- ....
- 然后呢?
- 我无法理解你的意思。
- 503 服务暂时不可用
- 你愿意做我的情人吗?
- 被异常病毒攻击导致服务繁忙!你能等一会再来吗?
- 504 网关超时
- 当你向:four_leaf_clover: 问到愿意做我的爱人吗?
- 好的
- ...
- ...
- 所以?
- 因为等的太久所以我放弃了
后记
最后,所有人都喜欢的滑稽的状态码是指 1998愚人节的笑话,并且 这个笑话一直持续到现在.
HTCPCP服务器是一个茶壶; 由此产生的实体可能短而粗壮。
我希望你快速滚动浏览这篇文章使 HTTP
状态码更有趣。 有关这些状态码等的更多技术解释,请参阅下面的更多内容。
https://developer.mozilla.org/en-US/docs/W...
https://www.addedbytes.com/blog/http-statu...
https://www.digitalocean.com/community/tut...
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
304s 状态码对于浏览器很有用,因为这标志着资源不可以直接从缓存中加载,而不是从服务器上面下载。
这里好像有问题!
@itdream 意思是不使用缓存,直接请求服务器,对吧。
很直观