[三分鐘解密] 網站是如何讓瀏覽器知道網頁現在狀態的呢?就是透過 HTTP Status 了!

網頁狀態碼( HTTP Status Code )可以用數字表示當前網頁 (Web) 的狀態
Photo by Miguel Á. Padriñán on Pexels.com – 網頁狀態碼可以用數字表示當前網頁的狀態

簡介

我們有時在瀏覽網頁的時後會看到頁面顯示 404 、 500 之類的數字或者奇怪的英文,這個其實就是網站在跟瀏覽器說當前要瀏覽的頁面是什麼「狀態」。

這個狀態的原名叫做 HTTP Status ,而那些數字會被稱為 HTTP Status Code (狀態碼)。

狀態碼的數字範圍有分 100 / 200 / 300 / 400 / 500 等五個區間,而 100 並不常見我們就不談這件事。

有哪些狀態碼呢

各個範圍代表的定義不太一樣,像是

  • 200: 與「執行成功」有關
  • 300: 與「頁面轉向」有關
  • 400: 與「瀏覽錯誤」有關
  • 500: 與「主機錯誤」有關

我相信大家都很常見到 404 或者 500 吧,常見的錯誤訊息如下

狀態碼狀態名狀態說明
200OK操作完成
201Created送出的表單已成功建立
301Moved Permanently這個網址應該永遠改去新的頁面
302Moved Temporarily網址暫時轉到別的頁面
403Forbidden禁止繼續操作
404Not Found找不到你要看的網頁哦
500Internal Service Error可能是程式有寫錯有問題
503Service Unavailable目前伺服器無法繼續服務
表: 常見的狀態列表

狀態碼可以幹什麼呢

狀態碼是由伺服器回傳給瀏覽器的時候一起回傳的一組數字,可以讓瀏覽器判斷這個網頁的呈現是否是正常的、是否需要轉向等等。

而當我們一般在開發網站或者開發 API 的時候可以用這個方式讓客戶端(瀏覽器或者App 之類)得知這一個要求(譬如要取得網頁或者送出表單結果)是否有成功,還是有特殊狀況。

都市傳說

那為什麼 404 是被定義成找不到網頁呢? 聽說網路發明者 Tm Berners-Lee 他當初的辦公室編號是 404 ,而當初因為他太忙很多人要找他找不到,就直接聯繫到 Not found 這個意思上了。

後來在設計網頁狀態碼的時候就把 404 設計成「找不到網頁」了。

可是聽說有人出來闢謠說 404 只是「剛好」被設定為找不到網頁這樣而已,至於真相如何就看大家自己如何解讀囉~

參考資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *