[英]Where is header('location:url') redirect takes place?
如果我有以下代码,浏览器会将其转到指定位置。
<script>window.location = "https://google.com";</script>
但是,当header('location:$url');
会发生什么header('location:$url');
用来。 浏览器是否接收标头并从客户端进行重定向?
这取决于您要如何以及何时将用户重定向到另一个页面。
如果要立即将用户重定向到另一个页面,而又看不到用户之间的任何站点,则应使用PHP标头重定向方法。
如果您拥有Javascript,并且用户的某些操作必须使他进入另一个页面,那就是您应该使用window.location的时候。
每当您看到这些“您的下载应自动开始”消息时,通常会在下载站点上使用元标记刷新。 您可以让用户加载页面,等待一段时间,然后在不使用Javascript的情况下将其重定向(例如,重定向到要下载的文件)。
浏览器将立即处理标头重定向,而在页面加载(或至少足以运行Javascript)之前,将不执行Javascript重定向。 同样,它将由Javascript引擎执行重定向,而不是浏览器本身。
通过标题执行此操作会更好。 (还是有点...)
<script>window.location = "https://google.com";</script>
这就是使用JS将用户重定向到网站的方式。 这是在客户端完成的。
header
是PHP中的一个函数,您可以根据逻辑将用户从服务器端重定向到新的url。
当您将此代码放入代码中时
<script>window.location = "https://google.com";</script>
它将被发送到客户端的浏览器,然后在DOM完全加载后将由浏览器执行并重定向到google.com。
但是当您放置header('location:$url');
到您的php代码。 服务器将发送302响应,以直接将客户端浏览器重定向到新的URL,而无需由javascript执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.