前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >先有猫,后有HTTP! | 多图预警

先有猫,后有HTTP! | 多图预警

作者头像
xjjdog
发布2021-10-12 16:18:30
3810
发布2021-10-12 16:18:30
举报
文章被收录于专栏:架构专题架构专题架构专题

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

说句让你揪心的话。之所以你定下的状态码,小伙伴们记不住。不是说你定义的不好,而是大家并不想在这上面浪费时间。而HTTP即使那么复杂,大家还是去学习它,就是因为此协议比你的应用面广。

没有困难的状态码,只有勇敢的猫咪。http很复杂,遇到不明白的code,就要请猫咪来帮忙。

在http://http.cat 这个网站上,就有一群可爱的猫咪,用它们的生命对这些状态进行着解释。本文的所有图片,都来自于这个网站。

常用的

301 (常用)

301是常用的状态码,意思是资源被移动了,这是一个对搜索引擎非常友好的状态码,建议使用。

不好意思,我已经移居到有沙滩有海洋的海滨城市,请你不要再打扰我。

304 (常用)

304是使用频率非常高的状态码,因为它与计算机性能优化中的一个巨无霸有着关联:缓存。304意味着浏览器缓存了服务器的副本,不需要下载就能查看。

当然,缓存也是不一致的万恶之源,你要强制刷新才能让整个世界统一。

悄悄看,我们是不是长得一样?

401

用户需要身份认证才能访问资源。

可怜的猫咪,被拒绝在门外。

403

用户没有授权,表示没有权限访问资源。

不要尝试你没有能力获取的东西,这很危险。

404

这个都懂,就连小朋友都懂。

418

我就是个杯具。

没有茶壶的http协议不是完整的协议。 当客户端给一个茶壶发送泡咖啡的请求时,茶壶就返回一个418错误状态码,表示“我是一个茶壶”。

500

服务器内部错误,很笼统的一个错误码。是服务端的同学最惧怕的错误码。

要拖出这只猫而不受损伤,要费点功夫。

503

表示服务器暂时处于超负载或正在进行停机维护,无法处理请求。

204

表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分,也就是没有资源可以返回。

没有猫粮,这完全饿坏了它们。

450

呃呃呃,家长控制. 你需要证明你是18+ .

这样的猫很少.

3xx

300

300是多种选择的意思,指的是服务器可以执行多种操作。这个状态码很少用,我甚至现在都不知道它用在什么场景下。

302

相对于301,302是临时移动的意思。

我想有个家,可是却一直在路上。

303

303表示这个请求对应的资源,存在另外一个URI。对于POST请求,它表示请求已经被处理,客户端可以接着使用GET方法去请求Location里的URI。

知道图中的这只猫是什么名场面么?它就是薛定谔的猫。说实话,我从来没用过这个状态码,也从来没有抓到过,所以过多的解释我觉得也没有必要了。

305

表示被请求的资源必须通过指定的代理才能被访问。

307

303 和 307 是 HTTP1.1 新加的服务器响应文档的状态码,是对302状态的细化。

308

308与301定义一致,唯一的区别在于,308状态码不允许浏览器将原本为POST的请求重顶到GET请求上。

4xx

400

400是服务端返回的,告诉客户端它发送了一条异常的请求。比如语义有误,请求参数有误等。

402

意思是,宝贝,你需要付钱了。

付钱,就可以进入我。

这么赤裸裸的讨饭举动,自然用的很少。

405

方法不被允许。比如写爬资源的时候,很多静态资源都不会响应Post请求。

406

这种做法,不可接受。表示客户端无法解析服务端返回的内容。

407

你需要登录代理才能访问我的资源。类似于401。

408

请求发生了错误。

409

由于和被请求的资源的当前状态之间存在冲突,请求无法完成。

410

被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址。

真是可怜的状态, 我已经无家可归.

411

如果你没有定义Content-Length请求头,那么我就拒绝你的请求。

412

服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个。

413

请求实体太大!

虽然我长得胖承受力强,但也请你温柔

414

请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。

这么长,不会用post模式啊.

415

请求提交的格式 , 不被支持.

416

这个状态码与If-Range请求头有关.

HTTP 协议范围请求允许服务器只发送 HTTP 消息的一部分到客户端。范围请求在传送大的媒体文件,或者与文件下载的断点续传功能搭配使用时非常有用。

意思是你传的不对,或者服务器资源有变.

417

又是一个偏门请求头Expect相关的状态码. 意思是这个请求参数不满足服务端的需要.

422

请求格式正确,但是由于含有语义错误,无法响应。

真是让猫无奈啊

423

当前资源被锁定。

424

由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH。

425

不知道干啥用的 , 但它就是存在 !

426

客户端应当切换到TLS/1.0。这是协议升级

429

当你需要限制客户端请求某个服务的数量,也就是限制请求速度时,该状态码就会非常有用。

慢点吃,猫粮不够了 !

431

请求头字段太大

444

木有响应

451

因法律原因不可用

497

转到https接口

498

499

客户端关闭了一个请求!

5xx

501

服务器不支持当前请求所需要的某个功能。

502

错误的网关

504

网关超时

506

是506错误是因为服务器没有正确配置。

508

检测到了循环啊,兄弟

509

服务器宽带达到了瓶颈

510

客户端需要对请求进一步扩展,服务器才能实现它。从来没遇到过.

511

要求网络认证. 比如你登录了一个需要验证密码才能访问的wifi

521

中文的意思很美好, 但可惜的是它是5开头的. 那么结局就可想而知

523

源头不可达

525

ssl握手失败

599

连接已关闭

2xx

201

成功请求并创建了新的资源

202

服务器已接受请求,但尚未处理

203

不懂.

206

表示该服务器已经成功处理了部分 GET 请求。迅雷这类的 HTTP下载工具都是使用此类响应实现断点续传或者将一个大文档分解为多个下载段同时下载。

1xx

100

请求者应当继续提出请求。

101

表示切换协议。

102

处理中

End

所有的协议,在发展的过程中,都充满了坎坷。它不仅要有前瞻性,在升级的时候,也要考虑兼容性等因素,最后的协议往往是个大杂烩,充满了恶意的细节。TCP算一个,HTTP作为万维网的基础协议,当然也算一个。

常用的, 其实就那么几个. 只是先人们考虑的太多, 才造成了状态码的爆炸。 就如同无聊的418状态码, 体现了先人们蛋疼的前瞻性。

人有远虑, 才有近忧。

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小姐姐味道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用的
    • 301 (常用)
      • 304 (常用)
        • 401
          • 403
            • 404
              • 418
                • 500
                  • 503
                    • 204
                      • 450
                      • 3xx
                        • 300
                          • 302
                            • 303
                              • 305
                                • 307
                                  • 308
                                  • 4xx
                                    • 400
                                      • 402
                                        • 405
                                          • 406
                                            • 407
                                              • 408
                                                • 409
                                                  • 410
                                                    • 411
                                                      • 412
                                                        • 413
                                                          • 414
                                                            • 415
                                                              • 416
                                                                • 417
                                                                  • 422
                                                                    • 423
                                                                      • 424
                                                                        • 425
                                                                          • 426
                                                                            • 429
                                                                              • 431
                                                                                • 444
                                                                                  • 451
                                                                                    • 497
                                                                                      • 498
                                                                                        • 499
                                                                                        • 5xx
                                                                                          • 501
                                                                                            • 502
                                                                                              • 504
                                                                                                • 506
                                                                                                  • 508
                                                                                                    • 509
                                                                                                      • 510
                                                                                                        • 511
                                                                                                          • 521
                                                                                                            • 523
                                                                                                              • 525
                                                                                                                • 599
                                                                                                                • 2xx
                                                                                                                  • 201
                                                                                                                    • 202
                                                                                                                      • 203
                                                                                                                        • 206
                                                                                                                        • 1xx
                                                                                                                          • 100
                                                                                                                            • 101
                                                                                                                              • 102
                                                                                                                              • End
                                                                                                                              领券
                                                                                                                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档