1. 程式人生 > >HTTP中請求轉發和重定向的區別

HTTP中請求轉發和重定向的區別

1.jsp中
轉發
重定向:<%response.sendRedirect(“new.jsp”);//重定向到new.jsp%>

2.servlet中
request.getRequestDispatcher(“new.jsp”).forward(request, response);//轉發到new.jsp
response.sendRedirect(“new.jsp”);//重定向到new.jsp

3.轉發是伺服器行為,重定向是客戶端行為
轉發:客戶瀏覽器路徑欄顯示的仍然是其第一次訪問的路徑,也就是說客戶是感覺不到伺服器做了轉發的。轉發行為是瀏覽器只做了一次訪問請求。

轉發在伺服器端完成的;重定向是在客戶端完成的
轉發的速度快;重定向速度慢
轉發的是同一次請求;重定向是兩次不同請求
轉發不會執行轉發後的程式碼;重定向會執行重定向之後的程式碼
轉發位址列沒有變化;重定向位址列有變化
轉發必須是在同一臺伺服器下完成;重定向可以在不同的伺服器下完成