Tag: caching

Articles and experiments related to caching.

Offline fallback page with service worker

This post introduces a simple yet effective approach to improve offline user experience on the web using Service Workers. Instead of a browser's default offline page, this method displays a custom offline page when the network is unavailable. The provided JavaScript code caches essential offline assets and intercepts navigation requests. If a request fails due to network issues, it serves a pre-cached 'offline.html' page, ensuring a smoother experience for users. This strategy enhances user perception of web applications, especially in areas with unreliable internet connectivity. A key improvement mentioned is the use of Navigation Preload, which optimizes the loading process by not waiting for the Service Worker to boot up for all requests.

Read article

Understanding Storage Quota | Workbox

Workbox helps developers understand and manage storage quota issues, particularly those related to runtime caching of opaque responses. Opaque responses, which are cross-origin responses without CORS enabled, consume a disproportionately large amount of storage quota due to browser security measures. This can lead to unexpected quota issues for developers. Workbox addresses this problem by informing developers about the impact of opaque responses on storage, enabling them to optimize their service worker caching strategies.

Read article

Service Worker Routing

In this post, I discuss a new routing framework I've added to my service worker. It's based on my older LeviRoutes project and allows me to handle different URL patterns separately. This is much cleaner than a complex onfetch handler, and lets me easily manage things like requests to analytics services and my caching strategy. While sw-toolbox is a great alternative, I enjoyed the flexibility and learning experience of building my own. I encourage you to check out the code and consider routing in your own service workers.

Read article
My blog's Service Worker and Caching Strategy Part 2

My blog's Service Worker and Caching Strategy Part 2

In this follow-up post, I've revised my blog's Service Worker and caching strategy to address previous issues, particularly the Firefox incompatibility due to the use of waitUntil and a misunderstanding of cache.put. The updated strategy now correctly fetches from the network, caches the result, and serves content from the cache, falling back to the network request if not found. The code has also been improved for readability and reliability.

Read article

Dear AppCache we need to talk.

AppCache, while crucial for offline web apps, has significant issues. One major problem arises when integrating with APIs like registerProtocolHandler or registerContentHandler, which use query parameters. AppCache caches each unique URI, including query strings, separately. This is fine online, but offline, only previously cached URIs with specific query strings will work. Updating the app cache also causes every unique URL stored in the app cache group to be re-downloaded, even if they're not in the current manifest, potentially leading to server overload. This post highlights these issues and calls for better documentation and patterns for offline app development.

Read article

Tag Directory Styled and also implements some caching

I've given my tag directory a fresh look and made it faster with some caching! Check it out and tell me what you think. I'm considering integrating del.icio.us and Amazon product links, and I'd also like to auto-generate OPML feeds for each tag. Your feedback is much appreciated!

Read article

Stay in the loop.

I'm trialing a newsletter. Join for monthly insights into web dev, Chrome, and the open web.

alternate_email

Get in touch

Open to chat about Chrome or Web development.

Book a consultation