HTTP 狀態碼 sc-status
HTTP 狀態碼 大致分成 5 類 (粗體表示),完整的狀態碼概述如下: 1xx - 參考資訊 (Informational) 這些狀態碼代表主機先暫時回應用戶端一個狀態,所以在接收一般的回應之前,用戶端應準備接收一個或多個 1xx 的回應。我以前在寫 ASP 的時候比較有看到 IIS 使用到這些狀態碼回應,在 Apache 的環境我還未曾遇到過。 100 - 繼續。 101 - 切換通訊協定。 2xx - 成功 (OK) 這類的狀態碼表示伺服器成功接收到用戶端要求、理解用戶端要求、以及接受用戶端要求。 200 - 確定。 用戶端要求成功。 201 - 已建立。 202 - 已接受。 203 - 非授權資訊。 204 - 無內容。 205 - 重設內容。 206 - 部分內容。 207 - 多重狀態 ( WebDAV ) -- 這好像只有在 IIS 中才有,HTTP/1.1 並沒有定義這個狀態。這狀態會出現在可以包含多個不同回應代碼 (視子要求數量而定) 的 XML 訊息之前。 3xx - 重新導向 (Redirection) 用戶端瀏覽器必須採取更多動作才能完成要求。例如:瀏覽器可能必須重新發出 HTTP Request 要求伺服器上的不同頁面。 301 - 要求的網頁已經永久改變網址。此狀態要求用戶端未來在連結此網址時應該導向至指定的 URI。 302 - 物件已移動,並告知移動過去的網址。針對表單架構驗證,這通常表示為「物件已移動」。 要求的資源暫時存於不同的 URI 底下。 由於重新導向可能偶而改變,用戶端應繼續使用要求 URI 來執行未來的要求。 除非以 Cache-Control 或 Expires 標頭欄位表示,此回應才能夠快取。 ASP.NET 預設的 Response.Redirect 方法 ,就是以 302 Found 做回應。 303 - 通知 Client 連到另一個網址去查看上傳表單的結果(POST 變成 GET),當使用程式作網頁轉向時,會回應此訊息。 在 ASP.NET 中要輸出 HTTP 303 轉向的程式碼如下: Response.StatusCode = 303; Response.RedirectLocation = "/PageB.aspx" ; 3...