請求轉發和重定向的區別

1、重定向N次,響應N+1次,路徑會改變;請求轉發N次響應1次,路徑不會變
2、重定向效率比較低,因爲嚴重依賴網絡環境;請求轉發效率比較高,因爲不依賴網絡環境
3、重定向使用的是response對象,使用客戶端路徑;請求轉發使用request對象,使用服務端路徑
4、重定向可以跳轉本項目或外網資源;請求轉發只能跳本項目內部資源
5、重定向不可以訪問web-info下的資源;請求轉發可以訪問
6、重定向post/get –>get ; 請求轉發post –>post ,get–>get
7、重定向只有產生響應後,依賴瀏覽器才能完成資源的跳轉,不是強制的跳轉;請求轉發是強制跳轉的方式
8、重定向不能使用request作用域,請求轉發可以使用request作用域
9、執行重定向代碼的servlet,寫響應體的權限是關閉的,把流close;執行請求轉發代碼的sevlet,寫響應體的操作不會被進行刷新的,如果強制進行刷新,請求轉發失敗
10、重定向無法將這個資源的的行,頭,體信息傳遞給另一個資源;請求轉發把request裏面的行頭體以及request域對象都進行傳遞

共識:只要某個servlet執行了請求轉發或者重定向,這個servlet就不要寫操作響應體代碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章