개발공부/웹

[PWA] 서비스 워커란? + 특징

개발자 찐빵이 2022. 3. 5. 09:04
728x90

서비스 워커(Service Worker) 란?

브라우저와 서버 사이의 미들웨어 역할을 하는 스크립트 파일
오프라인 경험을 가능하게 한다.

동작 방식은 Shared Worker
자바스크립트 UI와 별개의 스레드로 동작한다.

서비스 워커 등장 배경

AppCache의 문제점(오동작, 파일 변화)을 보완하기 위해서 등장

서비스 워커의 특징

  1. 브라우저의 백그라운드에서 실행된다.
    웹 페이지와 별개의 라이프 사이클을 가진다.
  2. 네트워크 요청을 가로챌 수 있다.
    자원에 대한 캐쉬 또는 서버에 자원을 요청 가능하다.
    프로그래밍 가능한 프록시

프록시 : 중계서버

  1. 브라우저 종속적인 생명주기로 백그라운드 동기화 기능을 제공한다.
    브라우저가 끝나야 워커가 종료된다.
  2. 웹과 모바일 푸시 알림이 가능하다.
  3. navigator.serviceworker로 접근하다.
  4. 기존 Javascript 와의 별개의 자체 스코프를 가진다.
    크롬 개발자 도구의 콘솔과 별개로 서비스 워커 전용 콘솔이 존재한다.
  5. DOM에 직접 접근이 불가능하다.
  6. 사용하지 않을 때 자체적으로 종료되고, 필요할 때 다시 동작한다.
반응형