HTTP狀態碼: 301/302/303/307

對於30一、302的location中包含的重定向url,若是請求method不是GET或者HEAD,那麼瀏覽器是禁止自動重定向的,除非獲得用戶的確認,由於POST等請求是非冥等的(也就是再次請求時服務器的資源可能已經發生了變化)html

雖然rfc明確了上述的規定,可是不少的瀏覽器不遵照這條規定,不管原來的請求方法是什麼都會自動用GET方法重定向到location指定的url。就是說現存的不少瀏覽器在遇到POST請求返回30一、302狀態碼的時候自動用GET請求location中的url,無需用戶確認。 瀏覽器

HTTP 1.1中新增了30三、307狀態碼,用來明確服務器期待客戶端進行何種反應。 服務器

303狀態碼其實就是上面30一、302狀態碼的」不合法」動做,指示客戶端能夠自動用GET方法重定向請求location中的url,無需用戶確認。也就是把前面30一、302狀態碼的處理動做」合法化」了。 url

307狀態碼就是30一、302本來須要遵照的規定,除GET、HEAD方法外,其餘的請求方法必須等客戶確認才能跳轉。 .net

30三、307其實就是把原來30一、302不」合法」的處理動做給」合法化」,由於發現你們都不太遵照,因此乾脆就增長一條規定。htm

轉載:
http://m.blog.csdn.net/articl...
http://www.cnblogs.com/cswuyg...blog

相關文章
相關標籤/搜索