Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Users can keep seeing an old stylesheet because a cache is allowed to reuse the CSS response while it is still fresh. An ETag does not set how long that response stays fresh: it helps a browser or other cache check whether a stored response has changed when validation is needed. The most reliable way to deploy static CSS is to give changed files new, content-versioned URLs and update the HTML or manifest that references them.

Why a new deployment can still serve last week’s CSS

When a stylesheet stays at the same URL, such as /site.css, a browser or shared cache may already have a stored response for that address. If its freshness lifetime has not expired, the cache can reuse the response without contacting the origin server. Changing the file on the server does not by itself tell caches that the representation at that URL has changed. RFC 9111 explains that a fresh response can satisfy later requests without contacting the origin (RFC 9111, HTTP Caching).

That is why a deployment can be correct at the origin while users still see old styling. The HTML may also continue to point to the previous stylesheet URL, in which case the browser is following the reference it was given.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What max-age and ETag actually do

max-age sets freshness

Cache-Control: max-age=3600 gives a response a freshness lifetime of 3,600 seconds, subject to HTTP cache age calculations. It is not necessarily 3,600 seconds from the moment a particular user first sees the file: an upstream cache may already have held it, and the Age response header reports time since generation or successful validation. See RFC 9111 and MDN’s Cache-Control reference.

#1 Best Overall
Sale
TP-Link AX1800 WiFi 6 Router (Archer AX21 V5)
  • DUAL-BAND WIFI 6 ROUTER: Wi-Fi 6(802.11ax) technology achieves faster speeds, greater capacity and reduced network congestion compared to the previous gen. All WiFi routers require a separate modem. Dual-Band WiFi routers do not support the 6 GHz band.
  • AX1800: Enjoy smoother and more stable streaming, gaming, downloading with 1.8 Gbps total bandwidth (up to 1200 Mbps on 5 GHz and up to 574 Mbps on 2.4 GHz). Performance varies by conditions, distance to devices, and obstacles such as walls.
  • CONNECT MORE DEVICES: Wi-Fi 6 technology communicates more data to more devices simultaneously using revolutionary OFDMA technology
  • EXTENSIVE COVERAGE: Achieve the strong, reliable WiFi coverage with Archer AX1800 as it focuses signal strength to your devices far away using Beamforming technology, 4 high-gain antennas and an advanced front-end module (FEM) chipset
  • OUR CYBERSECURITY COMMITMENT: TP-Link is a signatory of the U.S. Cybersecurity and Infrastructure Security Agency’s (CISA) Secure-by-Design pledge. This device is designed, built, and maintained, with advanced security as a core requirement.

ETag validates a stored representation

An ETag is an opaque identifier for a particular representation. When a stored response needs validation, a client can send its value in If-None-Match. If the representation has not changed, the server can confirm that without retransmitting the CSS body; if it has changed, the client can receive the updated representation. ETag is a validator, not a freshness timer. MDN describes the header and conditional requests in its ETag reference.

Last-Modified is another validator

Servers can also provide Last-Modified, which clients can use with If-Modified-Since to ask whether a representation has changed since a stated time. ETag and Last-Modified may both be present; they are validation mechanisms, not substitutes for choosing an appropriate freshness policy. See MDN’s HTTP caching guide.

Rank #2
Sale
TP-Link AC1200 WiFi Router Dual Band Wireless Internet Router (Archer A54)
  • Dual-band Wi-Fi with 5 GHz speeds up to 867 Mbps and 2.4 GHz speeds up to 300 Mbps, delivering 1200 Mbps of total bandwidth¹. Dual-band routers do not support 6 GHz. Performance varies by conditions, distance to devices, and obstacles such as walls.
  • Covers up to 1,000 sq. ft. with four external antennas for stable wireless connections and optimal coverage.
  • Supports IGMP Proxy/Snooping, Bridge and Tag VLAN to optimize IPTV streaming
  • Access Point Mode - Supports AP Mode to transform your wired connection into wireless network, an ideal wireless router for home
  • Advanced Security with WPA3 - The latest Wi-Fi security protocol, WPA3, brings new capabilities to improve cybersecurity in personal networks

no-cache is not no-store

  • Cache-Control: no-cache allows a response to be stored, but requires validation before it is reused.
  • Cache-Control: no-store instructs caches not to store the response.

Use the directive that matches the intended behavior; “no-cache” does not mean “do not save.” The distinctions are documented in MDN’s Cache-Control reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Vary can affect which stored response applies

The Vary header identifies request fields that distinguish representations. Under RFC 9111, a cache must not reuse a response containing Vary without revalidation unless the nominated request fields match those from the request that populated the stored response. This matters when different requests can legitimately receive different versions of a resource (RFC 9111).

Rank #3
NETGEAR Nighthawk WiFi 6 Router R6700AX, Up to 1,500 sq ft, 1.8 Gbps
  • NIGHTHAWK WIFI 6 ROUTER FOR YOUR WHOLE HOME: Delivers fast, reliable WiFi across every room of your apartment or small home for streaming, gaming, video calls, and smart home devices, all running at the same time without slowing each other down.
  • WORKS WITH YOUR EXISTING INTERNET SERVICE: Pairs with your existing modem or gateway via ethernet. Compatible with most cable, fiber, DSL, and satellite providers. Some gateways and modem router combos may require bridge mode. No coax needed.
  • SET UP AND MANAGE YOUR NETWORK WITH THE NIGHTHAWK APP: Download the free Nighthawk app on iOS or Android for guided setup. Manage WiFi, run speed tests, pause devices, and set up guest networks from anywhere. Active internet required.
  • READY FOR THE DEVICES YOU ALREADY OWN: Your phones, laptops, and TVs work right out of the box. WiFi 6 delivers speeds up to 1.8 Gbps across 2.4 GHz and 5 GHz bands. Backward compatible with WiFi 5 and earlier.
  • COVERAGE IN EVERY ROOM: Covers up to 1,500 sq. ft. for up to 20 connected devices. Walls, floors, and interference can reduce range. Larger or multi-story homes may benefit from a NETGEAR Orbi mesh WiFi system.

Choose a deployment strategy for CSS

Approach Freshness and validation Deployment behavior Trade-off
Stable URL with revalidation Keep the URL and use no-cache or a short freshness lifetime with validators such as ETag. A later request can validate the stored response against the origin. Simple URLs, but clients may need a request to discover a change.
Content-versioned URL Give changed content a new URL, then set a long freshness lifetime; immutable can be appropriate when content at that versioned URL will not change. Update the HTML or manifest to reference the new asset; old URLs can remain cached. Efficient reuse of unchanged assets, but the publishing pipeline must update references correctly.

For example, a build might emit site.8f3a.css and update the page or manifest to point to that filename. The hash is illustrative, not a required format. MDN gives Cache-Control: max-age=31536000, immutable as an example for a versioned resource; it is an example configuration, not a universal freshness recommendation (MDN’s HTTP caching guide).

Whichever strategy you choose, the document that names the asset must itself be reasonably fresh or revalidated. If the HTML keeps referencing the old filename, deploying a new CSS file under a different name will not make the page request it.

Rank #4
Sale
TP-Link Dual-Band BE3600 Wi-Fi 7 Router, Archer BE230
  • 𝐅𝐮𝐭𝐮𝐫𝐞-𝐏𝐫𝐨𝐨𝐟 𝐘𝐨𝐮𝐫 𝐇𝐨𝐦𝐞 𝐖𝐢𝐭𝐡 𝐖𝐢-𝐅𝐢 𝟕: Powered by Wi-Fi 7 technology, enjoy faster speeds with Multi-Link Operation, increased reliability with Multi-RUs, and more data capacity with 4K-QAM, delivering enhanced performance for all your devices.
  • 𝐁𝐄𝟑𝟔𝟎𝟎 𝐃𝐮𝐚𝐥-𝐁𝐚𝐧𝐝 𝐖𝐢-𝐅𝐢 𝟕 𝐑𝐨𝐮𝐭𝐞𝐫: Delivers up to 2882 Mbps (5 GHz), and 688 Mbps (2.4 GHz) speeds for 4K/8K streaming, AR/VR gaming & more. Dual-band routers do not support 6 GHz. Performance varies by conditions, distance, and obstacles like walls.
  • 𝐔𝐧𝐥𝐞𝐚𝐬𝐡 𝐌𝐮𝐥𝐭𝐢-𝐆𝐢𝐠 𝐒𝐩𝐞𝐞𝐝𝐬 𝐰𝐢𝐭𝐡 𝐃𝐮𝐚𝐥 𝟐.𝟓 𝐆𝐛𝐩𝐬 𝐏𝐨𝐫𝐭𝐬 𝐚𝐧𝐝 𝟑×𝟏𝐆𝐛𝐩𝐬 𝐋𝐀𝐍 𝐏𝐨𝐫𝐭𝐬: Maximize Gigabitplus internet with one 2.5G WAN/LAN port, one 2.5 Gbps LAN port, plus three additional 1 Gbps LAN ports. Break the 1G barrier for seamless, high-speed connectivity from the internet to multiple LAN devices for enhanced performance.
  • 𝐍𝐞𝐱𝐭-𝐆𝐞𝐧 𝟐.𝟎 𝐆𝐇𝐳 𝐐𝐮𝐚𝐝-𝐂𝐨𝐫𝐞 𝐏𝐫𝐨𝐜𝐞𝐬𝐬𝐨𝐫: Experience power and precision with a state-of-the-art processor that effortlessly manages high throughput. Eliminate lag and enjoy fast connections with minimal latency, even during heavy data transmissions.
  • 𝐂𝐨𝐯𝐞𝐫𝐚𝐠𝐞 𝐟𝐨𝐫 𝐄𝐯𝐞𝐫𝐲 𝐂𝐨𝐫𝐧𝐞𝐫 - Covers up to 2,000 sq. ft. for up to 60 devices at a time. 4 internal antennas and beamforming technology focus Wi-Fi signals toward hard-to-reach areas. Seamlessly connect phones, TVs, and gaming consoles.

Trace the CSS request in Chrome DevTools

  1. Inspect the actual request. Open Chrome DevTools, select Network, reload the page, and filter for the stylesheet. Check its request URL, status, response body, and response headers—especially Cache-Control, Age, ETag, and Last-Modified. Chrome documents searching headers and responses in the Network panel reference.
  2. Confirm the requested version. Compare the URL in Network with the filename expected for the deployment. If it is still the previous version, inspect the HTML or application manifest that supplies the stylesheet reference.
  3. Isolate the browser HTTP cache. As a diagnostic, select Disable cache in DevTools while it is open, or use DevTools’ documented clear-cache and hard-reload workflows. If the result changes, browser caching is implicated. This does not purge a CDN or alter production response headers. See Chrome’s Network panel reference.
  4. Check service-worker and application storage. If the response remains unexpected, inspect the Application panel’s service workers and Cache Storage. A service worker can participate in app-level caching, so response headers alone may not explain what the page receives. Chrome documents these controls in its Application panel reference.
  5. Compare shared-cache behavior. If users in different regions or on different networks get different results, examine the CDN or other shared-cache policy, including its treatment of Vary. RFC 9111 describes shared-cache behavior, but purge steps depend on the specific service and configuration (RFC 9111).
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why reloads do not always settle the question

Do not assume every navigation or reload gesture has identical cache behavior across browsers. Browser reload and history-navigation behavior can differ, and restoring a page from history may use a snapshot without revalidation. For practical browser caching guidance, see MDN’s HTTP caching guide. Inspecting the actual request and response is more useful than treating a particular reload gesture as proof that every cache layer was bypassed.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use the response to narrow down the cause

  • The requested URL is old: the document or manifest is still referencing the old asset. Fix that reference or ensure the deployed document is being refreshed.
  • The URL is stable and the response is fresh: the cache may be correctly reusing it under its freshness policy. Adjust that policy or move to versioned asset URLs.
  • The response is stale and validation occurs: check the conditional request and the server’s response. ETag can reduce transfer when content is unchanged, but a changed representation must be delivered.
  • DevTools bypasses the browser cache but the page still looks wrong: examine service-worker handling and Cache Storage, then shared caches and their policies.
  • Results vary by client or region: compare the URL, response headers, and shared-cache behavior for each path; check whether Vary matches the representations being served.

HTTP caching separates reuse from change detection: freshness decides whether a stored response may be reused without a request, while validators help determine whether a stored response still matches when validation happens. The IETF states in RFC 9111 §4.2: “When a response is fresh, it can be used to satisfy subsequent requests without contacting the origin server, thereby improving efficiency.”

Quick Recap

SaleBestseller No. 1
TP-Link AX1800 WiFi 6 Router (Archer AX21 V5)
TP-Link AX1800 WiFi 6 Router (Archer AX21 V5)
VPN SERVER: Archer AX21 Supports both Open VPN Server and PPTP VPN Server
$69.99
SaleBestseller No. 2
TP-Link AC1200 WiFi Router Dual Band Wireless Internet Router (Archer A54)
TP-Link AC1200 WiFi Router Dual Band Wireless Internet Router (Archer A54)
Supports IGMP Proxy/Snooping, Bridge and Tag VLAN to optimize IPTV streaming
$29.99
Bestseller No. 5
TP-Link AC1200 Gigabit Dual Band WiFi Router (Archer A6)
TP-Link AC1200 Gigabit Dual Band WiFi Router (Archer A6)
MU-MIMO technology - (5GHz band) allows high speeds for multiple devices simultaneously
$44.99
Best Value
TP-Link AC1200 Gigabit Dual Band WiFi Router (Archer A6)
  • Dual band router upgrades to 1200 Mbps high speed internet (300mbps for 2.4GHz plus 900Mbps for 5GHz), reducing buffering and ideal for 4K stream
  • Full Gigabit Ports - Gigabit Router with 4 Gigabit LAN ports, ideal for any internet plan and allow you to directly connect your wired devices
  • Boosted Coverage - Four external antennas equipped with Beamforming technology extend and concentrate the Wi-Fi signals
  • MU-MIMO technology - (5GHz band) allows high speeds for multiple devices simultaneously
  • Access Point Mode - Supports AP Mode to transform your wired connection into wireless network, an ideal wireless router for home

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.