You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Web应用安全:需为哪些Content-Type设置安全HTTP响应头?

针对不同资源的安全HTTP响应头配置建议

你的思路非常合理——很多安全头确实只需要针对HTML文档设置,没必要在静态资源上浪费带宽或增加复杂度。咱们逐个拆解你列出的这些头,验证你的分类是否准确,再补充一些实用细节:

逐个头的配置分析

1. Content-Security-Policy (CSP)

  • 正确配置对象:仅text/html和application/xhtml+xml
  • 原因:CSP是用来约束HTML页面内的脚本、样式、媒体资源加载行为的,静态资源(图片、字体、CSS等)本身不需要这个规则,浏览器也不会对非HTML资源解析CSP头,完全没必要额外添加。

2. Referrer-Policy

  • 正确配置对象:所有Content-Type
  • 原因:和你想的一样,CSS加载字体/图片时、图片被第三方网站嵌入时,都会遵循这个策略控制Referrer字段的发送行为。而且这个头内容通常很短,全局配置给所有资源也不会有性能负担。

3. Strict-Transport-Security (HSTS)

  • 灵活配置对象:优先给text/html,也可全局配置所有资源
  • 原因:HSTS是作用于整个域名的——浏览器只要在任何响应中收到一次这个头,就会强制该域名后续所有请求使用HTTPS。所以只在HTML页面(用户首次访问的入口)设置就足够了;如果服务器全局配置更方便,给所有响应加也没问题,毕竟这个头的内容很短,不会造成浪费。

4. X-Content-Type-Options

  • 正确配置对象:所有Content-Type
  • 原因:这个头禁止浏览器对资源的MIME类型进行嗅探,强制遵循响应头里的Content-Type。它对所有资源都有安全意义——比如如果一个图片文件被错误嗅探为HTML/脚本,可能会触发恶意执行风险,静态资源同样需要这个防护。

5. X-Frame-Options

  • 正确配置对象:仅text/html和application/xhtml+xml
  • 原因:这个头是控制HTML页面是否允许被嵌入到第三方iframe中,静态资源不会被作为iframe的内容加载,所以只有HTML文档需要设置。

6. X-XSS-Protection

  • 正确配置对象:仅text/html和application/xhtml+xml
  • 原因:这个头是控制浏览器内置的XSS防护机制,针对的是HTML页面中的脚本注入攻击,静态资源不存在这类风险,无需设置。

修正后的配置对照表

HTTP响应头text/html(含application/xhtml+xml)所有Content-Type
Content-Security-Policy✅❌
Referrer-Policy✅✅
Strict-Transport-Security✅✅(可选,更方便)
X-Content-Type-Options✅✅
X-Frame-Options✅❌
X-XSS-Protection✅❌

额外小建议

如果你的服务器支持,可以添加Permissions-Policy(原Feature Policy)头,用来控制HTML页面能使用的浏览器特性(比如摄像头、地理位置等),这个头也只需要给HTML文档设置即可。

内容的提问来源于stack exchange,提问作者Steve Eynon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:41:46