Cookie có bản dùng thử theo nguyên gốc Trạng thái phân vùng độc lập (CHIPS)

Kể từ Chrome 100, bản dùng thử theo nguyên gốc CHIPS sẽ cho phép chọn cookie đưa vào bộ nhớ "được phân vùng", với một kho cookie riêng cho mỗi trang web cấp cao nhất.

Các thay đổi

CHIPS (Cookie có trạng thái được phân vùng độc lập) là gì?

Cookie có trạng thái phân vùng độc lập (CHIPS) là một đề xuất trong khuôn khổ Hộp cát về quyền riêng tư cho phép nhà phát triển chọn cookie sử dụng bộ nhớ "được phân vùng", với các ngăn cookie riêng cho mỗi trang web cấp cao nhất.

Cookie của bên thứ ba được phân vùng sẽ liên kết với trang web cấp cao nhất được đặt ban đầu và không thể truy cập được từ trang web khác. Mục đích là cho phép dịch vụ bên thứ ba đặt cookie nhưng chỉ đọc cookie trong bối cảnh trang web cấp cao nhất nơi cookie được đặt ban đầu.

Bản dùng thử theo nguyên gốc dành cho ai?

Bản dùng thử này được cung cấp dưới dạng bản dùng thử theo nguyên gốc của bên thứ ba, cho phép các nhà cung cấp nội dung được nhúng dùng thử một tính năng mới trên nhiều trang web.

Nếu một trang web đăng ký dùng thử với tư cách là bên thứ nhất thì tính năng phân vùng cookie cũng sẽ áp dụng cho mọi nhà cung cấp nội dung bên thứ ba trên trang web đó. Các nhà cung cấp bên thứ ba này cũng sẽ nhận được các tiêu đề HTTP bổ sung, cho biết họ đã đăng ký sử dụng bản dùng thử theo nguyên gốc.

Bản dùng thử này sẽ chạy trong bao lâu?

Bản dùng thử sẽ có từ Chrome 100 đến Chrome 105. Kiểm tra lịch phát hành Chrome để biết các ngày phát hành dự kiến.

Cách đăng ký bản dùng thử theo nguyên gốc

Điều kiện tiên quyết

Chrome phiên bản ổn định 103.

Các bước

  1. Để đăng ký dùng thử theo nguyên gốc và nhận mã thông báo cho miền của bạn, hãy truy cập vào trang dùng thử theo nguyên gốc CHIPS.

  2. Đưa tiêu đề Origin-Trial vào mã thông báo hợp lệ trong mọi phản hồi có tiêu đề Set-Cookie chứa Partitioned:

    Origin-Trial: <ORIGIN TRIAL TOKEN>
    
  3. Thêm thuộc tính Partitioned vào cookie theo một trong hai cách sau:

    • Trong Set-Cookietiêu đề:

      Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;
      
    • Trong JavaScript:

      cookieStore.set({
      name: '__Host-name',
      value: 'value',
      secure: true,
      path: '/',
      sameSite: 'none',
      // Set a partitioned cookie using the attribute below.
      partitioned: true,
      });
      

Ví dụ:

Các trang web tham gia bản dùng thử theo nguyên gốc phải bao gồm các tiêu đề sau trong phản hồi:

Origin-Trial: <ORIGIN TRIAL TOKEN>
Set-Cookie: __Host-name=value; Secure; Path=/; SameSite=None; Partitioned;

Xác minh rằng ứng dụng đang hoạt động

Kiểm tra tiêu đề

Nếu bạn đã chọn tham gia bản dùng thử theo nguyên gốc thành công và đặt cookie được phân vùng, thì các yêu cầu tiếp theo từ ứng dụng Chrome sẽ bao gồm tiêu đề yêu cầu Sec-CH-Partitioned-Cookies: ?0 cho đến khi phiên hiện tại kết thúc.

Sec-CH-Partitioned-Cookies: ?0
Cookie: __Host-name=value

Nếu trang web của bạn nhận được cookie mà không có gợi ý ứng dụng này, thì việc chọn tham gia bản dùng thử theo nguyên gốc đã không thành công và cookie bạn nhận được không được phân vùng.

Những câu trả lời không chứa tiêu đề Set-CookiePartitioned sẽ không ảnh hưởng đến trạng thái tham gia bản dùng thử theo nguyên gốc của trang web.

Nếu bạn không phản hồi bằng mã thông báo hợp lệ trong tiêu đề Origin-Trial, thì các cookie được phân vùng trên máy sẽ được chuyển đổi thành cookie không được phân vùng.

Để biết thêm thông tin, hãy xem tài liệu về CHIPS trên chromium.org.

DevTools

  1. Chuyển đến chrome://flags/#partitioned-cookies rồi thay đổi chế độ cài đặt thành "Bật".
  2. Khởi động lại Chromium bằng cách nhấp vào nút "Khởi chạy lại" ở góc dưới cùng bên phải hoặc bằng cách chuyển đến chrome://restart.
  3. Truy cập vào chrome://settings/cookies và đảm bảo bạn đã đặt nút chọn thành "Cho phép tất cả cookie" hoặc "Chặn cookie của bên thứ ba ở chế độ Ẩn danh".
  4. Tải trang web bằng nhúng.
  5. Mở Công cụ cho nhà phát triển rồi chọn Ứng dụng > Cookie > yourSite và tìm cột Khoá phân vùng trong Công cụ cho nhà phát triển.

Thông tin khác

Yêu cầu về cookie

  • Cookie được phân vùng phải được đặt bằng Secure. (Path=/ không còn cần thiết: vui lòng truy cập vào github.com/privacycg/CHIPS/pull/49).
  • Bạn không thể sử dụng thuộc tính SameParty cùng với Partitioned.

Chrome sẽ thực thi các quy tắc này đối với các cookie được đặt có thuộc tính Partitioned bất kể phân vùng cookie đang bật hay tắt. Những cookie được đặt không chính xác sẽ bị từ chối.

Nếu tính năng phân vùng cookie bị tắt nhưng cookie được đặt bằng các thuộc tính chính xác, thì Chrome sẽ bỏ qua thuộc tính Partitioned và cookie thu được sẽ vẫn được gửi trong các yêu cầu đến máy chủ lưu trữ trên các trang web cấp cao nhất khác với nơi cookie được đặt.

Cookie được phân vùng cũng phải bao gồm thuộc tính SameSite=None để cho phép gửi cookie trong ngữ cảnh bên thứ ba trong các trình duyệt không hỗ trợ phân vùng cookie.

JavaScript và trình chạy dịch vụ

Các khung chọn tham gia bản dùng thử theo nguyên gốc sẽ có quyền đọc và ghi cookie được phân vùng bằng API JavaScript như document.cookie và API CookieStore. Các khung không có trong tập lệnh của thử nghiệm sẽ không thể đọc hoặc ghi cookie được phân vùng.

Bản dùng thử theo nguyên gốc CHIPS không được hỗ trợ trong trình chạy dịch vụ.

Thu hút và chia sẻ ý kiến phản hồi