{"id":15611,"date":"2026-10-31T08:05:00","date_gmt":"2026-10-31T07:05:00","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=15611"},"modified":"2026-10-26T12:52:23","modified_gmt":"2026-10-26T11:52:23","slug":"what-the-server-receives-when-a-page-is-requested","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/","title":{"rendered":"What the Server Receives When a Page Is Requested"},"content":{"rendered":"<p>A network request can deliver connection details, headers and stored cookies before the requested page executes its own JavaScript. A consent banner cannot undo a request already sent. That does not make every header compulsory or every later use of the data unavoidable.<\/p>\n<figure class=\"lw-diagram\"><img decoding=\"async\" src=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/diagrams\/dia-15611-request-before-js-20261024-en.png\" width=\"1120\" height=\"580\" loading=\"lazy\" alt=\"Received data and additional lookups are separate. The tool measures a later API request.\"><figcaption>Received data and additional lookups are separate. The tool measures a later API request.<\/figcaption><\/figure>\n<h2>The first request is not the whole page load<\/h2>\n<p>The relevant boundary is the request for the document and the code subsequently executed by that document. A previous page, an extension or a service worker may already have run code. A later fetch call is another request, not a reconstruction of the original navigation.<\/p>\n<p>There is no universal sequence of banner, tag manager and analytics. Scripts can execute during loading, and a server can process requests without JavaScript. Prior settings can influence what is sent; a newly displayed banner cannot retrospectively change received bytes.<\/p>\n<h2>Three headers are a curl default, not an HTTP minimum<\/h2>\n<p>The earlier article records three headers for curl, eleven for a navigation and thirteen for fetch in September 2026. These are historical example counts, not browser limits. The original browser captures were not available for independent verification in this review.<\/p>\n<p>A local HTTP\/1.1 test reproduced curl\u2019s Host, User-Agent and Accept defaults. Removing User-Agent and Accept still produced a successful request with Host alone. HTTP\/1.1 requires Host; the other two are not required for every valid request. HTTP\/2 and HTTP\/3 use their own framing and pseudo-header rules.<\/p>\n<h2>Headers describe context, not a verified person<\/h2>\n<p>Accept describes acceptable response formats; Accept-Language carries language preferences. A language list alone does not establish a person\u2019s identity or provide a quantified fingerprinting risk. Browser settings, privacy features, request type and proxies affect the fields.<\/p>\n<p>Sec-Fetch-Site, Sec-Fetch-Mode and Sec-Fetch-Dest describe context. Sec-Fetch-User: ?1 indicates user activation for a navigation in supporting browsers. It is not proof of a human rather than automation: non-browser clients can fabricate headers, and script can participate in an activated navigation.<\/p>\n<h2>Client hints depend on support and policy<\/h2>\n<p>Supporting Chromium browsers normally send the low-entropy UA hints for brand\/version, mobile status and platform over secure connections. This is not a promise for every browser or embedded environment.<\/p>\n<p>Additional HTTP hints generally require an Accept-CH request and remain subject to browser policy. That is not the only access path: navigator.userAgentData.getHighEntropyValues() is a separate JavaScript interface. An absent Accept-CH header therefore does not establish that no script can obtain additional information.<\/p>\n<h2>Connection data and additional lookups<\/h2>\n<p>The receiving endpoint knows its network peer. That address may belong to a proxy, VPN or CDN rather than the visitor\u2019s device. Reverse DNS looks for a hostname associated with an IP address. RDAP queries registration information, such as the organization responsible for an address range. These are additional lookups; their results are not fields sent by the browser. A network holder is not reliable proof of a residential connection or a particular person.<\/p>\n<p>HTTPS provides negotiated TLS details where the server exposes them. Ordinary HTTP has no TLS. Existing connections can be reused, and TLS 1.3 early data is an exception to the claim that every request follows a newly completed handshake. A CDN that terminates TLS has a separate origin connection, possibly with different parameters or no TLS.<\/p>\n<h2>What the Connection Mirror actually measures<\/h2>\n<p>The linked tool calls its API through fetch and displays that API request. It watches 38 named headers, truncates displayed values to 500 characters and excludes raw Cookie and Authorization values. Cookie names are shown separately; the total header count can exceed the displayed subset.<\/p>\n<p>The endpoint performs reverse DNS for eligible public addresses and RDAP only after the separate network lookup is requested. It also records an address-based request counter. The tool is therefore not merely a passive rendering of the initial page request. Proxy headers require a trusted proxy configuration before their contents can be treated as a client address.<\/p>\n<h2>Privacy signals and existing cookies<\/h2>\n<p>Sec-GPC: 1 expresses a preference against specified sale, sharing and cross-context advertising uses; it is not a universal ban on every form of collection. The older DNT specification defines both 1 and 0, so DNT does not always mean no. An absent signal does not establish consent.<\/p>\n<p>Previously stored cookies may accompany an eligible request before page code runs, subject to scope and browser restrictions. A first visit to one URL can still carry cookies set elsewhere within the applicable scope. localStorage is not automatically an HTTP header; a script can later transmit a value read from it.<\/p>\n<p><a href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/toolbox\/connection-mirror-what-the-server-sees\/\">Connection Mirror<\/a><\/p><div class=\"lw-faq\"><h2>Questions and answers<\/h2>\n<h3>Does disabling JavaScript hide the connection?<\/h3><p>No. A network request still reaches a receiving endpoint. Disabling JavaScript can reduce script-driven activity, but does not remove the metadata needed for that request.<\/p>\n<h3>Does the curl command show what the server received?<\/h3><p>Verbose curl output shows the client\u2019s outgoing view, including the request line. An echo server is unnecessary for that display. Intermediaries may modify the request before the origin receives it, so client output and server capture are different observations.<\/p>\n<\/div>\n<figure style=\"--cbb-digits:1\" class=\"cbb cbb--wrap wp-block-code-beautifier-block-code\" data-lang=\"bash\"><figcaption class=\"cbb-head\"><span class=\"cbb-lang\">Shell<\/span><span class=\"cbb-actions\"><button type=\"button\" class=\"cbb-button cbb-button--wrap\" data-cbb-action=\"wrap\" aria-pressed=\"true\" title=\"Wrap long lines\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><path d=\"M2 4h12M2 8h9.5a2.5 2.5 0 0 1 0 5H8m0 0 1.5-1.5M8 13l1.5 1.5M2 12h3\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span class=\"cbb-sr\">Wrap long lines<\/span><\/button><button type=\"button\" class=\"cbb-button cbb-button--copy\" data-cbb-action=\"copy\" data-cbb-done=\"Copied\" data-cbb-failed=\"Press Ctrl+C to copy\"><svg aria-hidden=\"true\" focusable=\"false\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"><rect x=\"5.5\" y=\"5.5\" width=\"8\" height=\"8.5\" rx=\"1.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><path d=\"M10.5 3.5V3A1.5 1.5 0 0 0 9 1.5H4A1.5 1.5 0 0 0 2.5 3v6.5A1.5 1.5 0 0 0 4 11h.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"\/><\/svg><span class=\"cbb-button-label\" aria-live=\"polite\">Copy<\/span><\/button><\/span><\/figcaption><pre class=\"cbb-pre\" tabindex=\"0\"><code class=\"cbb-code language-bash\" style=\"counter-reset:cbb-line 0;\"><span class=\"cbb-line\"><span class=\"cbb-function\">curl<\/span> <span class=\"cbb-attr\">-q<\/span> <span class=\"cbb-attr\">--http1<\/span>.1 <span class=\"cbb-attr\">-sv<\/span> https:\/\/example.com\/ <span class=\"cbb-attr\">-o<\/span> \/dev\/null <span class=\"cbb-number\">2<\/span><span class=\"cbb-operator\">&gt;<\/span>&amp;<span class=\"cbb-number\">1<\/span> <span class=\"cbb-operator\">|<\/span> <span class=\"cbb-function\">grep<\/span> <span class=\"cbb-string\">'^&gt;'<\/span><\/span><\/code><\/pre><\/figure>\n<div class=\"lw-quellen\"><h2>Sources<\/h2><ul><li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc9112.html\" target=\"_blank\" rel=\"noopener noreferrer\">HTTP\/1.1: Host and persistent connections<\/a><\/li><li><a href=\"https:\/\/developer.chrome.com\/docs\/privacy-security\/user-agent-client-hints\" target=\"_blank\" rel=\"noopener noreferrer\">Chromium: UA Client Hints<\/a><\/li><li><a href=\"https:\/\/wicg.github.io\/ua-client-hints\/\" target=\"_blank\" rel=\"noopener noreferrer\">UA Client Hints: JavaScript interface<\/a><\/li><li><a href=\"https:\/\/www.w3.org\/TR\/fetch-metadata\/\" target=\"_blank\" rel=\"noopener noreferrer\">Fetch Metadata and user activation<\/a><\/li><li><a href=\"https:\/\/w3c.github.io\/gpc\/\" target=\"_blank\" rel=\"noopener noreferrer\">Global Privacy Control<\/a><\/li><li><a href=\"https:\/\/www.w3.org\/TR\/tracking-dnt\/\" target=\"_blank\" rel=\"noopener noreferrer\">DNT: values 0 and 1<\/a><\/li><li><a href=\"https:\/\/www.rfc-editor.org\/rfc\/rfc8446.html\" target=\"_blank\" rel=\"noopener noreferrer\">TLS 1.3 and early data<\/a><\/li><li><a href=\"https:\/\/curl.se\/docs\/manpage.html\" target=\"_blank\" rel=\"noopener noreferrer\">curl: options and diagnostic output<\/a><\/li><\/ul><\/div>\n","protected":false},"excerpt":{"rendered":"<p>A request can carry connection details, headers and cookies before page JavaScript runs. Which details arrive depends on the client, protocol and intermediaries; DNS and RDAP add separate information.<\/p>\n","protected":false},"author":1,"featured_media":24827,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[120],"tags":[91279,91516,91115],"class_list":["post-15611","post","type-post","status-publish","format-standard","hentry","category-tutorials-en","tag-prywatnosc-danych-pl","tag-tracking","tag-web-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What the Server Receives When a Page Is Requested | Lukas Wojcik<\/title>\n<meta name=\"description\" content=\"Which headers three clients actually send, what the TLS handshake and the address add, and why Sec-GPC and DNT were absent from every measured request.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What the Server Receives When a Page Is Requested | Lukas Wojcik\" \/>\n<meta property=\"og:description\" content=\"Which headers three clients actually send, what the TLS handshake and the address add, and why Sec-GPC and DNT were absent from every measured request.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-31T07:05:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-15611-request-before-js-20261025-dark.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Lukas Wojcik\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lukas Wojcik\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/\"},\"author\":{\"name\":\"Lukas Wojcik\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"What the Server Receives When a Page Is Requested\",\"datePublished\":\"2026-10-31T07:05:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/\"},\"wordCount\":881,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hero-15611-request-before-js-20261025-dark.png\",\"keywords\":[\"Data Privacy\",\"Tracking\",\"Web Security\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/\",\"name\":\"What the Server Receives When a Page Is Requested | Lukas Wojcik\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hero-15611-request-before-js-20261025-dark.png\",\"datePublished\":\"2026-10-31T07:05:00+00:00\",\"description\":\"Which headers three clients actually send, what the TLS handshake and the address add, and why Sec-GPC and DNT were absent from every measured request.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hero-15611-request-before-js-20261025-dark.png\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/hero-15611-request-before-js-20261025-dark.png\",\"width\":1200,\"height\":630,\"caption\":\"What the Server Receives When a Page Is Requested\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/en\\\/data-privacy\\\/tutorials-en\\\/what-the-server-receives-when-a-page-is-requested\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What the Server Receives When a Page Is Requested\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"Lukas Wojcik\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"Lukas Wojcik\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What the Server Receives When a Page Is Requested | Lukas Wojcik","description":"Which headers three clients actually send, what the TLS handshake and the address add, and why Sec-GPC and DNT were absent from every measured request.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/","og_locale":"en_US","og_type":"article","og_title":"What the Server Receives When a Page Is Requested | Lukas Wojcik","og_description":"Which headers three clients actually send, what the TLS handshake and the address add, and why Sec-GPC and DNT were absent from every measured request.","og_url":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-10-31T07:05:00+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-15611-request-before-js-20261025-dark.png","type":"image\/png"}],"author":"Lukas Wojcik","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Lukas Wojcik","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/"},"author":{"name":"Lukas Wojcik","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"What the Server Receives When a Page Is Requested","datePublished":"2026-10-31T07:05:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/"},"wordCount":881,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-15611-request-before-js-20261025-dark.png","keywords":["Data Privacy","Tracking","Web Security"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/","url":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/","name":"What the Server Receives When a Page Is Requested | Lukas Wojcik","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#primaryimage"},"image":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-15611-request-before-js-20261025-dark.png","datePublished":"2026-10-31T07:05:00+00:00","description":"Which headers three clients actually send, what the TLS handshake and the address add, and why Sec-GPC and DNT were absent from every measured request.","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#primaryimage","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-15611-request-before-js-20261025-dark.png","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/10\/hero-15611-request-before-js-20261025-dark.png","width":1200,"height":630,"caption":"What the Server Receives When a Page Is Requested"},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/en\/data-privacy\/tutorials-en\/what-the-server-receives-when-a-page-is-requested\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What the Server Receives When a Page Is Requested"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"Lukas Wojcik","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"Lukas Wojcik"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"]}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/15611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=15611"}],"version-history":[{"count":8,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/15611\/revisions"}],"predecessor-version":[{"id":27098,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/15611\/revisions\/27098"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media\/24827"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=15611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=15611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=15611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}