Assume I use no library or framework, just plain vanilla HTML5, CSS3 and ES6 that every modern browser affords me.
Is there something similar to ASP's donut hole caching where I can instruct the client's browser not to cache specific html within a page?
Sorry if this is seen as a duplicate but I've searched here and elsewhere without any results for this very specific question.
Say I have a web form that generates a random ID used for verification of form submissions. This ID is changed every time the form structure is changed.
A client that has already visited this page may load the web form with an older cached ID which triggers validation errors upon submission.
I know with images I can do this by adding random query strings to their urls.
I'd prefer to tell the browser not to ever cache this portion of html or based on an element's class or ID or other, is this possible?
Selective browser caching (ie donut) based on html tag/other no ASP?
51 Views Asked by Philip Ingram At
1
There are 1 best solutions below
Related Questions in JAVASCRIPT
- Using Puppeteer to scrape a public API only when the data changes
- inline SVG text (js)
- An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
- Storing the preferred font-size in localStorage
- Simple movie API request not showing up in the console log
- Authenticate Flask rest API
- Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
- How to request administrator rights?
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- In Datatables, start value resets to 0, when column sorting
- How do I link two models in mongoose?
- parameter values only being sent to certain columns in google sheet?
- Run main several times of wasm in browser
- Variable inside a Variable, not updating
Related Questions in HTML
- How to store a date/time in sqlite (or something similar to a date)
- How to use custom font during html to pdf conversion?
- Storing the preferred font-size in localStorage
- mp4 embedded videos within github pages website not loading
- Scrimba tutorial was working, suddenly stopped even trying the default
- Is there any way to glow this bulb image like a real light bulb
- With non-graphical maps in Leaflet, zoomDelta doesn't work
- What can I do to improve my coding on both html and css
- Uncaught TypeError: google.maps.LatLng is not a constructor at init (script.js:7:13)
- Bootstrap modal not showing at the desired position on a web page when the screen size is smaller
- Displaying a Movie List on a Website Using Jinja2 and Bootstrap
- How to redirect to thank you page after submitting a Google form embedded into a Google Site?
- Storing selected language in localStorage
- Fences (parenthesis, braces) in HTML and MathML
- Understanding Scroll Anchoring Behavoir
Related Questions in BROWSER-CACHE
- What Is Website Caching and How to Clear It?
- The javascript and css files cached by chrome do not belong to the same version
- After updating the tripartite style sheet, the loaded style is invalid
- React-Admin cache getList from cache disk even if there is an update or a new record
- Is it possible to force a browser to use the same cache entry for different paths?
- Miss From Cloudfront: X-cache
- Why does the browser force revalidation when serving an initial document request?
- Using workbox precaching multiple pages/route generates cache but cant find match
- Light speed working on private window(incognito) while not working in normal window of a browser
- Show a cached version of the previous form-submitted page in PHP with no framework
- How to fix cache problem with angular application in google chrome
- How to force custom js/css files in Sphinx to always load changes without caching?
- Handling Caching and Undefined Variables after Rebuild in Nextjs
- NGINX : Static resources missing. Server response code 304
- Why does chrome make HTML cache in download directory?
Related Questions in DONUT-CACHING
- Best MVC views Caching Policy (OutputCache Policy) in large amount of data (views)
- DonutOutputCache not working for an image
- Donut Caching Tutorials
- Is there a way to access the current session from within a substitution control?
- Store pageview when page is cached using outputcache
- How to set a partial view as donut hole in ASP MVC
- Prevent Image Caching in MVC 2 C#
- I need help doing a Regex.Replace with multiple results
- Caching in ASP.NET MVC with uncachable forms
- Mvc Donut Caching disable caching programmatically
- ASP .NET - Substitution and page output (donut) caching - How to pass custom argument to HttpResponseSubstitutionCallback delegate
- ASP.NET 'Donut Caching' not working
- Donut caching _Layout with mvcdonutcaching ASP.NET MVC
- Can I use [CompressFilter] in ASP.NET MVC without breaking donut caching
- How do I 'donut cache' in ASP.NET MVC for something more than a date
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
From what I can tell, "donut hole caching" in ASP refers to server-side caching. The server re-uses, verbatim, the "bread" part of the donut across requests and re-generates the "hole" part for each request.
The client (browser) has no such mechanism to differentiate the "bread" from the "hole". It caches at the request level, based on the cache headers sent by the server. So if the cache time-to-live for
https://example.com/page-with-formis ten minutes, but the form's random ID is only valid for one minute, the user is likely to encounter an error, even if they refresh the page at nine minutes and 59 seconds.Keep in mind, the user may also encounter an error if they walk away for an hour, return, and hit "submit" on the form.
One approach would be to disable client-side caching by setting no-cache headers on the server response.
Another would be to allow caching of the HTML, but use JS to re-populate the random ID on an occasional basis (I don't know the security structure of your app, so I don't know if that defeats the purpose of the random ID).