HTTP Headers Analyzer
6 / 10
https://hygeniewashrooms.co.uk
WordPress → Apache → Browser5 missing headers, 2 warnings, 1 notices
Header
Value
Explanation
x-powered-by
php/8.3.27
Some of the software used to generate or serve this page.
Warning Sharing too many details about a server or web application makes it easier for hackers to target a website. Avoid specific version numbers such as 8.3.27, especially when running software that is end-of-life and/or has known security bugs. Consider removing this header. At a miminum, remove any version number.
Warning Sharing too many details about a server or web application makes it easier for hackers to target a website. Avoid specific version numbers such as 8.3.27, especially when running software that is end-of-life and/or has known security bugs. Consider removing this header. At a miminum, remove any version number.
link
<https://hygeniewashrooms.co.uk/wp-json/>; rel="https://api.w.org/", <https://hygeniewashrooms.co.uk/wp-json/wp/v2/pages/12>; rel="alternate"; title="json"; type="application/json", <https://hygeniewashrooms.co.uk/>; rel=shortlink
rel="shortlink" specifies a shorter URL for the current page, to be used in space constrained interfaces and/or for manual entry.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.x-xss-protection
1; mode=block
This header enables the browser's built-in XSS protection. However, it's considered legacy and modern browsers may ignore it.
1 enables the browser's cross-site scripting (XSS) filtering.mode=block instructs the browser to block the response if a XSS attack is detected, instead of sanitizing the page.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.cache-control
max-age=0
max-age specifies the maximum amount of seconds a page is considered valid. The higher max-age, the longer a page can be cached.Warning Because
max-age is set to 0 seconds and no s-maxage is set, nothing will be cached in browsers or shared caches. Caching is effectively disabled!expires
sun, 07 dec 2025 16:26:13 gmt
The date and time after which the page should be considered stale and all caches should be refreshed.
Notice Because there is a
Notice Because there is a
Cache-Control header with a max-age and/or s-maxage directive, the Expires header will be ignored. Consider removing Expires to save bandwidth and processing power.vary
accept-encoding
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.strict-transport-security
max-age=63072000; includesubdomains; preload
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.preload recommends the domain for inclusion in browsers' preload lists. If accepted, the domain would get hardcoded into browsers as HTTPS-only.content-security-policy
upgrade-insecure-requests; frame-ancestors 'self';
The Content Security Policy (CSP) header helps prevent cross-site scripting (XSS), clickjacking, and other code injection attacks by specifying which dynamic resources are allowed to load.
frame-ancestors defines what parents may embed a page using <frame>, <iframe>, <object>, <embed> or <applet>.upgrade-insecure-requests instructs browsers to replace insecure URLs (HTTP) with secure URLs (HTTPS).date
sun, 07 dec 2025 16:26:13 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.server
apache
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.x-permitted-cross-domain-policies
missing Add a
X-Permitted-Cross-Domain-Policies header to prevent Flash, Adobe Reader and other clients from sharing data across domains.Questions or feedback? Email dries@buytaert.net.