response.redirect 与javascript 的 location.href 的区别 ?

来源:百度知道 编辑:UC知道 时间:2024/06/05 22:01:10
如题 谢谢!!
那我写一个登陆界面 想达到提示错误时跳转而不再读取下面的源码 ;用哪个会比较安全点呢 ?

一个是请求转向,一个是浏览器转向.

如果你请求含有response.redirect的页面时,在服务器端已经给你转向了,服务器遇到该语句时直接转向目的页面.

而location.href一般是浏览器遇到该语句时,重新向另一个地址进行请求,可见,response.redirect只是一次请求,而客户端使用location转向时要两次向服务器进行请求.

因为服务器端是不存在window等浏览器窗口的,所以location绝对不会是服务端代码,只能在客户端输出.事实上,如果在客户端中,js语句中同样也存在redirect语句,这时两者的作用一样.但机理不同,redirect只是一个转向语句,遇到该语句时,直接转向,客户端是两次请求的.而location相当于你在地址栏中输入了地址后按回车!

如果对转向没有控制的话,两者在客户端是一样的.但response.redirect往往用于服务端,而location只能用在客户端!

JavaScript: location.href="xxx"表示转向新页面,该转向是在前台进行,即就页面要先输出到前台,然后才转向新页面。

VBScript: response.redirect("xxx")也表示转向新页面。
如果语句写在ASP页面中,则在后台即转向到另一页面,最终输出到前台的是新页面。 如果写在<script language="VBScript"></script>之间则效果和Javascript中的location.href="xxx"一样,在前台进行页面转向。

location.href客户端服务器交互2次,可以读到前一个页面里request里存的值
response.redirect客户端服务器交互4次,读不到前一个页面里request里存的值

前者好像是VBScript的写法。
后者是javascript的写法。

都是跳转页面的。