Service Worker란?
웹 페이지와 독립된 백그라운드 스레드에서 실행되는 JS다. 페이지 수명과 분리되어 이벤트 기반으로 작동.
주요 능력
- 네트워크 요청 가로채기 (fetch 이벤트)
- Cache Storage로 오프라인 지원
- Push 알림 수신
- Background Sync
주의
- HTTPS에서만 동작 (localhost 예외)
- DOM 접근 불가 (별도 스레드)
- 캐시 전략 잘못 짜면 "오래된 버전이 영원히 노출" 버그 가능
Workbox가 캐싱 전략 관리 도구로 표준이다.