Web Worker와 Service Worker는 책임 경계가 다르다
Web Worker는 현재 페이지의 무거운 일을 덜어 주고, Service Worker는 origin 단위 요청을 가로채 앱 수준 캐시 정책을 담당한다.
| 구분 | 책임 | 수명 | 대표 위험 |
|---|---|---|---|
| Web Worker | CPU 작업을 UI 밖에서 처리 | 페이지와 함께 생성·종료 | 복사 비용이 계산 이득보다 큼 |
| Service Worker | fetch/cache/push 같은 앱 기능 | 페이지와 독립된 lifecycle | 업데이트가 즉시 반영되지 않음 |
| 공통 제한 | DOM 직접 접근 불가 | 메시지 기반 협업 | UI를 직접 만진다고 기대 |
| 선택 기준 | 계산 분리 vs 네트워크 제어 | 작업 성격이 기준 | 이름이 비슷해 혼용 |
워커는 스레드를 늘리는 장식이 아니라 메인 스레드와 브라우저 네트워크 경로의 책임을 분리하는 도구다.