http重定向问题

Geo*_*ge2 0 javascript c# asp.net redirect http

据我所知,我们可以使用两种方法来重定向http响应.

  1. 使用Java脚本window.location;
  2. 在ASP.Net中使用HttpContext.Current.Response.Redirect

从功能和最终用户的角度来看,这两种方法是否可以互换?

Ric*_*lay 5

window.location 需要javascript和浏览器在页面更改之前首先下载并呈现原始页面的内容(包括css/scripts).

Response.Redirect另一方面,使用Location标头发出302状态代码.这使浏览器立即请求下一页而不先下载/渲染原始页面.

根据您的其他问题,值得注意的是,在位置更改之前window.location能够执行其他javascript的好处.例如,同时更改另一帧的位置和当前帧.

  • 浏览器需要下载包含"window.location"javascript的页面的HTML.在这样做时,它需要下载HTML和任何相关的CSS/Javascript才能开始处理HTML/Javascript,此时它将执行window.location调用并更改URL.Response.Redirect将跳过所有这些,浏览器将只加载新页面. (2认同)
  • 如果javascript位于html的顶部(在head标签中),则没有区别(除了使用Response.Redirect需要稍长的时间).如果javascript位于html(near/body)的底部,则用户将在加载第二页之前看到原始页面出现. (2认同)