当您从服务器请求内容时,它们将发送“标头”以及正在发送的任何内容。
这就是浏览器如何弄清楚如何使用视频或音乐,或者知道如何使用 JS 或 CSS。
现代浏览器在处理这些事情方面非常聪明,但是如果您尝试将 .mp3 发送到不知道如何使用 .mp3s 的浏览器,它可能会尝试将文件作为文本加载,您会得到很多有趣的人物。
大多数情况下,MIME 类型可以避免这种情况。如果您要求下载 .mp3,服务器可能会发送一个类似于“Content-Type: audio/mpeg codecs=mp3”的标头。
相比之下,常规网页将作为“Content-Type: text/html”发送,而 .png 图像将作为“Content-Type: image/png”发送。
如果您在使用 WAMP 安装程序或 EasyPHP 或其他方式安装的测试服务器上玩耍,您的服务器可能不知道.png
使用“image/png”MIME 类型提供文件。
智能浏览器将读取文件的内容并尝试找出它们应该是什么,如果它们被赋予了错误的文件 MIME 类型(这就是你的图像首先工作的原因)。
这个特定的错误可能不会伤害任何人(因为无法确定您有 .png 文件的浏览器可能是没有 .png 文件的浏览器<canvas>
)。
但是要在其他情况下修复它(例如.ogg
文件<audio>
和<video>
支持,这很重要),您应该弄清楚您正在运行哪种服务器(我的钱在 Apache 上),并弄清楚如何添加 mime-type 和 file-类型声明。
您可以通过 Google 搜索找到它,例如“将 mime-types 添加到 apache”。
如果这是一个在线的服务器,并且您正在为托管付费,那么您需要通过您的托管站点进行设置。