HTTP Headers Analyzer

5 / 10
https://lane-bird.kit.com/posts/mratweb
WordPress → CloudFlare → Browser
5 missing headers, 2 warnings, 2 notices
Header
Value
Explanation
date
tue, 24 feb 2026 05:03:21 gmt
The date and time at which the request was made. A browser uses it for age calculations rather than using its own internal date and time; e.g. when comparing against Max-Age or Expires.
content-type
text/html; charset=utf-8
The type of the message body, specified as a MIME type.
content-length
0
The size of the message body, in bytes.
cf-ray
9d2c6a7e69b789b1-iad
The cf-ray header provides a unique identifier for each request through Cloudflare. It's useful for troubleshooting and tracking requests in Cloudflare logs.
x-frame-options
allowall
X-Frame-Options prevents this URL from being embedded in an iframe. This protects against clickjacking attacks.
Warning Invalid value for X-Frame-Options.
x-xss-protection
0
This header enables the browser's built-in XSS protection. However, it's considered legacy and modern browsers may ignore it.
Notice While this header provides some protection, it's recommended to use Content-Security-Policy instead, as it offers more comprehensive and flexible protection against XSS and other injection attacks.
x-content-type-options
nosniff
The X-Content-Type-Options header, when set to nosniff, prevents MIME type sniffing. This enhances security by ensuring browsers respect the declared Content-Type of the response, mitigating MIME confusion attacks.
The value nosniff is correctly set, providing protection against MIME type sniffing attacks.
x-permitted-cross-domain-policies
none
Instructs clients like Flash and Acrobat Reader what cross-domain policy they have to use. none is the most secure setting. Data can't be shared across domains.
referrer-policy
strict-origin-when-cross-origin
When a visitor navigates from one page to another page, browsers often pass along referrer information. The Referrer-Policy header controls how much referrer information a browser can share. This is important because private information can be embedded in the path or query string.
strict-origin-when-cross-origin means that the protocol, host, port, path and query string are shared for same-site requests. For cross-site requests, protocol, host, and port are shared, but only when the protocol security level remains the same (HTTP → HTTP, HTTPS → HTTPS). For cross-site requests where the protocol becomes less secure (HTTPS → HTTP), nothing is shared.
cache-control
max-age=10, private
private means the response can only be stored by the browser's cache, but not by CDNs, proxies, or any other shared caches.
max-age specifies the maximum amount of seconds a page is considered valid. The higher max-age, the longer a page can be cached.
Notice A max-age of 10 seconds is short, especially if your content doesn't change frequently. Consider increasing max-age unless the URL has live updates.
etag
w/"76488846f68d2303e913636f545c7a4d"
A unique identifier that changes every time a page at a given URL changes. It acts as a fingerprint. A cache can compare Etag values to see if the page has changed and became stale. For example, a browsers will send the ETag value of a cached page in an If-None-Match header. The web server compares the ETag value sent by the browser with the ETag value of the current version of the page. If both values are the same, the web server sends back a 304 Not Modified status and no body. This particular Etag value starts with w/ which means that it is a weak identifier; while unlikely, multiple pages might have the same identifier. Weak identifiers are used because strong identifiers can be difficult and costly to generate.
x-request-id
c1fccecc-cf42-45cd-84a7-e04e2b5085c0
A unique identifier for the HTTP request. This can be useful for tracking a request through complex systems or for debugging purposes.
x-runtime
0.054305
Indicates the time taken to generate the response on the server, typically in seconds. This can be useful for performance monitoring and debugging.
strict-transport-security
max-age=63072000; includesubdomains
The Strict-Transport-Security header (HSTS) instructs browsers to only use HTTPS for future connections to this domain, enhancing security by preventing downgrade attacks and cookie hijacking.
max-age specifies the time, in seconds, that the browser should remember to use HTTPS only for this domain.
includesubdomains instructs the browser that all subdomains are HTTPS-only as well.
vary
accept, origin
The Vary header specifies a list of headers that must be considered when caching responses. For a cached response to be used, these headers must match between the cached response and the new request. This ensures that the appropriate version of a resource is served based on factors like language, encoding, or device type.
access-control-allow-origin
*
Indicates whether a browser can share this resource with other code. * is a wildcard. It means the browser will allow code from any origin to access this resource.
cf-cache-status
dynamic
Warning The dynamic status indicates that Cloudflare did not cache the requested HTML page, similar to a "cache miss". By default, Cloudflare caches static assets such as images, CSS, and JavaScript but excludes HTML due to its dynamic nature. To cache HTML content, change the 'Cache Level' setting from dynamic to cache everything in Cloudflare. This adjustment allows HTML pages to be cached, leveraging Cloudflare's global network for faster and more efficient content delivery.
server
cloudflare
content-security-policy
missing Add a Content-Security-Policy header. The Content-Security-Policy header helps browsers prevent cross site scripting (XSS) and data injection attacks.
permissions-policy
missing Add a Permissions-Policy header. Restrict access to device features like the camera, microphone, location, accelerometer and much more.
cross-origin-embedder-policy
missing Add a Cross-Origin-Embedder-Policy to specify how this page can be loaded by cross-origin resources.
cross-origin-opener-policy
missing Add a Cross-Origin-Opener-Policy header to opt-in into better browser isolation.
cross-origin-resource-policy
missing Add a Cross-Origin-Resource-Policy header to specify who can load this page.

Questions or feedback? Email dries@buytaert.net.