是 header('Content-Type:text/plain');有必要吗?

我还没有看到有或没有这个头部信息的任何区别.

I didn't see any difference with or without this head information yet.

推荐答案

定义必要".

如果您希望浏览器知道文件的类型是什么,这是必要的.如果您不覆盖它,PHP 会自动将 Content-Type 标头设置为 text/html,因此您的浏览器会将其视为不包含任何 HTML 的 HTML 文件.如果您的输出包含任何 HTML,您会看到非常不同的结果.如果您要发送:

It is necessary if you want the browser to know what the type of the file is. PHP automatically sets the Content-Type header to text/html if you don't override it so your browser is treating it as an HTML file that doesn't contain any HTML. If your output contained any HTML you'd see very different outcomes. If you were to send:

<b><i>test</i></b>

内容类型:文本/html;charset=UTF-8 将以粗体和斜体显示在浏览器文本中:

Content-Type: text/html; charset=UTF-8 would display in the browser text in bold and italics:

✅ 好的

Content-Type: text/plain;charset=UTF-8 会像这样在浏览器中显示:

whereas Content-Type: text/plain; charset=UTF-8 would display in the browser like this:

<b><i>✅ OK</i></b>

TLDR 版本: 如果你真的只输出纯文本,没有像 <> 这样的特殊字符,那么它不会真的很重要,但它是错了.

TLDR Version: If you really are only outputing plain text with no special characters like < or > then it doesn't really matter, but it IS wrong.

相关文章