Cookie Store API
참고 : 이 기능은 Web Worker에서 사용할 수 있습니다.
Cookie Store API는 쿠키를 관리하는 비동기 API로서, windows와 서비스 워커에서 사용 가능합니다.
개념 및 사용법
쿠키를 가져오고 설정하는 기존 방법 중에는 키/값 쌍의 문자열로 document.cookie
를 사용하는 것이 있습니다. 이는 번거롭고 오류가 발생하기 쉬울 뿐만 아니라 최신 웹 개발의 맥락에서 여러 가지 문제가 있습니다.
document.cookie
인터페이스는 synchronous, 단일 스레드, 블로킹 방식입니다. 쿠키를 작성할 때 브라우저가 모든 쿠키의 문자열을 업데이트할 때까지 기다려야 합니다. 또한 document
에 의존한다는 것은 document
객체에 접근할 수 없는 서비스 워커가 쿠키에 접근할 수 없음을 의미합니다.
Cookie Store API는 향상된 쿠키 관리 방법을 제공합니다. asynchronous이며 프로미스 기반이므로 이벤트 루프를 차단하지 않습니다. document
에 의존하지 않으므로 서비스 워커가 사용할 수 있습니다. 또한 쿠키를 가져오고 설정하는 메서드는 오류 메시지를 통해 더 많은 피드백을 제공합니다. 즉, 웹 개발자는 설정이 성공했는지 확인하기 위해 쿠키를 설정한 다음 즉시 쿠키를 다시 읽을 필요가 없습니다.
인터페이스
-
CookieStore
인터페이스를 통해 쿠키를 가져오고 설정할 수 있습니다. -
CookieStoreManager
인터페이스는 서비스 워커가 쿠키 변경 이벤트를 구독할 수 있도록 서비스 워커 등록을 제공합니다. -
script-visible 쿠키가 변경될 때
Window
컨텍스트의CookieStore
객체에 대해change
이라는 이름의CookieChangeEvent
가 전송됩니다. -
서비스 워커의 쿠키 변경 구독 목록에 있는 script-visible 쿠키의 변경이 발생하면
cookiechange
라는 이름의ExtendableCookieChangeEvent
가ServiceWorkerGlobalScope
컨텍스트에서 디스패치됩니다.
다른 인터페이스로의 확장
-
서비스 워커와 연관된
CookieStore
객체에 대한 참조를 반환합니다. -
웹 앱이 쿠키 변경 이벤트를 구독하고 구독을 취소할 수 있도록 해주는
CookieStoreManager
인터페이스에 대한 참조를 반환합니다. -
현재 문서 컨텍스트에 대한
CookieStore
객체에 대한 참조를 반환합니다. -
서비스 워커의 쿠키 변경사항 구독 목록에 있는 쿠키가 변경될 때 마다 발생합니다.
명세서
Specification |
---|
Cookie Store API |
브라우저 호환성
api.CookieStore
BCD tables only load in the browser
api.CookieStoreManager
BCD tables only load in the browser