請求重定向和請求轉發的區別
重定向和轉發都可以讓瀏覽器獲得另外一個URL所指向的資源,但兩者的內部執行機制有著很大的區別。
1) 轉發只能將請求轉發給同一個Web應用中的元件;而重定向不僅可以重定向到當前應用程式的其他資源,還可以重定向到同一個站點的其他應用程式中的資源,甚至可以通過使用絕對URL重定向到其他站點的資源。
2) 重定向重定向的訪問結束後,瀏覽器位址列中顯示的URL會發生改變,由初始的URL地址變成重定向的目標URL;而呼叫重定向方法的請求轉發過程結束後,瀏覽器位址列保持初始的URL地址不變。
3) 重定向對瀏覽器的請求直接做出響應,響應結果就是告訴瀏覽器去重新發出對另外一個URL的訪問請求。
轉發是在伺服器端內部將請求轉發給另外一個資源,瀏覽器只知道發出了請求並得到了響應結果,並不知道在伺服器內部發生了轉發行為。
4) 轉發的呼叫者和被呼叫者之間共享相同的request物件和response物件,它們屬於同一個訪問請求和響應過程。而重定向的呼叫者和被呼叫者使用各自的request和response物件,他們屬於兩個獨立的訪問請求和響應過程。
5) 無論是重定向方法還是轉發方法,在呼叫它們之前,都不能有內容已經被實際輸出到了客戶端。如果緩衝區中已經有了一些內容,這些內容將被從緩衝區中清楚。
相關文章
- 請求轉發與URL重定向
- javaWeb03-請求轉發和請求重定向【包含編碼格式與路徑問題】JavaWeb
- get請求和post請求的區別
- http請求之get和post的區別HTTP
- get和post請求的區別(面試)面試
- jmeter學習指南之HTTP請求中自動重定向和跟隨重定向的區別JMeterHTTP
- nginx 中配置請求重定向Nginx
- get與post的請求區別
- POST與GET請求區別
- http請求中get和post方法的區別HTTP
- HTTP請求中 request payload 和 formData 區別?HTTPORM
- 如何根據介面請求型別和請求方法,自動執行對應請求型別
- jQuery的AJAX請求中contentType和dataType的區別jQuery
- GET和POST兩種基本請求方法的區別
- ajax 請求的時候 get 和 post 方式的區別?
- 請求OpenFeign的GET請求時,請求為何失敗?
- SpringMVC中如何傳送GET請求、POST請求、PUT請求、DELETE請求。SpringMVCdelete
- POSTMAN HTTP請求的四種方式區別PostmanHTTP
- 使用MITMProxy轉發請求到本地、儲存鑑權給本地請求MIT
- 淺談HTTP中GET和POST請求方式的區別HTTP
- Linux幾種轉發請求方案Linux
- centos上nginx轉發tcp請求CentOSNginxTCP
- 原始碼分析Gateway請求轉發原始碼Gateway
- 有趣的請求引數/請求頭
- 瀏覽器如何將你的http請求轉為https請求?瀏覽器HTTP
- 詳解nginx的請求限制(連線限制和請求限制)Nginx
- 轉發和重定向的區別?
- Http請求相關(轉)HTTP
- Http 請求 header 大小寫有區別嗎?HTTPHeader
- .NET Core如何進行請求轉發?
- apisix~按域名進行請求轉發API
- ajax中設定請求頭和自定義請求頭
- mock 請求分發Mock
- 大請求、請求超時問題
- 求助:curl post請求被返回了 302 重定向
- 都2020年了,還理不清GET請求和POST請求區別?
- flask如何請求別的網站Flask網站
- 型別安全的 Go HTTP 請求型別GoHTTP
- HTTP請求中的Form Data與Request Payload的區別HTTPORM