HTTP 303
外觀
HTTP/HTTPS |
---|
版本 |
請求方法 |
報文主體 |
頭欄位 |
狀態碼 |
相關主題 |
HTTP 303 See Other ,自 RFC 2616(HTTP 1.1)起,用於在收到HTTP POST請求之後,進行URL重定向的操作。[1]
引入
[編輯]雖然RFC 1945和RFC 2068規範不允許客戶端在重定向時改變請求的方法,但是很多現存的瀏覽器在收到302響應時,直接使用GET方式訪問在Location中規定的URI,而無視原先請求的方法。[2]因此狀態碼303被添加了進來,用以明確服務器期待客戶端進行何種反應。[3]
定義
[編輯]根據RFC 2616定義:
- 此方法主要用於允許在收到POST方法後響應時,將用戶重定向到所選資源。
- 如果一個客戶端有鏈接編輯能力,其應當把所有的引用鏈接重定向到新的URL上。
- 重定向到新地址時,客戶端必須使用GET方法請求新地址。
- 客戶端收到的新的URI,不是原始請求資源的替代引用。
- 該響應碼不應被客戶端緩存,惟重定向後的頁面不受此限。
- 除非請求方法是 HEAD, 否則響應實體應該包含一個小型的超文本,標註一個超鏈接到新的URL。
示例
[編輯]客戶端請求:
POST /blog/comment HTTP/1.1
Host: www.example.com
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
服務器回應:
HTTP/1.1 303 See Other
Location: http://www.example.org/view-comment.asp
參見
[編輯]參考文獻
[編輯]- ^ W3C: 10 Status Code Definitions. [2016-01-21]. (原始內容存檔於2010-03-16).
- ^ Reference of method redirect_to in Ruby Web Framework "Ruby on Rails". It states: The redirection happens as a "302 Moved" header unless otherwise specified.. [June 30, 2012]. (原始內容存檔於2012-07-05).
- ^ Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 6.4. IETF. [June 12, 2014]. (原始內容存檔於2017-05-25).
外部連結
[編輯]- HTTP/1.1 Error codes in RFC 2616(頁面存檔備份,存於網際網路檔案館) (英文)
- RFC 1945 (HTTP 1.0)
- RFC 7231 (HTTP 1.1)