[Day 15]中场休息-HTTP Status Code的那些故事

好的,原本是要来继续写django的
但碍於写这篇的当下本人身体微恙
因此这篇我们就先来做个中场休息,聊聊那些HTTP Status Code背後的东东
咱们累狗

君自HTTP来,应知HTTP事

说到前後端开发,就不得不提HTTP Status Code
看懂他不仅能帮你了解到底这个服务器在该啥东东
也能让你厘清到底是尼的问题还是user的问题

好啦,那我们就来开始讲解吧
HTTP Status Code大概可以分成五大类
简单来说大概是这样

对,就是这麽直觉
那当然为了灌...不是...位了能让读者更加了解这些东东
我们会分成五大部分讲解

1XX - 请在黄线外等候

通常看到1XX的code代表你家服务器已经收到request了
只是需要再额外向另一台服务器要资源或事等自身的东东处理完的临时code
不过这个比较少见,所以就先不多讲

2XX - 朕知道了

2XX的code则代表服务器收到了也接收到了请求
然後回传了一个2XX的code代表我收到了,感谢您的来信
常见的2XX有:
200 - 就是服务器收到了,然後正常执行
恩,就这样

3XX - 你别再来了

3XX的code代表服务器收到了request,但是处理这个request的东东已经搬去别的地方了
通常收到3XX会给你某个位址,要你去那个地方找你要的东东
不过我们开发中也比较不会碰到3XX,所以这个地方也先跳过

4XX - 你爆炸了

对,为什麽前面3个分类都用中标题,到4XX就用大标题的
因为接下来的4XX跟5XX一定是你开发时最常见的两个分类
4XX简单来说就是你使用者可能在那边丢一堆莫名其妙的东西
或是找一个根本没有的位址
这时你就会收到一个精美的4XX
4XX这个东西就比较常见了,大家比较常碰到的4XX如下

400 - 不是万X牌我可是不吃的喔

400的原始讯息是Bad Request
代表你送来的request想要对服务器做坏坏的事情
可是服务器早已看穿了这一切
直接拒绝request,并且送一个400出来
如果是在开发时收到400代表你送的request有问题
需要检查一下是否有栏位漏了或是填入了不合理的值

401 - 奶奶你的指甲怎麽这麽长

401的原始讯息是Unauthorized
代表你送来的request应该要包含"你是谁"
但是服务器却不知道你是谁
此时server就会直接拒绝request,并且送一个401出来

403 - 非工作人员禁止进入

403的原始讯息是Forbidden
代表你送来的request看起来是甚麽都有
但不好意思,你的request并不是本公司的request
所以server就会送你一个无情的403
代表这个request只有特定身分才能接受

404 - 您拨的电话号码是空号,请查明後再拨

相信说到404应该一堆人都有遇过
但具体内容是啥呢
简单来说就是
你的request我找不到,我也不知道该怎麽跟你解释我找不到,反正我就是找不到
通常404会发生的情况是
输入错网址
对,就是这麽单纯
不过有些404也可能代表以前这里有资源,现在因为使用者或官方删除就变成了空号
所以遇到404时也记得检查一下到底是不是url输入错误
毕竟人有失蹄马有失足,不过这个问题倒也不大,修正就好,无伤大雅(单压x1)

5XX - 我爆炸了

5XX对於後端开发来说算是最重要,也是後端最害怕收到的东东
因为5XX基本上代表你家服务器有问题
剩下的就请你跟你的头头解释吧

常见的5XX有以下几个

500 - server出大事啦

500的原始讯息是Internal Server Error
通常收到这个代表你家server出bug了
通常这个问题去查一下log或是console就会显示出你的code哪里有问题然後Debug就好
啊如果没有显示就...自求多福了

503 - 您拨的电话忙线中,请稍後再拨

503的原始讯息是Service Unavailable
跟500不一样的是这个问题可能不是server有bug
而是server目前由於其他原因暂时停止运作
或是server目前request太多处理不了
这个问题通常万年大法,重开就好
如果重开不了,就要看一下server是不是port被关起来或是防火墙挡住

以上就是HTTP Status Code
由於今天身体有些问题,因此下一篇要讲甚麽还未知
如果身体好点了就继续我们的主线
如果还是不太行就继续讲讲其他支线
总之就下一篇再分解~


<<:  连续 30 天 玩玩看 ProtoPie - Day 11

>>:  学习历程救援事件(灾难复原实例)

Day30 赛後心得

在这30天的比赛中,不知不觉的到最後一天了,虽然中间发生了点小插曲导致没有成功,但我还是希望能照样将...

[Golang]go test指令说明-心智图总结

1. -cpu a. 用途: 模拟程序在不同CPU核心数的计算机,效能表现。 b. 用来设定测试执行...

为你自己学 Laravel - Day 29 前端生态圈

嘿~~ 各位好,我是菜市场阿龙! Youtube 频道:https://www.youtube.co...

NoSQL的格式(二)

Sort Key的用途 在建立Table的时候, 可看到有一个非必要的选项Sort Key. 在某些...

DAY12:玉山人工智慧挑战赛-中文手写字辨识(前言)

参赛契机 之前参加资策会,结训时都会做个专题啦,但因为我自己对我们组的专题挺不满意,而且对於深度学习...