HTTP Headers Analyzer
5 / 10
https://lane-bird.kit.com/posts/mratweb
WordPress → CloudFlare → Browser5 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-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
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
The value
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.set-cookie
xsrf-token=9mdhikvffw6kzfwfg-av7f_v6rhp5gxp-hd9uc1mrtnrjqr6hgow7zuuhjdthduxx_wngvofz8c-ntiyw8jdew; path=/; secure
A cookie that was sent from the server to the browser.
path= indicates the path that must exist in the requested URL for the browser to send the cookie.secure instructs the browser to only send the cookie back when HTTPS requests are used, making it more resistant to man-in-the-middle attacks.set-cookie
xsrf-token=9mdhikvffw6kzfwfg-av7f_v6rhp5gxp-hd9uc1mrtnrjqr6hgow7zuuhjdthduxx_wngvofz8c-ntiyw8jdew; path=/; secure
A cookie that was sent from the server to the browser.
path= indicates the path that must exist in the requested URL for the browser to send the cookie.secure instructs the browser to only send the cookie back when HTTPS requests are used, making it more resistant to man-in-the-middle attacks.set-cookie
_mailapp_session=2dd3499aed9463e698995ea94eca411a; path=/; expires=tue, 24 feb 2026 05:13:21 gmt; secure; httponly
A cookie that was sent from the server to the browser.
expires= sets the maximum lifetime of the cookie using a specific date.path= indicates the path that must exist in the requested URL for the browser to send the cookie.secure instructs the browser to only send the cookie back when HTTPS requests are used, making it more resistant to man-in-the-middle attacks.httponly forbids JavaScript from accessing the cookie. Helps mitigate the risk of client side scripts accessing a protected cookie.set-cookie
__cf_bm=3i07fs8y4p9iz.go3iohhtde.cbol0noox1cd7xydnu-1771909401-1.0.1.1-ugfjdvg7xgytzaalvqv281pgo8gjjoaapwptxbrnb8q66ej6rf4aeglv9ifdiod8c.foeolgs8gjig61gurp6ysjbkaykphf6cyzbpkplka; path=/; expires=tue, 24-feb-26 05:33:21 gmt; domain=.kit.com; httponly; secure
A cookie that was sent from the server to the browser.
expires= sets the maximum lifetime of the cookie using a specific date.domain= sets the domain to which the cookie will be sent.path= indicates the path that must exist in the requested URL for the browser to send the cookie.secure instructs the browser to only send the cookie back when HTTPS requests are used, making it more resistant to man-in-the-middle attacks.httponly forbids JavaScript from accessing the cookie. Helps mitigate the risk of client side scripts accessing a protected cookie.cf_bm is a cookie set by Cloudflare to support bot management. This is a technical cookie; it's exempt from GDPR and doesn't need user consent.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.