What is Service Worker?
Turkish: Service Worker
A service worker is a browser script that runs separately from the page, intercepting requests to manage caching, push, and offline behavior.
What is a Service Worker?
A service worker is a special JavaScript file that runs in the browser separately from the page’s main thread. It can respond to events even when the page is not open, intercept network requests, return cached responses, or receive push notifications.
Service workers require HTTPS because they control an important part of the page’s network behavior. Poor cache rules can show users an outdated interface or stale data.
Lifecycle
- Register: The page registers the service worker file with the browser.
- Install: Static assets can be added to cache during first setup.
- Activate: Old cache versions are cleaned and the new worker takes control.
- Fetch: Network requests are intercepted and handled with cache-first, network-first, or stale-while-revalidate strategies.
- Push and sync: Notifications or background synchronization events are processed.
Business Use
Service workers support resilient experiences for news sites, e-commerce catalogs, field applications, and users with unreliable connectivity. Product lists can open quickly from cache, order drafts can sync when the connection returns, and critical notifications can be delivered through the browser.
This technology is a core part of PWA architecture. It should not be shipped without an update strategy, cache versioning, and a rollback plan for faulty workers.
Related Terms
IndexedDB is a browser database for storing large structured data persistently with indexes and asynchronous access.
Push NotificationA push notification is an app message delivered to a user's device through a permission and subscription flow, even when the app is closed.
PWA (Progressive Web App)A PWA uses a service worker, web app manifest, and responsive design to make a website installable, resilient, and closer to an app experience.
Web WorkerA Web Worker lets JavaScript run CPU-heavy tasks in a background thread separate from the main UI, keeping pages responsive.