在大多数API中,标准重定向实现会执行302(确实是按定义GET)。根据您的问题历史记录,您熟悉ASP.NET,但是我还将添加Java Servlet的示例。
ASP.NET:
Response.Redirect("http://google.com");
Run Code Online (Sandbox Code Playgroud)
Servlet:
response.sendRedirect("http://google.com");
Run Code Online (Sandbox Code Playgroud)
它隐式地将响应状态设置为302,并将Location
标头设置为给定的URL。
当当前请求是POST请求并且您要使用POST重定向时,则需要307重定向。这不是标准API所提供的,但通常只需设置适当的响应状态和标头即可。
ASP.NET:
Response.Status = "307 Temporary Redirect";
Response.AddHeader("Location", "http://google.com");
Run Code Online (Sandbox Code Playgroud)
Servlet:
response.setStatus(307);
response.setHeader("Location", "http://google.com");
Run Code Online (Sandbox Code Playgroud)
请注意,这将在普通客户端上发出安全/确认警告,该警告请求最终用户进行确认以将POST数据发送到另一个位置。
归档时间: |
|
查看次数: |
8648 次 |
最近记录: |