I have a webpage, serverd via https from Tomcat, with serviceworker according to examples for fetching a resource and store it in the cache. If Tomcat is not running, the page is served from the cache storage - so far so good.
My Tomcat configuration contains the redirectPort attribute to redirect http to https. The problem I have: When Tomcat is not running and my webpage is accessed via http, browser shows: Connection refused since the http 302 redirect is not stored in the cache. How I could achieve that?
JS service-worker and cache storage API with http 302 - how to cache the redirect?
215 Views Asked by Michael Enke 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 SERVICE-WORKER
- Chrome extension MV3: persistent service worker die after wake up from hibernation
- How to intercept a request made by a form submit in JavaScript?
- How to update my service worker for existing web push subscribers?
- How to intercept all network requests in a web page
- Specifications on Google Chrome's Cache Management and Portability Across Devices
- How can I get the WindowClient id of the current window?
- Using Firebase cloud messaging service worker with env in react js
- Firebase Cloud Messaging not showing notification in browser
- Offline PWA as a ChromOS Kiosk Application
- In Service Workers, is it possible to get a more meaningful error than "TypeError: Failed to fetch"?
- Why is TBT on PSI so different from my local machine?
- Serving service worker file in src in Vite dev mode
- I met the "Service Worker" response after scraping a web by python.But I want to get the right web response
- The Service Worker does not shut down
- How problematic is the exposure of Firebase configuration data when using web push?
Related Questions in CACHESTORAGE
- JS service-worker and cache storage API with http 302 - how to cache the redirect?
- Workbox ExpirationPlugin with maxEntries of 1 seems to not enforce any limit on the number of entries
- Service worker not caching assets on homepage without trailing slash
- caches.delete is not deleting anything
- Trying to Cache HttpClient Response but getting 'HttpResponse<Blob>' is not assignable to parameter of type 'Response'
- How can I find which cache a service worker response belongs to?
- Why the google chrome app for android doesn't support the localStorage?
- Can't add requests to CacheStorage under the message event of serviceWorker
- What Is The Difference Between Cache Storage and Cache Object in CacheAPI
- HTTP Cache: multiple URLs point to the same HTML file
- Cache is building up with each load
- Why CacheStorage.open promise never responds?
- Are JavaScript browser Cache objects made by CacheStorage threadsafe?
- Override browser cache in PWA service worker
- Service worker not loading all files in a specific server and system
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?
Unfortunately service workers require https for safety, so you cannot have a service worker intercept an http request.
If you would like to force browsers to visit your page in https you could enable HSTS:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security
The HSTS list can be preloaded in the browser allowing it to work offline. Note, however, you need to be careful when enabling HSTS as if you make a mistake it can be difficult to correct.
Alternatively browsers are slowly moving towards loading https by default unless the user explicitly types http. For example:
https://blog.chromium.org/2021/03/a-safer-default-for-navigation-https.html