使用 header() 调用(用于选择目录)是否会导致 2 次往返服务器


Does using header() call, used to select directories, cause 2 roundtrips to the server?

R:1

<?php
    $uri = 'http://' . $_SERVER['HTTP_HOST'];
    $path = '/dev/source/class.ControlEntry.php';
    $string = $uri . $path;
    header('Location: '. $string );

我是否真的访问了我的服务器,然后重定向回客户端,然后调用新位置。 这是 2 次往返访问位于上面的 uri 和路径的我的站点吗?

每 php.net header() 发送一个原始的 http 标头。

Xampp 使用与此类似的代码来指定源代码所在的目录。

但是,我正在考虑仅使用包含,正如这篇相关 SO 帖子中确定的最佳实践一样。

是的,发送"位置"标头会导致浏览器向该位置发出第二个请求。

有很多方法可以避免这种情况,包括使用您提到的包含。 然而,重定向的优点是浏览器在地址栏中显示所需的URL,而不是通过向他们发送数据来隐藏他们浏览到"错误"位置的事实。

家庭互联网连接的典型往返时间远低于 1 秒,因此如果您只执行此操作一次,用户不太可能注意到。 也就是说,当人们的注意力短暂并且只需点击几下即可访问 2000 万个猫视频时,每一毫秒都很重要。