什么是 HTTP Header
HTTP Header 是 Web 服务器在每次响应中、在正文之前发送的键值对。它决定浏览器如何渲染页面、是否可缓存、是否可被嵌入 iframe、可执行哪些脚本,以及是否必须强制 HTTPS。
请求一个 URL 时,本检查器返回状态码、全部响应头、完整重定向链、所用 HTTP 协议、已校验的 TLS 证书,以及最重要安全头的审计。
- 状态码: 200 OK、301 Redirect、404 Not Found、500 Server Error 等。颜色徽章一目了然。
- 重定向链: 从 HTTP 到 HTTPS、从 www 到裸域、每一次跟踪重定向都会被暴露。
- 安全头: HSTS、CSP、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy 在一个审计区块。
- TLS 校验: 证书、Issuer、有效期和 OpenSSL verify 码。自签名或过期会立刻显形。
理解 HSTS、CSP 与 CORS
HSTS(Strict-Transport-Security)告诉浏览器从此对该域名只用 HTTPS,即便用户输入 http:// 也是。一旦 max-age=63072000(两年)已设,站点两年内无需询问服务器即始终 HTTPS-only。includeSubDomains 把效力扩展到每个子域,preload 还可申请加入 Chrome 与 Firefox 的预加载列表。
CSP(Content-Security-Policy)是白名单:仅允许显式列出的资源来源加载。default-src 'self' 拒绝同源以外一切。script-src、style-src、img-src、connect-src、frame-src 提供例外。基于 nonce 或 hash 的 CSP 还能安全允许 inline 脚本。配置正确的 CSP 是 Web 上最强的 XSS 防御。
CORS(Cross-Origin Resource Sharing)不是防护而是许可:Access-Control-Allow-Origin 表明哪些外部源可读取响应。配置错误(Access-Control-Allow-Origin: * 配合 Cookie)会打开漏洞;配置正确则允许你自己的 SPA 安全调用 API。
重定向链与 SEO
每个重定向都消耗一次往返。一条 http -> https -> www -> /de/ 链共四跳,在慢速移动网络上可能在内容开始加载前就花掉超过一秒。搜索引擎也会对长链做出负面评价,每跳损失少量链接权重。
- 301 vs 302: 301 是永久且会被缓存,302 是临时。永久迁移必须用 301,否则 Google 会保留旧 URL 在索引里。
- 直接链接: 内部链接应始终指向最终 URL,绝不指向已知的重定向,否则每次点击都白白多一跳。
- 循环检测: 超过 5 跳或形成循环就是误配置。本检查器在 10 个重定向后中止,并把问题暴露出来。
结构干净的域名最多有一次重定向(HTTP -> HTTPS 或裸域 -> www),不应更多。
Cache-Control 最佳实践
Cache-Control 决定浏览器、CDN 与代理是否可复用响应。调好了能减轻源站负载、把回访速度提升数量级,并直接改善 Core Web Vitals。
- 静态资源: 对带哈希的 bundle 文件(style.abc123.css)使用 public, max-age=31536000, immutable。一年缓存,不再校验。
- HTML 页面: no-cache, must-revalidate(每次校验,但允许 304 Not Modified),或 s-maxage=60 用于短期 CDN 边缘缓存。
- 私有内容: 对带 Session Cookie 或个性化内容的响应使用 private, no-store。绝不能让共享缓存存这些。
- ETag 与 Last-Modified: 为 304 Not Modified 提供校验器。能省带宽,且由 Web 服务器(NGINX、Apache)免费设置。
常见调试场景
实战中本 Header Inspector 真正用于的场景:
- 检查 CDN 缓存状态: Cloudflare 暴露 cf-cache-status(HIT、MISS、BYPASS),Fastly 用 x-cache,KeyCDN 用 x-cache。在 Header 区块直接可见。
- 校验 Cookie 标志: Set-Cookie 头会列出全部属性。Session Cookie 必须设 Secure、HttpOnly、SameSite。
- 验证 HTTPS 迁移: http:// 输入必须返回到 https:// 的 301,最终响应里还应有 HSTS。两者在重定向链与审计中都可见。
- Bot 检测规则: WAF 常设置 x-firewall、x-rate-limit-* 或 server: cloudflare。可在 Server 头与 Header 审计中看到。
- 排查 TLS 问题: verify 码 != 0 提示证书过期或自签名;Issuer 字段立刻能看出是 Let's Encrypt、Sectigo、DigiCert 还是内部 CA。
KernelHost 默认设置这些 Header
KernelHost 每个 Webhosting 套餐的 NGINX 默认 vhost 已开启 HSTS、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy 与一份保守的 CSP。客户域名无需任何配置,值会自动出现在响应中。
在 KernelHost VPS 与独立服务器上,我们的服务器调优集合(自动安装脚本)提供同样的默认配置,并支持通过 NGINX include 在 vhost 级别覆盖。想在 securityheaders.com 拿 A+,两分钟即可搞定。
隐私
HTTP Header Inspector 完全在 KernelHost 基础设施(Frankfurt FRA01,德国)上服务端运行,不调用外部 API,无第三方追踪。
- 你输入的 URL 仅用于本次单次请求,不持久化存储。
- 目标服务器响应在浏览器中渲染后即从服务器内存中丢弃。
- 速率限制数据仅保留客户端 IP 的匿名哈希,最多 60 秒,用于防滥用。
- 对目标 URL 的出站请求 User-Agent 为 KernelHost-Header-Inspector/1.0,不携带任何 Cookie 或鉴权头。