PHP Header有什么用?

时间:2014-04-25 16:24:55

标签: php http http-headers

我已经阅读了一个教程,在该教程中他们创建了一个错误函数 当函数被调用时,它运行:

<?php
    header('HTTP/1.0 404 Not Found');
    include('errorpage.php');
    exit();
?> 

但那有什么用呢?为什么不能使用header('Location: errorpage.php')或跳过header('HTTP/1.0 404 Not Found')部分?

1 个答案:

答案 0 :(得分:1)

如果你使用header('Location: errorpage.php'),那么你说“你想要的文件可以在这里找到”。这是一个谎言。

如果您不包含header('HTTP/1.0 404 Not Found'),那么您说“好了,这是您要求的文档”,然后显示错误消息。这是一个谎言。

如果错误页面是为了尝试从浏览器运行JavaScript,它将尝试将HTML作为JS执行并抛出错误。

如果客户端是搜索引擎,它会将错误页面编入索引,而不是将链接视为已损坏。这会在搜索中给你带来不好的结果。

如果客户端是下载工具,它会将文档下载为文件。如果它以递归方式进行,它可能会最终跟随服务器上错误页面的大量链接,并在占用大量带宽的同时填满用户的硬盘。

等等。

简而言之,如果您没有告诉客户这是一个错误,那么它会将其视为内容。