gpt4 book ai didi

php - 什么是 PHP header ?

转载 作者:IT王子 更新时间:2023-10-29 00:04:17 24 4
gpt4 key购买 nike

我想知道 PHP header 是什么。我严格使用 PHP 来完成 HTML,我认为当输出是文本时我必须发送 text/html header ,然后从单独的脚本中发送 image/jpeg header ,该脚本用作图像标签中的源,但后来有人建议我带走标题,因为他们什么也没做。

我做到了,一切都和以前一样。这让我想知道:什么是标题?它们什么时候使用? (无论是从 HTML 的角度还是从某些(?)其他角度)我为什么要删除我的?

最佳答案

Is there a DEFAULT header? If I just send some PHP to a browser without specifying a header.. what header will it apply to it?

有许多不同的 HTTP header 意味着不同的事情。如果您不自己设置,PHP 将为您提供重要的默认值。

我认为您具体谈论的 header 是 Content-Type .这会告诉浏览器您发送的文件类型。如果你说 text/html ,它会尝试将您提供的内容显示为网页。如果你说 application/pdf ,它会尝试将其显示或下载为 PDF 文件。

PHP 默认发送 Content-Type: text/html .如果这就是你想要的,你不必调用header('Content-Type: ...');根本。但是,如果您使用任何非 ASCII Unicode 字符,您可能希望设置 Content-Typetext/html;charset=something , 其中something是您为它们使用的编码(通常是 utf-8 )。否则浏览器将不得不猜测并可能出错。常见的<meta http-equiv="Content-Type" content="text/html;charset=something"/>标签是做同样事情的另一种方式;如果您想真正确保安全,可以同时使用两者。

如果您将 JPEG 图片作为 text/html 提供,如果您通过删除 header() 来遵循“某人”的可疑建议,将会发生这种情况。调用,然后在浏览器中转到图像的 URL 将尝试将二进制图像显示为 HTML,这将在屏幕上给你一大堆旧的垃圾。这不是很好,真的。

但是在许多浏览器中,当您指向 <img src> 时,这种损坏的 JPEG 通常仍然有效。标记它。这是因为当您使用 <img> ,浏览器知道它将要获取图像,并在您说它实际上是 HTML 时忽略您。然后它必须“嗅探”文件的内容,看看它看起来像 JPEG、GIF、PNG 还是它知道的其他类型的图像,因此它知道如何显示它。浏览器已经这样做了,因为那里有太多写得不好的网站忘记发送标题。嘘!

所以一定要发header('Content-Type: image/jpeg')当您编写 JPEG 或任何其他非 HTML 类型时。对于 HTML 页面,您通常可以不用它。

关于php - 什么是 PHP header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3692223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com