ERR_CACHE_MISS: Fix It in Chrome, Edge, Android & WebView
Key takeaway
ERR_CACHE_MISS means Chrome needed a saved copy of a page and had none. Usually you went Back to a page created by a form (a POST), so Chrome shows "Confirm Form Resubmission" instead of sending the form again. Press Reload and click Continue only if repeating the action is safe (a search, not a payment); otherwise open the page again from the site. In Android apps it usually means the WebView can't use the network. Site owners prevent it with Post/Redirect/Get.
Check it now

Start reading
- What Is ERR_
CACHE_ MISS? - What ERR_
CACHE_ MISS Looks Like - What Causes ERR_
CACHE_ MISS? - ERR_
CACHE_ MISS vs Confirm Form Resubmission - How to Fix ERR_
CACHE_ MISS (For Users) - Fix 1: Reload, and Resubmit Only If It's Safe
- Fix 2: Clear the Cache (Only If It Keeps Happening)
- Fix 3: Test in Incognito Mode
- Fix 4: Disable Browser Extensions
- Fix 5: Update Chrome (and Android System WebView)
- How to Fix ERR_
CACHE_ MISS (For Developers) - The Post/Redirect/Get (PRG) Pattern
- Review Your Cache-Control Headers
- Fix WordPress Caching Conflicts
- ERR_
CACHE_ MISS on Android (Apps and WebView) - ERR_
CACHE_ MISS in Other Browsers - Related Chrome Cache Errors
- Frequently Asked Questions
What Is ERR_CACHE_MISS?
ERR_CACHE_MISS means Chrome needed a saved (cached) copy of a page and didn't have one. Most often you pressed Back to a page that a form created, such as a login, search or checkout result: Chrome won't send the form again on its own, so it shows Confirm Form Resubmission with the code ERR_CACHE_MISS.
It never leaves your browser and isn't an HTTP status code. Chromium's error list defines it as error -400: "The cache does not have the requested entry" (net_error_list.h). Chrome keeps copies of form results so Back can show them again; when that copy is missing, the only way to rebuild the page is to resend the form, and that is a decision Chrome leaves to you.
It's a safety stop, not a fault or a security threat: resending a form can repeat what it did, such as a payment, an order or a post.
Is the page sending no-store? Check its headers
What ERR_CACHE_MISS Looks Like
Chrome and Edge show one of two pages, with ERR_CACHE_MISS printed under the message:
- Confirm Form Resubmission — after Back or Forward to a page a form created: "This webpage requires data that you entered earlier in order to be properly displayed. You can send this data again, but by doing so you will repeat any action this page previously performed." Below it: "Press the reload button to resubmit the data needed to load the page."
- This site can't be loaded from the cache — with "The saved (cached) copy of this site was unreadable." and a Reload button: a page Chrome could only take from its cache wasn't there
- The resubmission dialog — after you press Reload on the first page: "The page that you're looking for used information that you entered. Returning to that page might cause any action you took to be repeated. Do you want to continue?" with a Continue button
- net::ERR_CACHE_MISS — the same error in the DevTools console, or in an Android app's WebView log
What Causes ERR_CACHE_MISS?
Every cause comes down to the same thing: Chrome was told to use its cache, and the page wasn't in it.
- Going Back or Forward to a form's result page — Chrome stores the page a form (a POST request) produced so Back can show it again. If that copy is gone, Chrome would have to resend the form, so it stops and asks.
- The page said not to store it — a result page sent with
Cache-Control: no-storeis never kept, so going Back to it always lands on the resubmission page. - A cleared or trimmed cache — clearing browsing data, or Chrome trimming its cache to save space, removes the stored copy of a result page.
- Cache-only loads — an Android WebView without network access, an app's offline mode, or a script that asks for a cached copy only all fail with ERR_CACHE_MISS when nothing is stored.
- A damaged cache — Chromium's own notes say an unreadable cache usually comes from an improper shutdown. That shows the "can't be loaded from the cache" page, often with ERR_CACHE_READ_FAILURE.
- An extension that rewrites requests — rarely, an extension that blocks or changes requests stops a page loading normally. An Incognito window rules it out.
ERR_CACHE_MISS vs Confirm Form Resubmission
They're related, but they appear at different moments. Reloading a page a form produced opens the Confirm Form Resubmission dialog straight away. Coming back to that page later with Back or Forward, when Chrome no longer has a copy, shows the Confirm Form Resubmission page with the code ERR_CACHE_MISS; pressing Reload there then opens the same dialog. Continue sends the form again, Cancel stays put.
Chrome won't decide for you because a form submission (POST) isn't a "safe" request in HTTP's terms: sending it again can repeat whatever it did.
Click Continue for a search, a filter or a page you only viewed. For a payment, an order, a booking or a post, click Cancel and check the site's order history or your email instead.
How to Fix ERR_CACHE_MISS (For Users)
Work through these in order. The first one fixes the usual case: a form page you went back to. If the whole site won't load, check whether it's down for everyone with the Website Down Checker.
Fix 1: Reload, and Resubmit Only If It's Safe
On the Confirm Form Resubmission page, press Reload (or F5). Chrome asks whether to send the form again: click Continue only if repeating it is harmless. Safer still: don't go Back. Open the page again from the site's own menu or address bar, which loads a fresh copy with no form involved.
On a normal page that says "This site can't be loaded from the cache", do a hard reload, which skips the cache:
# Windows / Linux
Ctrl + Shift + R
# Mac
Cmd + Shift + R
# Windows / Linux alternative
Ctrl + F5 (or Shift + F5)With DevTools open (F12), you can also right-click the reload button and choose Empty Cache and Hard Reload.
Fix 2: Clear the Cache (Only If It Keeps Happening)
Clearing the cache doesn't help the form case: it deletes stored copies, so it can even cause the error. It does help when normal pages keep showing "This site can't be loaded from the cache", which points to a damaged cache:
- Step 1: Press
Ctrl+Shift+Delete(Mac:Cmd+Shift+Delete) to open Delete browsing data - Step 2: Set the time range to All time
- Step 3: Tick Cached images and files (cookies are optional, see below)
- Step 4: Click Delete data and restart Chrome
Fix 3: Test in Incognito Mode
An Incognito window starts with an empty cache and without your extensions (unless you allowed them there). Open one with Ctrl+Shift+N (Windows, Linux) or Cmd+Shift+N (Mac) and load the same page from the site, not with Back.
If it works there but not in a normal window, an extension or the cache is involved: try Fixes 2 and 4.
Fix 4: Disable Browser Extensions
Extensions that block or rewrite requests can occasionally stop a page loading normally.
Go to chrome://extensions/, turn every extension off, then load the page again. If the error goes, turn them back on one at a time to find the one responsible.
Fix 5: Update Chrome (and Android System WebView)
Go to chrome://settings/help to install any update; Chrome applies it after a restart. On Android, update both Chrome and Android System WebView in the Play Store, since apps that show web pages use WebView.
If the error started right after an update and appears on pages that aren't forms, check the Chromium issue tracker for a known problem with your version.
How to Fix ERR_CACHE_MISS (For Developers)
If visitors hit ERR_CACHE_MISS on your site, they are almost certainly going Back to a page your server rendered straight from a form POST. The fix is on the server: Post/Redirect/Get.
The Post/Redirect/Get (PRG) Pattern
The Post/Redirect/Get (PRG) pattern is the definitive fix for ERR_CACHE_MISS. The concept is simple: after processing a POST form submission, respond with an HTTP redirect (302 or 303) to a GET confirmation page instead of rendering the response directly.
Without PRG, the browser history ends with a POST request. When the user reloads, Chrome asks to resend the form; when they come back to it with Back or Forward and the copy is gone, Chrome shows ERR_CACHE_MISS. With PRG, the browser history ends with a safe GET request that can be refreshed or navigated back to without any issues.
# Without PRG (causes ERR_CACHE_MISS):
POST /checkout → 200 OK (render confirmation page)
# User reloads → "Confirm Form Resubmission" dialog
# User comes back with Back/Forward, copy gone → ERR_CACHE_MISS
# With PRG (no cache issues):
POST /checkout → 303 See Other → Location: /order/12345
GET /order/12345 → 200 OK (render confirmation page)
# User refreshes → Normal page reload (safe GET request)Use 303 See Other (preferred) or 302 Found for the redirect. RFC 9110 says 303 is "primarily used to allow the output of a POST action to redirect the user agent to a different resource", which is exactly what you want. DNS Robot's Redirect Checker shows the status code your form endpoint really returns.
Review Your Cache-Control Headers
Check what your form's result page sends with Chrome DevTools (F12 → Network → the request → Headers), or from outside with DNS Robot's HTTP Header Checker.
On a page a form produced, Cache-Control: no-store stops Chrome keeping the copy that Back needs, so every Back lands on the resubmission page. Keep no-store on pages with personal or payment data and use PRG, so the result is a normal GET page anyway.
| On a form's result page | What gets stored | What Back shows |
|---|---|---|
Cache-Control: no-store | Nothing | Confirm Form Resubmission (ERR_CACHE_MISS) |
no-cache or max-age=… | A copy, kept for history | The stored copy |
| PRG: 303 to a GET page | A normal GET page | The page itself; Reload is safe |
Fix WordPress Caching Conflicts
Page-caching plugins don't cause ERR_CACHE_MISS by themselves, but a cached cart, checkout or login page breaks forms and sends visitors back and forth, which is where the error appears.
If you use WooCommerce, make sure your caching plugin excludes dynamic pages: cart, checkout and my-account should never be cached. WP Super Cache, W3 Total Cache and LiteSpeed Cache all have settings for this.
- Purge all caches — Clear your caching plugin cache, hosting cache (if applicable), and CDN cache simultaneously
- Disable conflicting plugins — Never run two full-page caching plugins at the same time
- Exclude dynamic pages — Cart, checkout, and login pages must be excluded from cache
- Check server-level caching — Your hosting provider may add their own cache layer (Varnish, LiteSpeed, etc.) that conflicts with your plugin
ERR_CACHE_MISS on Android (Apps and WebView)
If you see it inside an app (an in-app browser, a login or payment screen), update Chrome and Android System WebView in the Play Store, then clear the app's cache: Settings → Apps → the app → Storage & cache (Storage on some phones) → Clear cache. If it continues, the app itself needs a fix: report it to its developer.
If you build the app: a WebView needs the INTERNET permission. Without it, Android blocks the WebView's network loads by default (setBlockNetworkLoads defaults to true), so pages can only come from the cache and fail with net::ERR_CACHE_MISS.
<!-- AndroidManifest.xml, inside <manifest> -->
<uses-permission android:name="android.permission.INTERNET" />Then check the cache mode: LOAD_CACHE_ONLY ("Don't use the network, load from the cache", often set for an offline mode) fails with ERR_CACHE_MISS for anything not already cached, so use LOAD_DEFAULT. In Flutter and React Native apps the permission goes in the Android project's AndroidManifest.xml too.
ERR_CACHE_MISS in Other Browsers
ERR_CACHE_MISS is Chromium's code, so Chrome, Edge, Brave, Opera and Vivaldi all show the same pages. Other browsers stop in the same situation with their own words.
| Browser | What it shows | Notes |
|---|---|---|
| Chrome / Edge / Brave / Opera | Confirm Form Resubmission, or This site can't be loaded from the cache | Same Chromium pages and code (ERR_CACHE_MISS) |
| Firefox | Document Expired | "The requested document is not available in Firefox's cache" |
| Safari | A dialog before resending the form | Asks whether to send the form again |
Firefox's page is titled Document Expired: "The requested document is not available in Firefox's cache. As a security precaution, Firefox does not automatically re-request sensitive documents. Click Try Again to re-request the document from the website." The fix is the same: reload only if resending is safe, or use PRG on the server.
Related Chrome Cache Errors
Chrome's cache errors share the ERR_CACHE_ prefix. Only a few ever reach an error page; most (such as -408, a checksum mismatch) are internal to the cache.
| Error Code | Chromium's definition | Common Cause |
|---|---|---|
| ERR_CACHE_MISS (-400) | The cache does not have the requested entry | Back to a form's result page; cache-only loads |
| ERR_CACHE_READ_FAILURE (-401) | Unable to read from the disk cache | A cache damaged by a crash or improper shutdown |
| ERR_CACHE_WRITE_FAILURE (-402) | Unable to write to the disk cache | A full disk or a permissions problem |
ERR_CACHE_READ_FAILURE shows the same "This site can't be loaded from the cache" page: clearing the cache (Fix 2) is the fix there. For ERR_CACHE_MISS, start with the form fixes above. A different Chrome error? See ERR_CONNECTION_REFUSED or ERR_NAME_NOT_RESOLVED.
Check Your HTTP Headers
Use DNS Robot's free HTTP Header Checker to inspect your server's Cache-Control headers and other response directives that affect browser caching.
Sources
- net_error_list.h (CACHE_MISS -400), Chromium
- localized_error.cc (the error pages for ERR_CACHE_MISS), Chromium
- RFC 9110 §15.4.4: 303 See Other, IETF
- WebSettings (setBlockNetworkLoads, LOAD_CACHE_ONLY), Android Developers
Frequently Asked Questions
What does ERR_CACHE_MISS mean?
How do I fix ERR_CACHE_MISS in Chrome?
What does "Confirm Form Resubmission" mean? Should I click Continue?
Why does ERR_CACHE_MISS appear when I press Back?
Is ERR_CACHE_MISS a virus or a security problem?
How do I fix ERR_CACHE_MISS on Android?
What causes net::ERR_CACHE_MISS in an Android WebView?
Why do I see net::ERR_CACHE_MISS in Chrome DevTools?
How do developers prevent ERR_CACHE_MISS?
Does ERR_CACHE_MISS happen in Edge and other browsers?
Related Articles
Related Tools
HTTP Header Checker
Response headers exactly as sent, with a Mozilla Observatory security grade
Redirect Checker
Follow every redirect hop by hop: 301/302 chains, timing and bulk checks
Website Down Checker
Is it down for everyone or just you? Check any site from 11 places and your own connection, with a live screenshot



