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
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CookieStore | ||||||||||||
change event | ||||||||||||
delete | ||||||||||||
partitioned option | ||||||||||||
get | ||||||||||||
domain in return value | ||||||||||||
expires in return value | ||||||||||||
name in return value | ||||||||||||
partitioned in return value | ||||||||||||
path in return value | ||||||||||||
sameSite in return value | ||||||||||||
secure in return value | ||||||||||||
value in return value | ||||||||||||
getAll | ||||||||||||
domain in return value | ||||||||||||
expires in return value | ||||||||||||
name in return value | ||||||||||||
partitioned in return value | ||||||||||||
path in return value | ||||||||||||
sameSite in return value | ||||||||||||
secure in return value | ||||||||||||
value in return value | ||||||||||||
set | ||||||||||||
partitioned option |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- In development. Supported in a pre-release version.
- In development. Supported in a pre-release version.
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.
api.CookieStoreManager
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
CookieStoreManager | ||||||||||||
getSubscriptions | ||||||||||||
subscribe | ||||||||||||
unsubscribe |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- No support
- No support