Shared Storage API

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

Warning: Tính năng này hiện đang bị một nhà cung cấp trình duyệt phản đối. Xem phần Standards positions bên dưới để biết chi tiết.

Shared Storage API là cơ chế lưu trữ phía client cho phép truy cập dữ liệu chéo trang không phân vùng trong khi bảo vệ quyền riêng tư (tức là không dựa vào cookie theo dõi).

Khái niệm và cách sử dụng

Một nguồn gốc chính của các vấn đề quyền riêng tưbảo mật trên web là việc sử dụng cookie được đặt trên nội dung của bên thứ ba được nhúng vào các trang web (ví dụ qua các phần tử <iframe>). Các cookie này có thể được dùng để theo dõi và lập hồ sơ người dùng, và chia sẻ thông tin giữa các trang web.

Để ngăn chặn theo dõi chéo trang, các trình duyệt đang hướng đến việc phân vùng tất cả các loại lưu trữ. Tuy nhiên, một rào cản lớn để đạt được điều này là nhu cầu cho một số trường hợp sử dụng hợp pháp dựa vào chia sẻ thông tin chéo trang.

Shared Storage API cung cấp giải pháp linh hoạt cho các trường hợp sử dụng như vậy, nhằm cung cấp khả năng lưu trữ, xử lý và chia sẻ dữ liệu cần thiết mà không có khả năng theo dõi và lập hồ sơ người dùng.

Giống như các API lưu trữ khác, bạn có thể ghi vào shared storage bất cứ lúc nào. Tuy nhiên, bạn chỉ có thể đọc dữ liệu shared storage từ bên trong một worklet. Worklet cung cấp môi trường bảo mật bên trong bạn có thể xử lý dữ liệu shared storage và trả về kết quả hữu ích, nhưng bạn không thể chia sẻ trực tiếp dữ liệu với ngữ cảnh duyệt web liên quan.

Để trích xuất kết quả hữu ích từ shared storage worklet, bạn cần sử dụng output gate. Các gate này phục vụ các mục đích cụ thể như chọn URL từ danh sách được cung cấp để hiển thị cho người dùng dựa trên dữ liệu shared storage.

Output gates

Các output gate hiện có khả dụng cho Shared Storage API được thảo luận trong các phần bên dưới.

Note: Nhiều output gate hơn có thể sẽ được thêm vào trong tương lai để hỗ trợ các trường hợp sử dụng bổ sung.

URL Selection

Output gate URL Selection, được truy cập qua phương thức selectURL(), được dùng để chọn URL từ danh sách được cung cấp để hiển thị cho người dùng, dựa trên dữ liệu shared storage.

Run

Output gate Run, được truy cập qua phương thức run(), được thiết kế để sử dụng theo cách chung để xử lý một số dữ liệu shared storage.

Hiểu cách hoạt động của shared storage

Có hai phần khi sử dụng Shared Storage API: ghi dữ liệu vào lưu trữ và đọc/xử lý nó.

Ghi vào shared storage

Ghi dữ liệu vào shared storage rất đơn giản. Bạn sử dụng các phương thức được định nghĩa trên giao diện SharedStorage để set, append, hoặc delete/clear dữ liệu.

Đọc và xử lý dữ liệu từ shared storage

Để trích xuất kết quả hữu ích từ shared storage worklet, bạn cần sử dụng output gate.

Sự khác biệt giữa shared storage và web storage

Sự khác biệt chính là shared storage được thiết kế để sử dụng với dữ liệu chéo nguồn gốc sau khi lưu trữ đã được phân vùng.

  • Nếu bạn là nhà xuất bản và muốn lưu dữ liệu bên thứ nhất chỉ có thể truy cập bởi bạn, hãy sử dụng phiên bản localStorage của web storage.
  • Nếu bạn muốn dữ liệu chỉ tồn tại trong phiên trình duyệt, hãy sử dụng sessionStorage.
  • Nếu bạn đang hoạt động như bên thứ ba trên trang web khác và muốn ghi lại dữ liệu từ trang đó để truy cập sau trên trang khác, hãy sử dụng shared storage.

Giao diện

SharedStorage

Đại diện cho shared storage của một nguồn gốc cụ thể. Xác định các phương thức để ghi dữ liệu vào shared storage.

WindowSharedStorage

Đại diện cho shared storage của một nguồn gốc cụ thể như được hiển thị cho ngữ cảnh duyệt web tiêu chuẩn.

WorkletSharedStorage

Đại diện cho shared storage của một nguồn gốc cụ thể trong ngữ cảnh worklet.

SharedStorageWorklet

Đại diện cho shared storage worklet của nguồn gốc hiện tại.

SharedStorageWorkletGlobalScope

Đại diện cho phạm vi toàn cục của module SharedStorageWorklet.

Định nghĩa chữ ký thao tác output gate

SharedStorageOperation

Đại diện cho lớp cơ sở cho tất cả các loại thao tác output gate khác nhau.

SharedStorageRunOperation

Đại diện cho thao tác Run output gate.

SharedStorageSelectURLOperation

Đại diện cho thao tác URL Selection output gate.

Mở rộng các giao diện khác

Window.sharedStorage

Trả về đối tượng WindowSharedStorage cho nguồn gốc hiện tại.

Đăng ký và kiểm tra cục bộ

Để sử dụng Shared Storage API trên các trang web của bạn, bạn phải chỉ định nó trong quy trình đăng ký privacy sandbox.

Ví dụ

Để biết các demo mở rộng, xem trang web demo Shared Storage API.

Thông số kỹ thuật

Thông số kỹ thuật
Shared Storage API
# sharedstorage

Standards positions

Một nhà cung cấp trình duyệt phản đối đặc tả này. Các vị thế tiêu chuẩn đã biết như sau:

Tương thích trình duyệt

Xem thêm