HTTP Headers Analyzer
5 / 10
https://23winn.work
Website → Cloudflare → Browser10 missing headers, 1 warnings, 2 notices
JSON API
| Header | Value | Explanation |
|---|---|---|
| date | wed, 15 jul 2026 21:55:22 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. |
| server | cloudflare | Identifies the software used by the origin server to handle the request (e.g. Apache, Nginx, Cloudflare). Notice Consider removing or minimizing the Server header. Even without a version number, it reveals the server software, which aids reconnaissance. |
| nel | {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} | The NEL (Network Error Logging) header tells browsers to report network-level failures (DNS errors, TCP timeouts, TLS problems) back to the server. This means you can detect when real users fail to reach your site, even though the failure happens before your server sees a request.report_to defines the reporting group that reports for this NEL policy will be sent to. The reporting group details are specified in the Report-To header.max_age defines the number of seconds the browser should remember these settings. Prevents the browser from having to parse the JSON on each request.success_fraction defines the sampling rate that should be applied to reports about successful network requests. Its value must be a number between 0.0 and 1.0: 0 means no successful requests should be reported, and 1 means that every successful request should be reported. |
| cf-cache-status | dynamic | Notice The dynamic status indicates that Cloudflare did not cache this resource. This is normal and expected for HTML pages — by default, Cloudflare only caches static assets like images, CSS, and JavaScript. To cache HTML content as well, change the 'Cache Level' setting from dynamic to cache everything in Cloudflare. |
| report-to | {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mnbdnkiiid3ctvptmnhh0ktkulxs6bbtnalpdtspvc3iok6u3bgb0%2fsianjoopxvfobtucmlq4xyw%2fu5llcidrxl%2fxkyrdxxnfaj72xybmhq2pqmbhuuapztibxqsg%3d%3d"}]} | The Report-To header defines where browsers should send error reports. It sets up named reporting endpoints that other headers (like NEL and Content-Security-Policy) reference when they need to send violation or failure data.group defines the reporting group. Groups allow reports to be grouped logically; e.g. there could be a group for network errors and a second group for browser feature deprecation reports.max_age defines the number of seconds the browser should remember these settings. Prevents the browser from having to parse the JSON on each request.endpoints defines one or more URLs where the reports need to be sent to. Multiple URLs can be specified for failover and load-balancing. Endpoints can be assigned a weight to distribute load, with each endpoint receiving a specified fraction of the reporting traffic. Endpoints can also be assigned a priority to set up fallback collectors. |
| content-encoding | zstd | Specifies how the resource is compressed. Not to be confused with Transfer-Encoding which specifies how the data is transferred.Warning Add a Content-Length header. The Content-Length header is required, unless the message is transported using chunked encoding. Without a Content-Length header some servers will respond with 400 (bad request) or terminate connections early. |
| cf-ray | a1bc02cd0c2b379e-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. |
| alt-svc | h3=":443"; ma=86400 | The alt-svc header tells the browser that the same content is available over a different protocol. This allows the browser to upgrade to a faster protocol (e.g. HTTP/3 over QUIC) on subsequent requests without a separate negotiation step.h3 indicates that HTTP/3 is supported. HTTP/3 uses the QUIC protocol (UDP-based) instead of TCP, which eliminates the TCP handshake delay and performs better on lossy networks. Variants like h3-29 refer to specific drafts of the HTTP/3 protocol.ma=86400 specifies that the alternative service information is fresh for 86400 seconds. |
| strict-transport-security | missing Add a Strict-Transport-Security header. The Strict-Transport-Security header or HSTS header is used to instruct browsers to only use HTTPS, instead of using HTTP. It helps enforce secure communication. |
|
| 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. |
|
| referrer-policy | missing Add a Referrer-Policy header. When a visitor navigates from one page to another, browsers often pass along referrer information. The Referrer-Policy header controls how much referrer information a browser can share. This is important to configure when private information is embedded in the path or query string and passed onto an external destination. |
|
| 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 header. It requires cross-origin resources to explicitly consent before this page can load them, protecting those resources from being exposed to Spectre-style timing attacks. Together with Cross-Origin-Opener-Policy, it enables cross-origin isolation and access to SharedArrayBuffer. |
|
| cross-origin-opener-policy | missing Add a Cross-Origin-Opener-Policy header. It prevents other sites from retaining a window reference to this page when opened via window.open() or navigation, blocking script-based attacks through shared browsing contexts. |
|
| cross-origin-resource-policy | missing Add a Cross-Origin-Resource-Policy header. It controls which origins can embed or load this page's resources (images, scripts, etc.), preventing hotlinking and cross-origin data leaks. |
|
| x-frame-options | missing Add a X-Frame-Options header. The X-Frame-Options header prevents this URL from being embedded in an iframe. This protects against clickjacking attacks. Alternatively, set a Content-Security-Policy header with a frame-ancestors directive. |
|
| x-content-type-options | missing Add an X-Content-Type-Options: nosniff header to prevent browsers from MIME type sniffing. Without it, browsers may interpret files as a different content type than intended, which can lead to security vulnerabilities. |
|
| 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. |