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

时间:2017-10-17 07:09:20

标签: php http-headers

如果我有以下代码,浏览器会将其带到指定位置。

<script>window.location = "https://google.com";</script>

但是使用header('location:$url');时会发生什么。浏览器是否收到标头并从客户端进行重定向?

3 个答案:

答案 0 :(得分:4)

这取决于您希望将用户重定向到另一个页面的方式和时间。

如果您希望立即将用户重定向到另一个页面而不让他看到任何网站,则应使用PHP标头重定向方法。

如果你有一个Javascript,并且用户的某些操作必须导致他进入另一个页面,那就是你应该使用window.location。

元标记刷新通常在下载网站上使用,只要您看到这些&#34;您的下载应自动启动&#34;消息。您可以让用户加载页面,等待一段时间,然后在没有Javascript的情况下将其重定向(例如,转移到要下载的文件)。

浏览器将立即处理标题重定向,而在页面加载之前不会执行Javascript重定向(或至少足以运行Javascript)。此外,它将是Javascript引擎执行重定向而不是浏览器本身。

通过标题执行此操作会更好。 (无论如何......)

答案 1 :(得分:0)

 <script>window.location = "https://google.com";</script>

这是用户使用JS重定向到网站的方式。这是在客户端完成的。

header是PHP中的一个函数,您可以根据您的逻辑从服务器端将用户重定向到新的URL。

答案 2 :(得分:0)

将此代码放入代码时 <script>window.location = "https://google.com";</script>
它将被发送到客户端的浏览器,然后当DOM完全加载时,它将由浏览器执行并重定向到google.com

但是当你将header('location:$url');放到你的PHP代码中时。服务器将发送302响应以将客户端浏览器直接重定向到新URL,而不是由javascript执行..