HTTP 狀態碼指出一個 HTTP 要求是否已經被完成,回應分為五類:訊息化回應、成功回應、重導向、客戶端錯誤及伺服器端錯誤。
若不瞭解這些代碼的意義 (或根本不知道有 HTTP 狀態碼這玩意),可能很容易就會遇到瓶頸,尤其是在除錯的時候更加明顯。HTTP 狀態碼可能表示要求成功與否。HTTP 狀態碼可能也會顯示要求不成功的確切原因。
HTTP 狀態碼指的是從伺服器端回應的狀態,完整的狀態碼定義可以參考 Hypertext Transfer Protocol -- HTTP/1.1 的 6.1.1 Status Code and Reason Phrase 章節,裡面有完整且詳盡的說明。
HTTP 狀態碼大致分成 5 類,概述如下:
■ 1xx - 參考資訊 (Informational):這些狀態碼代表主機先暫時回應用戶端一個狀態,所以在接收一般的回應之前,用戶端應準備接收一個或多個 1xx 的回應。
‧ 100 - 繼續。
‧ 101 - 切換通訊協定。
■ 2xx - 成功 (OK):這類的狀態碼表示伺服器成功接收到用戶端要求、理解用戶端要求、以及接受用戶端要求。
‧ 200 - 確定。 用戶端要求成功。
‧ 201 - 已建立。
‧ 202 - 已接受。
‧ 203 - 非授權資訊。
‧ 204 - 無內容。
‧ 205 - 重設內容。
‧ 206 - 部分內容。
‧ 207 - 多重狀態 (WebDAV)。
■ 3xx - 重新導向 (Redirection):用戶端瀏覽器必須採取更多動作才能完成要求。例如:瀏覽器可能必須重新發出 HTTP Request 要求伺服器上的不同頁面。
‧ 301 - 要求的網頁已經永久改變網址。
‧ 302 - 物件已移動,並告知移動過去的網址。
‧ 303 - 當使用程式作網頁轉向時,會回應此訊息。
‧ 304 - 未修改。
‧ 305 - 要求的網頁必須透過 Server 指定的 proxy 才能觀看 ( 透過 Location 標頭 )
‧ 306 - (未使用) 此代碼僅用來為了向前相容而已。
‧ 307 - 暫時重新導向。要求的網頁只是「暫時」改變網址而已。
■ 4xx - 用戶端錯誤 (Client Error):這代表錯誤發生,且這錯誤的發生的原因跟「用戶端」有關。例如:用戶端可能連結到不存在的頁面、用戶端的權限不足、或可能未提供有效的驗證資訊(輸入的帳號、密碼錯誤)。下次看到 4xx 的回應千萬不要傻傻的一直查程式哪裡寫錯誤了(不過也有可能是程式造成的)。
‧ 400 - 錯誤的要求。
‧ 401 - 拒絕存取。
‧ 403 - 禁止使用。
‧ 404 - 找不到。
‧ 405 - 用來存取這個頁面的 HTTP 動詞不受允許 (方法不受允許)。
‧ 406 - 用戶端瀏覽器不接受要求頁面的 MIME 類型。
‧ 407 - 需要 Proxy 驗證。
‧ 412 - 指定條件失敗。
‧ 413 - 要求的實體太大。
‧ 414 - 要求 URI 太長。
‧ 415 - 不支援的媒體類型。
‧ 416 - 無法滿足要求的範圍。
‧ 417 - 執行失敗。
‧ 423 - 鎖定錯誤。
5xx - 伺服器錯誤 (Server Error):這代表錯誤發生,且這錯誤發生的原因跟「伺服器」有關。伺服器因為發生錯誤或例外狀況(Exception)而無法完成要求(Request)時,就會回應 5xx 的錯誤,且這肯定跟伺服器有關。
‧ 500 - 內部伺服器錯誤。
‧ 501 – 標頭值指定未實作的設定。
‧ 502 - Web 伺服器在作為閘道或 Proxy 時收到無效的回應。
‧ 503 - 服務無法使用。
‧ 504 - 閘道逾時。
‧ 505 - 不支援的 HTTP 版本。
如果使用 Google 代碼管理工具設定 Google Analytics (分析)的 HTTP 錯誤狀態碼事件追蹤,請採取下列步驟:
① 在「容器」畫面中按一下 [新增代碼],然後選取代碼類型為自訂 HTML 代碼,並指定代碼啟用時機的觸發條件為所有網頁時,點擊建立標籤,設定如下:
② 要追蹤 HTTP 錯誤代碼事件,指定追蹤自訂的 HTTP 錯誤事件名稱。
③ 在「容器」畫面中按一下 [新增代碼],然後選取代碼類型為 Google Analytics ,並指定代碼啟用時機的觸發條件為當 HTTP 錯誤事件發生時,點擊建立標籤,設定如下:
④ 在所需版本的旁邊選取 [動作] → [預覽]。啟用預覽模式後,只要前往導入容器的網站,您就會在瀏覽器底部看到主控台視窗,檢查 HTTP 錯誤狀態碼有否觸發,頁面正常就不會觸發 Google Analytics (分析) HTTP 錯誤事件追蹤。
⑤ 連結到一個不存在的頁面,確認 Google Analytics (分析) HTTP 錯誤事件有被觸發。
⑥ 確認 Google Analytics (分析)網站分析報表的即時事件該 HTTP 錯誤狀態碼事件有記錄下來。
⑦ 按一下上方導覽列的 [版本]。接著按一下表格中所需的版本,然後按一下 [動作] → [發佈]。Google 代碼管理工具會保留發佈紀錄,方便您查看版本生效的時間及發佈者。
完成以上的步驟即可。