워커의 실행 위치를 보면 용도가 갈린다
Web Worker는 페이지가 만든 계산 보조자이고, Service Worker는 페이지 밖에서 요청을 중재하는 네트워크 계층이다.
| 위치 | 주 역할 | 데이터 교환 | 확인할 것 |
|---|---|---|---|
| main thread | DOM과 UI 갱신 | worker 결과를 화면에 반영 | 긴 작업으로 UI를 막지 않는가 |
| Web Worker | 계산·파싱·변환 수행 | postMessage/transfer | 직렬화 비용이 큰가 |
| Service Worker | fetch와 cache 전략 적용 | event.respondWith | scope와 HTTPS가 맞는가 |
| Cache boundary | 오프라인과 갱신 정책 | Cache API | stale 응답 정리 정책 |
워커 구조를 그릴 때는 어떤 코드가 어느 실행 위치에 있고 어떤 메시지나 요청을 주고받는지부터 보여야 한다.