1. 程式人生 > >轉發與重定向的區別

轉發與重定向的區別

區別一:
  重定向時瀏覽器上的網址改變
  轉發是瀏覽器上的網址不變
區別二:
  重定向實際上產生了兩次請求
轉發只有一次請求
重定向:
  傳送請求 –>伺服器執行–>響應請求,返回給瀏覽器一個新的地址與響應碼–>瀏覽器根據響應碼,判定該響應為重定向,自動傳送一個新的請求給伺服器,請求地址為之前返回的地址–>伺服器執行–>響應請求給瀏覽器
轉發:
  傳送請求 –>伺服器執行–>進行請求的重新設定,例如通過request.setAttribute(name,value)–>根據轉發的地址,獲取該地址的網頁–>響應請求給瀏覽器
區別三:
  重定向時的網址可以是任何網址
  轉發的網址必須是本站點的網址
詳解:
  重定向:以前的request中存放的變數全部失效,並進入一個新的request作用域。
轉發:以前的request中存放的變數不會失效,就像把兩個頁面拼到了一起。