[http]阅码😎无数而心中无码, 记录那些年遇到过的状态码

1,702 阅读3分钟

俗话说, 联调不识状态码, 阅尽接口亦枉然, 本文记录了遇到过的状态码, 让状态码不再枯燥无味, 并方便查阅和熟悉, 祝各位早日心中无码, 早点下班

随缘遇到了陌生的状态码, 跟它熟悉一下, 然后就会更新

1xx 连接相关

101 Switching Protocols 切换协议

打开leetcode页面时, 观察network, 你会发现一个101的状态码

于是充满好奇心的你点进去瞅了瞅, 这个状态码相当于

  1. 客户端同学先用普通的http请求问了一下服务端同学, 咱们可以upgrade升级websocket建立连接么
  2. 然后服务端同学说, 好咧, 没问题, 咱们愉快的建立websocket连接吧

除了从http 1.1升级到websocket, 还可以从http 1.1升级到http 2

方便记忆: 从1切到0, 再从0切到1, 切换协议

参考: juejin.cn/post/684490…

4xx 客户端相关

401 Unauthorized 未授权

前端监控平台活捉401状态码一只, 原因是客户端请求的这个接口需要验证授权, 但是可能这请求未携带授权信息或者授权信息验证失败

方便记忆: 1 -> 秘钥

403 Forbidden 禁止访问

前端监控平台活捉403状态码一只, 存放在某里云的一个mp3文件被禁止访问, 而且与401不同的是不能再次进行身份验证

方便记忆: 3 -> 闪, 闪开, 禁止访问

408 Request Timeout

在域名全链路监控里发现408状态码的统计

该状态码表示请求超时, 服务器长时间没有收到请求, 想将这个http连接关闭掉

方便记忆: 408 -> 失灵吧, 客户端肯定失灵了吧, 那么服务端就关闭这个连接吧

422

429 Too Many Requests 过多请求

如果你在leetcode上刷题, 短时间连续提交多次, 就会看到如下

打开network, 就可以看到这个有爱的状态码了, 同学, 提交虽然很爽, 但是请注意节制哦

方便记忆: 4 + 2 = 6, 996虽然很爽, 但身体是革(ma)命(zhuan)的本钱哦, 过多请求

499 Client Closed Request 客户端断开连接

Nginx日志捕获到499

方便记忆: 499, 99, 客户端等服务器的响应等的太久了, 于是断开了连接

5xx 服务器端相关

500 Internal Server Error 内部服务器错误

前端监控平台活捉500状态码一只, 服务器无法响应请求

方便记忆: 500, 00, 0啥也没有, 服务器内部错误

502 Bad Gateway 错误的网关

前端监控平台活捉502状态码一只, 它是由一个网关或者代理服务器发出的, 表示它从上游服务器接收到的响应是无效的, 注意看截图里的The proxy server received an invalid response from an upstream server.

方便记忆: 2 -> 250, 错误, 错误的网关

504 Gateway Timeout 网关超时

春季赛结束后leetcode返回504状态码一只, 它是由一个网关或者代理服务器发出的, 表示它从上游服务器接收到的响应超时, 注意看截图里的The gateway did not receive a timely response from the upstream server or application.

方便记忆: 4 -> 时, 网关超时

顺便记录一下leetcode的系统维护