首页 / 科技 / 正文

刷网页弹的404、502到底啥意思?HTTP状态码根本不是程序员的专属暗号

昨天晚上我蹲在沙发上想点常吃的那家卤味外卖,点进店铺链接就跳了个白屏,上面飘着一行英文:502 Bad Gateway。 我第一反应是家里WiFi坏了,切了4G,站在窗边举着手机刷,还是一样的白屏。折腾了十分钟,把路由器拔了重插,再点进去,还是那行冷冰冰的字。 我当时都饿的肚子叫了,直接把手机扔到一边,拆了包薯片啃,过了二十分钟再摸手机点进去,卤味店的菜单终于弹出来了。

那些你眼熟的数字,其实是服务器给你的回话

很多人第一次见这些数字,总觉得是程序员搞出来的看不懂的黑话,其实根本不是。你就把整个上网的过程想成你去楼下便利店买东西:你走到货架前拿了瓶水,走到收银台跟店员说“我要这个”,店员给你扫个码,你付完钱拿着水走,整个流程顺顺当当的,对应的就是200 OK——没有任何问题,你要的东西我给你了。 要是你以前常买的那款水,便利店换了货架位置,店员告诉你“这款水现在在进门第一排的货架上,我带你过去”,这就是3xx系列的重定向。比如你输了好几年前收藏的老博客地址,点进去自动跳转到博主现在的公众号文章,就是这个道理,根本不需要你自己费劲找新地址。
HTTP状态码分类对应日常消费场景对照表

4开头的报错,真的不是你网不好

我之前有个朋友,每次刷网页遇到404,就疯狂拍路由器,骂自己家宽带办的太亏,连个网页都打不开。 其实真的冤枉路由器了。4xx系列的报错,本质是客户端的问题,跟你家的网速半毛钱关系都没有。 比如大家最熟的404,是什么意思?就是你要找的那个页面,服务器上根本不存在。就像你去快递站取件,报了个取件码,快递员翻遍整个货架都找不到,不是快递员偷懒,也不是你家网慢,要么是你取件码输错了——比如把网址里的“article”拼成了“articel”,少打了个字母,服务器当然找不到;要么是你要找的那个东西早就被拿走了——比如你之前常看的博主把某篇吐槽的文章删了,或者被平台下架了,老粉丝点进来就只能看到404。 还有那个403,更简单,就是你没权限。就像你想进人家设置了三天可见的朋友圈,点进去一片空白,系统根本不让你看,这时候你就算把手机举到信号塔底下,该看不着还是看不着。 说起来好笑,我之前遇到过个特别有意思的404页面,是个独立开发者做的,页面上放了他家橘猫趴在键盘上的照片,配字“这页被猫踩着键盘删掉了”,我当时在那个页面蹲了三分钟,差点忘了本来要找的资料是啥。

5开头的乱码,才是真的跟你没关系

如果说4开头的报错多少还跟你自己有点关系,那5开头的错误,就真的是纯纯的服务器那边出问题了,你再怎么折腾自己的设备都没用。 就像开头我遇到的502,是什么逻辑?你是顾客,坐在座位上喊服务员点菜,服务员把你的单子传给后厨,结果后厨的师傅今天临时请假,灶台都没开,服务员没办法给你上菜,只能跑过来跟你说“不好意思啊店里现在供不上餐,你等会再来”。你总不能因为后厨没开火,就把服务员骂一顿,或者把桌子掀了吧?
502 Bad Gateway错误页面用户实拍图
502 Bad Gateway错误页面用户实拍图
我之前帮朋友排查网站问题的时候,有个开手工工作室的朋友,非要怪自己花了几千块装的千兆路由器有问题,蹲在路由器旁边拍了半小时,最后才发现是他买的那个云服务器到期了,运营商直接把他的站点断了,弹的就是503,当时他脸都绿了,说早知道就不跟路由器较劲了。 别不信。 我现在刷网页遇到加载失败,根本不慌。先扫一眼页面上的状态码数字,200就等两秒加载,3开头的就等它自动跳转,4开头的就检查下网址是不是输错了,5开头的就直接退出去刷会短视频,等半小时再回来。 上周我再点那家卤味的时候,盯着加载的小圆圈转了三秒,页面终于跳出来,鸭头、鸭翅、卤藕片都在购物车里摆着,我特意凑到屏幕跟前看了看,地址栏旁边的小锁标旁边,藏着的响应状态就是200。 那天的卤味特别辣。 我边擦汗边想,早知道当初第一次遇到502的时候,就不该折腾十分钟重启路由器,直接点杯冰可乐等会再来就好了。