Skip to main content

HTTP Review Guide

A missing security header is a signal, not a verdict.

HTTP response headers describe browser policy at one response boundary. Correct interpretation requires the status, URL, redirect chain and application behavior around that response.

Pasha Research10 minute readPublished Updated

Preserve the response context

Headers apply to a particular HTTP response. A redirect, an error page and the final application document may expose different policies. Record the requested URL, response status, redirect chain and whether the response was an HTML document before interpreting a header set.

A historical header observation is not proof of the current configuration. Content delivery rules, application releases and route-specific middleware can change the result.

  • Capture headers from the final document and relevant redirects.
  • Keep status codes and content types beside the header values.
  • Compare representative authenticated and unauthenticated routes only when authorized.
  • Do not send stored cookies or credentials to unrelated validation tools.

Content Security Policy needs policy-level review

The presence of a Content-Security-Policy header is only the beginning. Its directives determine which script, style, image, connection and framing sources a browser may use. Broad sources, unsafe execution allowances and missing fallback directives can weaken the intended protection.

A strict policy can also break legitimate application behavior if deployed without observation. Report-only mode is useful for evaluating a candidate policy, but it does not enforce restrictions. Review the full policy and the application's actual resource needs together.

Review transport and content handling separately

Strict-Transport-Security instructs supporting browsers to use HTTPS for future requests after a valid HTTPS response is received. Its scope depends on max-age, includeSubDomains and preload behavior. It does not repair certificate errors and it should be deployed with an understanding of every covered subdomain.

X-Content-Type-Options with nosniff narrows browser content-type guessing. Referrer-Policy controls how much referrer information is sent. Permissions-Policy limits selected browser capabilities. Each header addresses a different control objective, so a single pass or fail score can hide important context.

Do not convert hardening gaps directly into vulnerabilities

A missing header may be a useful hardening recommendation, but severity depends on exploitable application behavior and the affected route. For example, framing risk depends on whether sensitive actions can be embedded and whether equivalent protection exists. A header observation alone usually cannot establish impact.

Describe the exact response and missing or weak policy first. Add an impact claim only when it has been validated within authorization and supported by a reproducible application behavior.

Use a reproducible review sequence

Begin with the canonical HTTPS document, follow its redirect chain and preserve raw response headers. Compare the observed policy with the application's intended resource and embedding model. Retest after remediation from a clean browser context and from the relevant route types.

When Pasha shows a stored header signal, use its timestamp and evidence as the starting point. Confirm the current response directly before opening or closing a finding.

Primary references