繁体   English   中英

标头('location:url')重定向在哪里发生?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM