共找到2條詞條名為302的結果 展開

302

HTTP協議中的狀態碼

302 Found,原始描述短語為 Moved Temporarily ,是HTTP協議中的一個狀態碼(Status Code)。

簡介


可以簡單的理解為該資源原本確實存在,但已經被臨時改變了位置;換而言之,就是請求的資源暫時駐留在不同的URI下,故而除非特別指定了緩存頭部指示,該狀態碼不可緩存。
對於伺服器,通常會給瀏覽器發送HTTP Location頭部來重定向到新的新位置。

定義


根據定義,該響應代碼的使用場景是,請求的資源暫時駐留在不同的URI下。
其特徵被定義為:
● 客戶端收到的新的 URI,不是原始請求資源的替代引用。
● 只有當伺服器發出 Cache-Control 或 Expires 頭欄位進行指示,此響應才能被緩存,否則不能被緩存。
● 臨時URI應該由響應頭部中的 Location 欄位給出。
● 除非請求方法是 HEAD ,否則響應的實體應該包含一個帶有超鏈接到新的URI的短 HTML 註釋。
● 如果在除 GET 或 HEAD 兩種請求方法之外的請求時,接收到302狀態碼,客戶端不得自動重定向請求,除非用戶可以確認;否則可能會更改發出請求的條件。
● 如果一個客戶端有鏈接編輯能力,其應當把所有的引用鏈接重定向到新的URL上。
● 重定向到新地址時,客戶端必須使用GET方法請求新地址。

客戶端實現問題


雖然RFC 1945RFC 2068兩個規範不允許客戶端在重定向時改變請求的方法,但是很多現存的瀏覽器將302響應視作為303響應,並且徑自使用 GET 方式訪問在 Location 中規定的 URI,而無視原先請求的方法,這是不規範的實現。
因此狀態碼303和307被添加了進來,用以明確伺服器期待客戶端進行何種反應。

有關條目


● .htaccess
● HTTP狀態碼
● URL重寫
● HTTP 301
● HTTP 303
● HTTP 307
● HTTP Location