Hỗ trợ tiêu đề HTTP cho API Truy cập bộ nhớ

Natalia Markoborodova
Natalia Markoborodova

Sau khi dùng thử theo nguyên gốc thành công, chúng tôi sẽ ra mắt Tiêu đề truy cập bộ nhớ (SAH) trong Chrome 133.

Tiêu đề truy cập bộ nhớ là gì?

Tiêu đề truy cập bộ nhớ là các tiêu đề HTTP mới cho phép nội dung được nhúng (chẳng hạn như tiện ích mạng xã hội, lịch, công cụ tương tác và hình ảnh) kiểm tra quyền truy cập cookie chưa được phân vùng. Trước đây, bạn chỉ có thể thực hiện việc này bằng JavaScript. Tiêu đề yêu cầu Sec-Fetch-Storage-Access và tiêu đề phản hồi Activate-Storage-Access mới giúp cải thiện hiệu suất và trải nghiệm người dùng cho các trang web dựa vào nội dung nhúng, đồng thời hỗ trợ tải các tài nguyên không phải iframe. Khám phá tài liệu để biết thông tin chi tiết về cách triển khai.

Tiêu đề yêu cầu

  Sec-Fetch-Storage-Access: <access-status>

Khi người dùng truy cập vào một trang nhúng nội dung trên nhiều trang web, trình duyệt sẽ tự động thêm tiêu đề Sec-Fetch-Storage-Access vào các yêu cầu trên nhiều trang web có thể yêu cầu thông tin xác thực (chẳng hạn như cookie). Tiêu đề này cho biết trạng thái quyền truy cập vào cookie của nội dung nhúng và có thể có các giá trị sau:

  • none: Phần nhúng không có quyền storage-access, do đó không có quyền truy cập vào cookie chưa phân vùng.

  • inactive: Phần nhúng có quyền storage-access nhưng chưa chọn sử dụng quyền đó trong ngữ cảnh hiện tại. Phần nhúng không có quyền truy cập vào cookie chưa phân vùng.

  • active: Nội dung nhúng có quyền truy cập vào cookie chưa được phân vùng. Giá trị này sẽ được đưa vào mọi yêu cầu trên nhiều nguồn gốc có quyền truy cập vào cookie chưa được phân vùng.

Tiêu đề phản hồi

  Activate-Storage-Access: <retry-or-load>

Tiêu đề Activate-Storage-Access hướng dẫn trình duyệt thử lại yêu cầu bằng cookie hoặc tải tài nguyên trực tiếp khi bật API Truy cập bộ nhớ (SAA). Tiêu đề có thể có các giá trị sau:

  • load: Hướng dẫn trình duyệt cấp cho trình nhúng quyền truy cập vào các cookie chưa được phân vùng cho tài nguyên đã yêu cầu. Việc thêm tiêu đề này tương đương với việc gọi document.requestStorageAccess() nếu quyền storage-access đã được cấp. Người dùng sẽ không thấy lời nhắc nào khác.

  • retry: Máy chủ phản hồi rằng trình duyệt phải kích hoạt quyền truy cập bộ nhớ, sau đó thử lại yêu cầu.

  Activate-Storage-Access: retry; allowed-origin="https://site.example"
  Activate-Storage-Access: retry; allowed-origin=*
  Activate-Storage-Access: load

Ưu điểm chính

Tiêu đề truy cập bộ nhớ là một cách hiệu quả hơn và được đề xuất để sử dụng API truy cập bộ nhớ (SAA). Nhìn chung, thay đổi này mang lại một số điểm cải tiến:

  • Hỗ trợ nhúng không phải iframe: Cho phép SAA cho nhiều tài nguyên hơn.
  • Giảm mức sử dụng mạng: Ít yêu cầu hơn và tải trọng nhỏ hơn.
  • Mức sử dụng CPU thấp hơn: Ít xử lý JavaScript hơn.
  • Cải thiện trải nghiệm người dùng: Loại bỏ các lượt tải trung gian gây gián đoạn.

Cập nhật giải pháp

Với tính năng Tiêu đề truy cập bộ nhớ, có hai trường hợp bạn nên cập nhật mã:

  • Bạn sử dụng SAA và muốn đạt được hiệu suất tốt hơn bằng cách sử dụng logic tiêu đề cho các yêu cầu storage-access tiếp theo.
  • Bạn có quy trình xác thực hoặc logic phụ thuộc vào việc tiêu đề Origin có được đưa vào yêu cầu gửi đến máy chủ của bạn hay không.

Hãy xem tài liệu của chúng tôi để tìm hiểu cách sử dụng Tiêu đề truy cập bộ nhớ trong giải pháp của bạn.

Tương tác và chia sẻ ý kiến phản hồi

Nếu có ý kiến phản hồi hoặc gặp vấn đề, bạn có thể gửi vấn đề. Bạn cũng có thể tìm hiểu thêm về Tiêu đề truy cập bộ nhớ trên tài liệu giải thích trên GitHub.