技术与生活 / 一篇记录
扩展名没错,浏览器为什么仍不认?
客户端接收的是一段响应数据,如何解释主要依赖媒体类型,而不是服务器磁盘上的名字。脚本被返回为错误页或文本时,浏览器可能拒绝执行。
内容类型告诉客户端如何解释响应,文件扩展名只是线索。
实际怎么检查
域名 example.com 仅用于说明,核查自己的网站时请替换目标地址。
curl -I https://example.com/
同时检查 HTML、JSON 和图片响应的 Content-Type。
遇到异常再检查什么
查看实际响应正文开头,再核对 Content-Type。资源地址拼错后得到一个 HTML 错误页面,比文件扩展名写错更常见,排查时应先确认响应内容。
若开启了严格内容类型检查,错误 MIME 类型更容易显现为资源加载失败。这通常是值得保留的保护。正确修复资源响应类型,而不是关闭检查,才能让行为更加一致。
错误类型可能导致下载行为异常或浏览器拒绝执行脚本。
参考:HTTP 文档。