前言:
在學習springMVC的過程中,加深了對轉發和重定向的了解,此篇部落格來總結一下這兩個概念,在今後的學習過程中更好的了解.
核心:
概念
轉發:
浏覽器發出一次請求,元件1處理後,交給元件2繼續處理,這樣的過程稱為轉發.
重定向:
浏覽器發出一次請求,元件向浏覽器發回一個重定向的響應,浏覽器收到響應後繼續送出請求,這樣的過程稱為重定向.
差別
從這兩個定義來看,我們能看出了一點小差別,下面咱們來總結一下二者的不同:
1.從請求次數來看:
轉發是一次請求一次響應,重定向是兩次請求兩次響應.
2.從位址欄變化來看:
轉發時位址欄不會發生改變,重定向位址欄會發生改變
3.從負責主體來看:
轉發是服務端行為,重定向是用戶端行為
4.從效率來看:
轉發的效率比重定向的效率高
5.從傳遞範圍來看:
轉發隻能轉發給本項目的其他資源,重定向不僅可以重定向本項目
6.從共享方面來看:
轉發可以實作頁面共享,重定向不能共享資料.
實作過程
轉發:
使用者請求--伺服器--元件---伺服器--使用者
重定向
使用者請求--伺服器--元件--伺服器--使用者--新的請求
關鍵字
轉發:forward