forward和redirect的區別是什麼
最佳答案 底層運作不同:redirect傳送的請求資訊又回送給客戶機,讓客戶機再轉發到另一個資源上,需要在伺服器和客戶機之間增加一次通訊。Redirect——實際是兩次HTTP請求,伺服器端在響應第一次請求的時候,讓瀏覽器再向另外一個URL發出請求,從而達到轉發的目的。
1、請求方不同:redirect是由客戶端發起的請求,而forward是服務端發起的請求。
2、瀏覽器地址表現不同:redirect是瀏覽器地址顯示被請求的url,而forward是瀏覽器地址不顯示被請求的url。
3、引數傳遞不同:redirect需要重新開始一個request,原頁面的request生命週期結束。forward另一個連線的時候。request變數是在其生命週期內的。另一個頁面也可以使用,其實質是把目標地址include。
4、底層運作不同:redirect傳送的請求資訊又回送給客戶機,讓客戶機再轉發到另一個資源上,需要在伺服器和客戶機之間增加一次通訊。forward伺服器端直接找到目標,並include過來。
5、定義不同:Forward——客戶端和瀏覽器只發出一次請求,Servlet、JSP或其它資訊資源,由第二個資訊資源響應該請求,在請求物件request中,儲存的物件對於每個資訊資源是共享的。Redirect——實際是兩次HTTP請求,伺服器端在響應第一次請求的時候,讓瀏覽器再向另外一個URL發出請求,從而達到轉發的目的。