好的,原本是要來繼續寫django的
但礙於寫這篇的當下本人身體微恙
因此這篇我們就先來做個中場休息,聊聊那些HTTP Status Code背後的東東
咱們累狗
說到前後端開發,就不得不提HTTP Status Code
看懂他不僅能幫你了解到底這個伺服器在該啥東東
也能讓你釐清到底是尼的問題還是user的問題
好啦,那我們就來開始講解吧
HTTP Status Code大概可以分成五大類
簡單來說大概是這樣
對,就是這麼直覺
那當然為了灌...不是...位了能讓讀者更加了解這些東東
我們會分成五大部分講解
通常看到1XX的code代表你家伺服器已經收到request了
只是需要再額外向另一台伺服器要資源或事等自身的東東處理完的臨時code
不過這個比較少見,所以就先不多講
2XX的code則代表伺服器收到了也接收到了請求
然後回傳了一個2XX的code代表我收到了,感謝您的來信
常見的2XX有:
200 - 就是伺服器收到了,然後正常執行
恩,就這樣
3XX的code代表伺服器收到了request,但是處理這個request的東東已經搬去別的地方了
通常收到3XX會給你某個位址,要你去那個地方找你要的東東
不過我們開發中也比較不會碰到3XX,所以這個地方也先跳過
對,為什麼前面3個分類都用中標題,到4XX就用大標題的
因為接下來的4XX跟5XX一定是你開發時最常見的兩個分類
4XX簡單來說就是你使用者可能在那邊丟一堆莫名其妙的東西
或是找一個根本沒有的位址
這時你就會收到一個精美的4XX
4XX這個東西就比較常見了,大家比較常碰到的4XX如下
400的原始訊息是Bad Request
代表你送來的request想要對伺服器做壞壞的事情
可是伺服器早已看穿了這一切
直接拒絕request,並且送一個400出來
如果是在開發時收到400代表你送的request有問題
需要檢查一下是否有欄位漏了或是填入了不合理的值
401的原始訊息是Unauthorized
代表你送來的request應該要包含"你是誰"
但是伺服器卻不知道你是誰
此時server就會直接拒絕request,並且送一個401出來
403的原始訊息是Forbidden
代表你送來的request看起來是甚麼都有
但不好意思,你的request並不是本公司的request
所以server就會送你一個無情的403
代表這個request只有特定身分才能接受
相信說到404應該一堆人都有遇過
但具體內容是啥呢
簡單來說就是
你的request我找不到,我也不知道該怎麼跟你解釋我找不到,反正我就是找不到
通常404會發生的情況是
輸入錯網址
對,就是這麼單純
不過有些404也可能代表以前這裡有資源,現在因為使用者或官方刪除就變成了空號
所以遇到404時也記得檢查一下到底是不是url輸入錯誤
畢竟人有失蹄馬有失足,不過這個問題倒也不大,修正就好,無傷大雅(單壓x1)
5XX對於後端開發來說算是最重要,也是後端最害怕收到的東東
因為5XX基本上代表你家伺服器有問題
剩下的就請你跟你的頭頭解釋吧
常見的5XX有以下幾個
500的原始訊息是Internal Server Error
通常收到這個代表你家server出bug了
通常這個問題去查一下log或是console就會顯示出你的code哪裡有問題然後Debug就好
啊如果沒有顯示就...自求多福了
503的原始訊息是Service Unavailable
跟500不一樣的是這個問題可能不是server有bug
而是server目前由於其他原因暫時停止運作
或是server目前request太多處理不了
這個問題通常萬年大法,重開就好
如果重開不了,就要看一下server是不是port被關起來或是防火牆擋住
以上就是HTTP Status Code
由於今天身體有些問題,因此下一篇要講甚麼還未知
如果身體好點了就繼續我們的主線
如果還是不太行就繼續講講其他支線
總之就下一篇再分解~