回答
我相信對於這種情況,HTTP 303可能是最合適的狀態碼,儘管它可能與預先HTTP 1.1客戶端不兼容。
的HTTP 303狀態代碼狀態(注:我已經加粗,我覺得是最重要的部分):對請求的響應可以根據不同的URI下找到 並且應該使用GET方法對資源進行檢索。此方法主要用於允許POST激活的腳本的輸出將用戶代理重定向到選定的資源。 新的URI不是最初請求的資源的替代參考。 303響應絕不能被緩存,但對第二個(重定向)請求的響應可能是可緩存的。
如果請求者有一個URI用於允許它們在沒有重定向的情況下結束相同的地方,那麼303有意義(as sjstrutt answered),因爲它們應該使用新位置的URI。如果不是的話,302對我來說是有意義的,因爲他們應該繼續爲將來的請求使用請求URI,因爲那樣你會將它們重定向到缺少可以請求的URI的位置。
繼承人什麼w3.org說,大約302狀態碼:
10.3.3 302發現
請求的資源暫時位於不同URI所在。 由於重定向有時可能會發生變化,因此客戶端應該繼續使用Request-URI作爲將來的請求。該響應爲 只有在緩存控制或Expires報頭 字段指示的情況下才可緩存。
臨時URI應該由 響應中的位置字段給出。除非請求方法是HEAD,否則 響應的實體應該包含一個超文本鏈接,其中包含超鏈接到新URI的超鏈接。
如果302個狀態代碼是響應於比 GET或HEAD其他的請求接收的時,用戶代理不必自動重定向 請求,除非它可以由用戶來確認,因爲這可能 改變下的條件該請求已經發出。
...
重點煤礦。另外:CodeIgniter的redirect()
函數默認爲302,但提到301可能用於搜索引擎重定向。很明顯,這是他們的決定,但我想我會把它放到組合中,因爲它是一個廣泛使用的Web框架,我認爲他們已經考慮了一些問題。
- 1. 基於位置的WIldcard重定向
- 2. 基於IP位置的PHP重定向
- 3. 使用asihttprequest獲取基於http狀態代碼的數據
- 4. 使用MockMvc測試重定向URL的HTTP狀態代碼
- 5. 用於功能重定向的HTTP狀態
- 6. 語言重定向的HTTP狀態代碼
- 7. 基於當前用戶的地理位置的重定向
- 8. 使用.htaccess的基於位置的重定向
- 9. 捕獲HTTP狀態300用於重定向下載鏈接
- 10. 基於智能重定向的位置:返回符號指向
- 11. 設置http狀態代碼
- 12. 基於異常類型處理異常/ HTTP狀態代碼
- 13. 301重定向基於用戶的位置?
- 14. 在編寫基於位置的狀態時外包地理編碼的位置
- 15. 基於退出狀態的make和shell重定向
- 16. 基於設置的cookie重定向
- 17. 基於Java服務器的Web應用程序中的HTTP狀態代碼
- 18. 正在確定基於類型檢查代碼的狀態嗎?
- 19. 得到一個HTTP狀態代碼重定向
- 20. Django重定向狀態代碼錯誤
- 21. 如何使用AngularJs重新指向基於標誌的狀態?
- 22. 用於HTTP 503狀態代碼的ASP.NET MVC OutputCache
- 23. 用於關聯資源的HTTP狀態代碼
- 24. 無法接收用於CORS的http狀態代碼
- 25. 哪個Http重定向要使用的狀態碼?
- 26. 基於狀態
- 27. 如何重定向到基於位置服務的iOS
- 28. 基於頁面標題/位置的重定向
- 29. 基於地理位置首次訪問時重定向用戶
- 30. 基於IP位置使用codehelper.io的顯示狀態縮寫
實際上,您應該使用粗體顯示文本的相反部分:「此方法主要用於允許POST激活的腳本的輸出將用戶代理重定向到選定的資源「。 – Gumbo