网络.转发和重定向之间的一些细微差别



我开始学习网络编程了。我读过forwardredirect的区别。但仍有两个问题没有完全理解:

  1. 在哪种情况下进程访问到服务器端,在哪种情况下没有服务器端?
  2. URL什么时候改变,什么时候不改变?当重定向时,URL是否总是改变 ?当转发时,URL是否永远不会改变 ?
如果您能给出明确的答案和解释,我将非常感激!提前感谢!

它们不是硬性条款。

重定向通常意味着HTTP重定向,这是一个HTTP响应,指示客户端向不同的URI发出新的HTTP请求。

内部重定向是一种常见的重定向描述,它由web服务器/web应用程序/等内部处理,不会将浏览器发送到不同的URI。

Forward并不是一个特别常见的术语,但是当我遇到它时,通常是指内部重定向的一种形式。

Forward发生在服务器端,服务器将相同的请求转发给另一个资源。而redirect发生在浏览器端,服务器向浏览器发送http状态码302,因此浏览器发出新的请求。

重定向需要从浏览器到服务器再往返一次。

另一个区别是重定向反映在浏览器的地址栏forward没有