[Web API] 서비스 워커 (service worker)

2023. 4. 9.·🎨 프론트엔드 공부/JS & TS

📍참고

https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API

 

Service Worker API - Web APIs | MDN

Service workers essentially act as proxy servers that sit between web applications, the browser, and the network (when available). They are intended, among other things, to enable the creation of effective offline experiences, intercept network requests an

developer.mozilla.org

 

📍서비스 워커?

✅프록시 서버 역할

- 웹앱, 브라우저, 네트워크 사이에서..

 

✅효과적인 오프라인 경험 생성

- 앱이 오프라인 상태일 때 수행할 기능을 담당

- 네트워크 요청을 가로채서 네트워크 사용 가능 여부에 따라 적절한 행동을 취할 수 있다

- 푸시 알림, 백그라운드 동기화 API에 접근 등

 

📍DOM에 접근할 수 없다

✅별도의 worker context에서 실행됨

- 글로벌 전역 객체가 다르다

 

service worker의 globalThis

 

service worker의 globalThis : ServiceWokerGlobalScope

DOM 의 this : window

 

📍Non-blocking

✅비동기적으로 작동

- 앱을 구동하는 JavaScript와 다른 스레드에서 동작하므로 논블로킹

- 완전히 비동기적이므로 동기적 XHR 객체와 웹 스토리지 사용 불가

- Promise를 적극적으로 사용

 

📍HTTPS only

✅보안상의 이유로 HTTPS  환경에서만 작동

- 중간자 공격(man in the middle)에 의한 악성 코드 주입에 취약하므로..

- 따라서 파이어폭스에서는 기본값으로 숨겨져 있으며, 프라이빗 브라우징 모드에서는 사용 불가

 

📍서비스워커 라이프사이

✅과정

1. 다운로드

- 서비스 워커가 제어하는 웹 사이트에 접속하면 다운로드 시작

2. 설치

3. 활성화

 

service worker 흐름

 

'🎨 프론트엔드 공부/JS & TS' 카테고리의 다른 글
  • #47 Public API에 등장하는 모든 타입을 export하기
  • #46 타입 선언과 관련된 세 가지 버전 이해하기
  • #45 devDependencies에 TypeScript와 @types 추가하기
  • #43 몽키 패치보다는 안전한 타입을 사용하기
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (510)
      • 🎨 프론트엔드 공부 (247)
        • JS & TS (86)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
[Web API] 서비스 워커 (service worker)
상단으로

티스토리툴바