Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当我输出网页时,应该显式设置哪些HTTP头响应?_Php_Header - Fatal编程技术网

Php 当我输出网页时,应该显式设置哪些HTTP头响应?

Php 当我输出网页时,应该显式设置哪些HTTP头响应?,php,header,Php,Header,所以我刚刚了解到X-Robots-Tag,它可以设置为服务器响应头的一部分。现在我已经了解了这个特定字段,我想知道当我通过PHP输出网页时是否还有其他特定字段需要设置,但是我应该手动设置什么呢?您希望手动设置什么 重申,除了 header('X-Robots-Tag: noindex, nofollow, noarchive, nosnippet', true); …我还应该设置什么 提前谢谢 这些是Stackoverflow(本页)的标题,因此答案是,可能没有。 你不想你的网站被索引(noi

所以我刚刚了解到X-Robots-Tag,它可以设置为服务器响应头的一部分。现在我已经了解了这个特定字段,我想知道当我通过PHP输出网页时是否还有其他特定字段需要设置,但是我应该手动设置什么呢?您希望手动设置什么

重申,除了

header('X-Robots-Tag: noindex, nofollow, noarchive, nosnippet', true);
…我还应该设置什么


提前谢谢

这些是Stackoverflow(本页)的标题,因此答案是,可能没有。 你不想你的网站被索引(noindex)

这个标题对我来说很方便。即使缺少元标记,字符也能正确显示

Content-Type: text/html; charset=utf-8

您不一定需要手动设置它们中的任何一个,除非绝对必要,否则我不会发送任何响应头:大多数响应头是web服务器的作业,而不是应用程序的(给出或获取
位置
与情景缓存相关的头)

至于“X-*”标题,X意味着它们不是“官方的”,因此浏览器可能会也可能不会将它们解释为任何意思——比如,你可以在公共项目中添加任意的“X-My-App-Version”标题,以大致了解人们在哪里使用它,但除非请求者知道如何处理它,否则这只是额外的信息


我认为大多数X-Header都是通过HTML作为元标记交付的。例如,
,其作用与
X-Robots-Tag
相同。不管怎样,元标记版本可以更好地处理这一点,因为它不会像
header()
那样被输出缓冲绊倒,而且它会被自然缓存,因为它是页面的一部分。

每个header都有特定的用途,所以它取决于您期望的行为。我不会说“方便”,我想这是你绝对需要发送的标题。现在,没有编码元数据信息的文档是不负责任的。这是标题,元数据标记在其中,当然你需要设置它。但如果您创建了文档(带有一些utf8字符的空白php文件),则需要事先发送此标题,以便浏览器能够正确地对其进行解码。如果你用HTML声明,就不需要发送这个标题,这就是我说的“方便”的方式,我个人总是使用它。我的网页可能每月更新一次。我应该设置什么(如果有的话)缓存头信息?手动设置缓存头更适用于您希望强制页面不缓存的情况。检查web服务器页面中的
Expires
标题(通过Firebug,或telnet到端口80等),查看您的默认设置-很有可能是正常的。
Content-Type: text/html; charset=utf-8