Security
Important HTTP Security Headers
An overview of the HTTP security headers that protect your site's visitors, and what happens when they're missing.
HTTP security headers are instructions your server sends to a visitor's browser, telling it how to handle your site safely. They're invisible in normal browsing — no visitor will ever notice them directly — but their absence can leave real gaps that attackers specifically look for.
Why these headers matter
Browsers are generally good at protecting users by default, but a lot of that protection is opt-in — the browser follows extra security rules only if your server explicitly asks it to, via these headers. A site missing them isn't necessarily broken or actively unsafe, but it's missing a layer of protection that costs almost nothing to add and meaningfully reduces certain categories of risk.
Headers worth knowing about
Content-Security-Policy restricts which sources of content (scripts, images, stylesheets) a browser is allowed to load on your page. Without it, if an attacker manages to inject malicious script into your site through some other vulnerability, the browser has no additional instruction telling it not to run that script — this header is one of the more effective defenses against cross-site scripting attacks.
X-Content-Type-Options (typically set to nosniff) tells the browser to strictly respect the content type your server declares for a file, rather than trying to guess it. Without this, a browser might interpret an uploaded file as something more dangerous than intended based on its content rather than its declared type.
X-Frame-Options (or the newer frame-ancestors directive within Content-Security-Policy) controls whether your site can be loaded inside a frame on another website. Without it, your site is more vulnerable to clickjacking — a technique where an attacker overlays invisible elements from your site on top of their own page to trick visitors into clicking something they didn't intend to.
Strict-Transport-Security tells browsers to only ever connect to your site over HTTPS, even if a visitor types http:// or clicks an old link using the insecure version. Without it, there's a brief window on each visit where a connection could be intercepted before the browser gets redirected to HTTPS.
Referrer-Policy controls how much information about the page a visitor came from gets shared with the next site they navigate to. Without a deliberate policy, more information can leak across site boundaries than many site owners realize or intend.
Why these are commonly missing
Security headers usually aren't skipped out of neglect — they're simply not something a typical web framework or hosting setup adds by default, and they don't affect how a site looks or functions in everyday browsing. A site can pass every visual and functional test and still be missing every one of these headers, since nothing about the normal user experience would ever reveal the gap.
How CheckSitePulse checks this
During a crawl, CheckSitePulse checks the HTTP response headers returned by your server for each page, flagging which recommended security headers are missing. This gives you a concrete list to hand to whoever manages your server or CDN configuration — since these headers are typically set at the infrastructure level (nginx, a CDN, or your application framework) rather than something that needs to be added to individual pages.
Adding these headers is usually a one-time infrastructure change rather than an ongoing task, which makes it one of the higher-leverage security fixes available — a small configuration change that applies protection across your entire site at once.
Ready to see these issues on your own site?
Run a free audit with CheckSitePulse and get a full report in minutes.
Request Beta Access