在 ASP 中,重定向是指将请求重定向到另一个 URL。这通常是在处理表单提交或用户登录时使用的一种技术。然而,一个常见的问题是:
在 ASP 中,有两种方式可以进行重定向:Response.Redirect 和 Server.Transfer。Response.Redirect 是一种客户端重定向,它会向浏览器发送一个 HTTP 302 状态码,并在响应头中添加一个 Location 头,告诉浏览器要重定向到哪个 URL。而 Server.Transfer 则是一种服务器端重定向,它会将请求转发到另一个页面,但是 URL 不会改变。
对于 Response.Redirect,它不会存储路径信息。当浏览器收到重定向响应后,它会立即向新 URL 发送一个新请求,而这个新请求中并不包含任何来自原始请求的路径信息。因此,如果您在原始请求中包含了一些路径信息,那么在重定向后,这些信息将会丢失。下面是一段演示代码,它会向一个页面发送一个带有路径信息的请求,然后进行重定向:
<%
Dim path
path = "http://www.example.com/mypage.asp?param1=value1"
Response.Redirect path
%>
在这个例子中,我们将 path 设置为一个带有路径信息的 URL。当浏览器收到重定向响应后,它会向 http://www.example.com/mypage.asp 发送一个新请求,但是参数 param1=value1 将不会被包含在新请求中。
相比之下,Server.Transfer 可以存储路径信息。因为它是一种服务器端重定向,它不会向浏览器发送任何新的 HTTP 响应。相反,它会将请求转发到另一个页面,并且这个页面可以访问原始请求中的所有信息,包括路径信息。下面是一段演示代码,它会向一个页面发送一个带有路径信息的请求,然后进行服务器端重定向:
<%
Dim path
path = "http://www.example.com/mypage.asp?param1=value1"
Server.Transfer path
%>
在这个例子中,我们使用 Server.Transfer 将请求转发到 http://www.example.com/mypage.asp,并且所有的参数信息都将被保留。因此,如果您需要在重定向后访问路径信息,那么使用 Server.Transfer 可能是一个更好的选择。
综上所述,ASP 重定向可以存储路径信息,但是这取决于您使用的重定向技术。如果您使用 Response.Redirect,那么路径信息将会丢失。而如果您使用 Server.Transfer,那么路径信息将会保留。因此,在选择重定向技术时,请根据您的具体情况进行选择。