게시일: 2026년 11월 10일
최신 웹 앱은 JavaScript 프레임워크, 게임 엔진, AI 모델과 같은 대규모 애셋에 의존하는 경우가 많습니다. 사이트에서 동일한 애셋을 사용하더라도 각 사이트에서 각 애셋의 자체 사본을 다운로드하고 저장해야 합니다.
제안된 교차 출처 Storage API(줄여서 COS)를 사용하면 클라이언트가 해시로 원하는 콘텐츠를 지정하고, 지정된 사이트(또는 모든 사이트)에서 공유하기 위해 모든 URL에서 콘텐츠를 가져옵니다. 즉, 애셋을 제공하는 것과 별개로 정확하고 알려진 리소스를 사이트 간에 공유할 수 있습니다. 이 제안에는 보안 이점과 안전 문제가 수반됩니다.
사용 사례
Cache Storage API를 사용한 모델 캐싱 및 애셋 캐싱의 중요성에 관해 자세히 설명했습니다. 교차 출처 Storage API는 한 단계 더 나아가 여러 관련 웹사이트(또는 기타 웹사이트)가 동일한 리소스에 액세스해야 하는 경우에 유용할 수 있습니다.
- AI 모델: Gemma 또는 Llama 변형과 같은 모델의 무게는 약 1GB에서 수십 기가바이트에 이릅니다. COS를 통해 하나의 사본을 저장하고 검색하면 대규모 중복 다운로드를 방지할 수 있습니다. 이것이 이 제안의 주요 동기입니다.
- Wasm 모듈: Flutter와 같은 프레임워크는 수천 개의 서로 다른 출처에서 하루에 수백만 번 요청되는 Wasm 파일을 전송하며, 항상 바이트 단위로 동일합니다.
- 인기 있는 JavaScript 라이브러리 및 프레임워크: 공급업체 코드를 별도로 전체(예: 트리 셰이킹되지 않은 완전한 React 라이브러리) 번들로 묶으면 여러 앱이 COS를 통해 캐시된 사본 하나를 공유할 수 있습니다.
- 게임 엔진: Godot 또는 Unity와 같은 엔진을 기반으로 빌드된 브라우저 게임은 COS를 통해 엔진 런타임을 공유하고 네트워크를 통해 게임별 애셋만 가져올 수 있습니다. 여러 출처 또는 iframe에서 다양한 캐주얼 게임을 호스팅하는 게임 포털이 가장 큰 이점을 누릴 수 있습니다.
- 대형 웹 글꼴: 아이콘 글꼴, 이모티콘 글꼴, 광범위한 유니코드 적용 범위가 있는 글꼴은 수많은 페이지에서 다운로드됩니다. COS를 통해 한 번 공유하면 성능과 지속 가능성 모두에 도움이 됩니다.
COS 작업의 기본 흐름
COS API는 웹 앱이 암호화 해시로 식별되는 출처 경계를 넘어 파일을 저장하고 검색하는 navigator.crossOriginStorage.getFileHandle() 메서드를 도입합니다. 설명에는 API 작업의 기본 흐름을 보여주는 예가 있습니다.
지금 사용해 보기
현재 COS를 실험하는 방법에는 두 가지가 있습니다.
- Chrome 웹 스토어, Firefox 부가기능 또는 Safari 앱 스토어에서 브라우저 확장 프로그램을 설치하여 API 노출 영역과 모든 통합을 폴리필합니다. 모든 브라우저에서 API 흐름을 테스트할 수 있습니다. 또는 소스 코드에서 압축해제된 확장 프로그램을 로드합니다.
- Chromium의 실험: 실험용 Chromium 구현이 있습니다. goo.gle/cos-chromium에서 Apple Silicon 또는 Linux x86_64용 macOS를 다운로드한 다음
about://flags를 열고 '교차 출처 스토리지'를 검색하여 Enabled로 설정하고 메시지가 표시되면 다시 시작합니다. 이 빌드에는 DevTools 통합이 포함되어 있습니다. 애플리케이션 탭에서 교차 출처 저장소를 찾습니다.
생태계 관심
COS는 초기 단계의 제안이며, 여러 프로젝트에서 이미 실험적 지원을 제공하고 있습니다. 일반적으로 선택 플래그 뒤에 있으며 점진적 개선으로 계층화되어 있습니다.
- Emscripten은 생성된 Wasm 출력을 공유합니다.
- Flutter는 Skia Wasm 런타임을 공유합니다.
- Transformers.js는 모델 가중치와 이 가중치가 종속된 Wasm 런타임을 공유합니다.
- WebLLM은 모델과 런타임을 공유합니다.
- wllama는 AI 모델을 공유합니다.
- Nuxt.js는 교차 출처 저장소에서 공유 종속 항목을 로드하고 Vite COS 플러그인을 유지합니다.
- Prompt API Polyfill은 WebLLM 및 Transformers.js 백엔드에서 AI 모델을 공유합니다.
- Prebid.js에는 헤더 입찰 라이브러리의 COS 지원 CDN 배포가 있습니다.
표준화
교차 출처 스토리지는 초기 단계의 WICG 제안입니다. 초기 W3C TAG 설계 검토를 읽어보세요.
- 호스트 통합은 각 표준 기관에 제출됩니다.
crossoriginstorage속성 및crossOriginStorage가져오기 속성(WHATWG HTML 표준 사용)- CSS 워킹 그룹과 함께
cross-origin-storage() - Fetch 표준의
crossOriginStorage요청 옵션
- 크로스 브라우저 웹 플랫폼 테스트(진행 중)
- Mozilla 및 WebKit에 표준 입장을 요청했습니다.
API 및 제안서에 관한 의견을 보내주시기 바랍니다. 교차 출처 저장소 저장소에서 문제를 신고하거나 지원을 표시하거나 pull 요청을 열 수 있습니다.
리소스
- 교차 출처 Storage API 설명 및 사양 초안을 읽어보세요.
- 교차 출처 저장소 상위 버그 및 종속 항목에 별표표시하여 Chrome에서 COS 구현을 따릅니다.
- 공개 해시 목록 설명을 확인하세요.
- COS 보안 및 개인 정보 보호 설문지를 작성합니다.
- 프로토타입 제작 의도 및 Chrome 플랫폼 상태 항목을 검토합니다.
다음 도구와 데모도 확인해 보세요.
추가 배경 자료
- 캐시 파티셔닝을 통한 보안 및 개인 정보 보호
- Transformers.js에서 제안된 교차 출처 Storage API 실험
- HTTP 캐시 파티셔닝: 동일한 이미지를 두 번 다운로드(호안 레온)
- 교차 출처 Storage API: 두 번 다운로드 중지(데니스 모렐로)
- 브라우저에서 jQuery를 제공하기를 원했습니다. 교차 출처 스토리지(Cross-Origin Storage) came for rescue(아마드 알피)
대화 및 팟캐스트
- ShopTalk Show 732: Thomas Steiner on New 교차 출처 Storage APIs(팟캐스트)
- Working Draft 723: 교차 출처 Storage API(독일어 팟캐스트)
- WeAreDevelopers: 교차 출처 저장소란 무엇인가요?(팟캐스트)
- 교차 출처 저장소: 웹용 공유 캐시(JSNation US 2026)