01-重定向和轉發的區別【ZeyFra】

一、啥是重定向(Redirect)?啥是轉發(Forward)?

【重定向】web

客戶向服務器發送請求後,服務器處理完返回消息給客戶端告知需再發送一次固定內容的請求,客戶端便再次發送了一個請求從而跳轉至新頁面服務器

【轉發】spa

客戶端向服務器發送請求後,服務器處理完以後把以前請求所攜帶的傳輸信息(在JavaWeb中爲request和response對象)一同轉發至下一個組件或網頁對象

二、有什麼區別?

一、地址欄不一樣(表面)

  • 轉發:地址欄不變,並不會顯示出所轉向的地址blog

  • 重定向:地址欄改變,顯示轉向以後的地址資源

二、「請求 - 響應」 的次數和行爲對象不一樣

  • 轉發:整個過程只有一次,且屬於服務器的行爲,由服務器區發出請求,客戶端並不知曉,因此客戶端遊覽器中是不會顯示出轉向的地址it

  • 重定向:整個過程至少涉及兩次「請求 - 響應」 ,且屬於客戶端行爲,是服務器告訴客戶端須要轉向特定的地址,而後客戶端再本身去請求轉向地址,所以是會顯示出轉向的地址class

三、速度不一樣

  • 轉發:轉發是在同一臺服務器上完成,速度較快request

  • 重定向:重定向須要通過數次客戶端,在多臺不一樣的服務器上完成,速度較慢請求

四、所攜帶的信息處理不一樣

  • 轉發:不會丟失所攜帶的信息

  • 重定向:會丟失所攜帶的信息

三、如何選擇?

一、轉發速度快

二、轉發只能訪問當前的web應用程序,當須要訪問別的web應用程序上的資源的時候便只能使用重定向

相關文章
相關標籤/搜索