Dries Buytaert

HTTP Headers Analyzer

9 / 10
https://nlighteneddevelopment.com
Website → Netlify → CloudFlare → Browser
0 missing headers, 0 warnings, 2 notices
Header
Value
Explanation
date
sat, 21 dec 2024 14:29:15 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.
age
81208
The time in seconds that the page has been in the shared proxy cache. The maximum age is set by max-age or s-maxage in the Cache-Control header.
cache-control
public, max-age=691200, must-revalidate
public means the response may be stored by all caches, including browser caches, CDNs, and 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.
must-revalidate indicates that once a page becomes stale, both shared caches and browser caches must not use their stale copy without validating it with the origin server first.
cache-status
"netlify edge"; fwd=miss
content-security-policy
default-src 'self' data:; frame-src 'self' youtube.com www.youtube.com; object-src 'none'; script-src-elem 'self'; style-src 'self' data: 'unsafe-inline'; style-src-attr 'self'; frame-ancestors 'self' *.youtube-nocookie.com *.ytimg.com;
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.
default-src sets the default policy for fetching resources like JavaScript, images, CSS, fonts, AJAX requests, frames, HTML5 media.
script-src specifies valid sources for JavaScript. This includes not only URLs loaded directly into <script> elements, but also things like inline script event handlers (onclick) and XSLT stylesheets which can trigger script execution.
object-src defines what <object>, <embed> and <applet> elements are allowed to be loaded and executed.
style-src defines what CSS stylesheets are allowed to be loaded.
frame-src defines what <frame> and <iframe> elements can be loaded.
frame-ancestors defines what parents may embed a page using <frame>, <iframe>, <object>, <embed> or <applet>.
Notice Consider adding the upgrade-insecure-requests directive to automatically upgrade HTTP requests to HTTPS, helping to prevent mixed content issues.
cross-origin-embedder-policy
credentialless
Specifies if this page can embed cross-origin resources. Allowing an attacker to embed a page and load its context into their memory space could result in data leaks. This header shifts the default behavior to an explicit opt-in model; the actual policy is specified in either a seperate Cross-Origin-Resource-Policy header or a CORS check.
credentialless specifies that credentials such as cookies and client certificates are omitted from the request. This helps prevent information from accidentally getting shared between different processes, without requiring an explicit opt-in from every subresource. Similarly to require-corp, credentialless is used to enable cross-origin-isolation. Contrary to require-corp, it is easier to manage, especially when dealing with a large number of resources.
cross-origin-opener-policy
same-origin
A Cross-Origin Opener Policy (COOP) header specifies how this page's browsing context can be shared when opened in a 'browser tab', 'popup', 'iframe', etc. The policy can force the creation of a new top-level browsing context to make sure the browser context is protected or isolated.
same-origin specifies that the page can only share the browsing context with other pages from the same origin.
cross-origin-resource-policy
same-origin
The Cross-Origin-Resource-Policy header is part of the Fetch metadata request headers. It controls how resources can be shared across origins, enhancing security by preventing unauthorized access to resources.
same-origin means the resource can only be loaded by documents from the same origin.
permissions-policy
accelerometer=(), camera=(), geolocation=(), gyroscope=(), microphone=(), payment=(), usb=() x-xss-protection: 1; mode=block;
Instructs a browser to selectively allow or deny certain browser APIs and features. It helps improve security.
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.
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.
x-frame-options
sameorigin
X-Frame-Options prevents this URL from being embedded in an iframe. This protects against clickjacking attacks.
sameorigin means that this page can be displayed in a iframe, but only on the currrent origin. It can't be displayed on another domain. Consider setting this to deny for added security.
x-nf-request-id
01jfjcgeb0461bx1er8fkbh5xj
A unique request identifier generated by Netlify. Netlify's customer support can use this ID to trace a request through its network.
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.
cf-cache-status
hit
The page was served from Cloudflare's cache.
report-to
{"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ca3hb4vghxpauxs9iuv9rnalm758uefg5cxmyaigtbv%2fidi8nt6ydvz2hffxcqwohyjfwcyfunqteoqtl7ldupplfp9e%2fvpl7k%2bvnnfjmzyolv%2fqmjw1h8pl8efnyacxborqzlsnbbbjsdxu"}],"group":"cf-nel","max_age":604800}
This header is part of the Reporting API specification. They are used to configure the reporting of network errors and other issues to a specified endpoint.
The Report-To header specifies where reports should be sent.
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 send 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.
nel
{"success_fraction":0,"report_to":"cf-nel","max_age":604800}
This header is part of the Reporting API specification. They are used to configure the reporting of network errors and other issues to a specified endpoint.
The NEL (Network Error Logging) header configures the reporting of network errors.
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.
strict-transport-security
max-age=2592000
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.
Notice For optimal security, consider increasing max-age to at least 31,536,000 seconds (1 year), especially if you're considering preloading.
server
cloudflare
cf-ray
8f589033edbac56f-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 advertises alternative services for accessing the same resource, enabling protocol negotiation and potential performance improvements.
h3 indicates that HTTP/3 is supported. 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.
server-timing
cfl4;desc="?proto=tcp&rtt=1412&min_rtt=1391&rtt_var=403&sent=7&recv=10&lost=0&retrans=0&sent_bytes=3450&recv_bytes=822&delivery_rate=2081955&cwnd=235&unsent_bytes=0&cid=d7a98f505e5417cb&ts=20&x=0"
Communicates one or more metrics for a given request-response cycle. Can includes metrics for CPU time, database read/writes, file system access, etc.

Questions or feedback? Email dries@buytaert.net.