Hướng dẫn Isoline

Giải thích cookie, local storage, cache và fingerprint trình duyệt

Cookie, local storage và cache là dữ liệu được trình duyệt giữ lại. Fingerprint được tổng hợp từ tín hiệu quan sát được, nên xóa dữ liệu chỉ xử lý một phần bề mặt nhận diện.

Các khái niệm này thường xuất hiện cùng nhau trong cài đặt riêng tư, hướng dẫn tìm lỗi và sản phẩm hồ sơ trình duyệt. Hành vi đủ khác nhau để câu “xóa trình duyệt” là chỉ dẫn chưa hoàn chỉnh.

Mô hình để hiểu và làm việc

Cơ chế Ai tạo hoặc kiểm soát Phạm vi thông thường Mục đích phổ biến Tự gửi kèm yêu cầu?
Cookie HTTP Máy chủ đặt; trình duyệt lưu và gửi lại theo quy tắc phạm vi Host hoặc domain, đường dẫn, thời hạn, điều kiện kết nối Mã phiên, tùy chọn, dữ liệu chống lạm dụng Có, nếu yêu cầu khớp phạm vi
localStorage JavaScript của site Origin, chịu phân vùng và chính sách trình duyệt Dữ liệu ứng dụng khóa–giá trị lưu lâu dài Không
sessionStorage JavaScript của site Origin trong phiên duyệt cấp cao nhất Dữ liệu tạm của tab hoặc quy trình Không
HTTP cache Trình duyệt và quy tắc cache HTTP Khóa cache, chỉ thị phản hồi, chính sách trình duyệt Dùng lại phản hồi để giảm trễ và lưu lượng Có thể đáp ứng hoặc xác thực lại yêu cầu
Cache Storage API JavaScript của site hoặc service worker Origin hoặc phân vùng lưu trữ Tài nguyên ngoại tuyến, phản hồi do ứng dụng quản lý Không tự đính kèm; script kiểm soát sử dụng
Fingerprint trình duyệt Site hoặc bên quan sát đo tín hiệu Tùy bên quan sát và tín hiệu Bảo mật, phát hiện gian lận, phân tích hoặc theo dõi Một số có trong yêu cầu; số khác cần chạy mã

Năm dòng đầu liên quan dữ liệu được giữ lại. Dòng cuối là phương pháp quan sát và liên hệ tín hiệu, dù dữ liệu lưu cũng có thể là đầu vào.

HTTP phần lớn không giữ trạng thái. Cookie cho máy chủ gửi cặp tên–giá trị đến trình duyệt rồi nhận lại trong yêu cầu phù hợp sau đó. RFC 6265 định nghĩa header phản hồi Set-Cookie, header yêu cầu Cookie và mô hình lưu của trình duyệt.

Cookie có thể:

  • theo phiên, giữ đến khi phiên do trình duyệt định nghĩa kết thúc;
  • lưu lâu dài, có ngày hết hạn hoặc tuổi tối đa;
  • chỉ host, chỉ gửi lại host đã đặt;
  • theo domain, đủ điều kiện gửi cho domain xác định và subdomain khớp;
  • theo đường dẫn, chỉ gửi khi đường yêu cầu khớp;
  • Secure, chỉ gửi trên kênh an toàn theo định nghĩa trình duyệt; và
  • HttpOnly, không lộ qua API cookie cho script nhưng vẫn dùng cho yêu cầu HTTP.

Thuộc tính ảnh hưởng việc gửi và quyền script. Chúng không biến giá trị cookie thành ranh giới bảo mật độc lập. RFC 6265 cảnh báo cụ thể không dựa vào Path để bảo mật, đồng thời khuyến nghị truyền an toàn và bảo vệ thêm cho nội dung cookie nhạy cảm.

Nhiều dịch vụ lưu mã phiên ngẫu nhiên trong cookie, còn bản ghi tài khoản và chi tiết phiên ở máy chủ. Xóa cookie bỏ bản mã trong trình duyệt, nên yêu cầu tiếp theo không còn trình cùng phiên. Tài khoản phía máy chủ và phiên khác có thể vẫn còn.

Điều này cũng giải thích vì sao sao chép cookie xác thực là nhạy cảm. Mã phiên dùng được có thể hoạt động như thông tin xác thực. Không dán cookie thô vào phiếu việc, log, đầu ra tự động hóa hoặc chat nhóm.

Local storage: dữ liệu một origin do script kiểm soát

Tiêu chuẩn HTML định nghĩa localStorage là truy cập vùng lưu cục bộ của origin. Nó được thiết kế để dùng qua nhiều cửa sổ và tồn tại sau phiên hiện tại. Kho chứa cặp chuỗi khóa–giá trị, cho script có quyền origin đó truy cập.

Origin thường kết hợp scheme, host và port. Vì vậy đây là các phạm vi khác nhau:

  • https://app.example.test
  • http://app.example.test
  • https://admin.example.test
  • https://app.example.test:8443

Đường dẫn URL không thuộc origin. Trang /billing/ và /support/ cùng origin có thể truy cập cùng vùng local storage, trừ khi ứng dụng tự tách logic.

Khác cookie, mục localStorage không tự gắn vào yêu cầu HTTP. Script phải đọc và quyết định sử dụng. Nó hữu ích cho tùy chọn giao diện, bản nháp, dữ liệu ứng dụng, nhưng script chạy với quyền origin có thể truy cập. Thiết kế phiên nhạy cảm phải tính tới script bị xâm phạm, không mặc định “cục bộ” là bí mật.

Lưu lâu dài ở đây nghĩa là dữ liệu có thể tồn tại sau phiên duyệt, không phải giữ vĩnh viễn. Người dùng có thể xóa, chính sách có thể hạn chế và trình duyệt có thể áp dụng quy tắc dung lượng, loại bỏ dữ liệu.

sessionStorage có vòng đời khác

sessionStorage gắn với origin và phiên duyệt cấp cao nhất. Nó phù hợp dữ liệu cần giữ khi quy trình tab hoặc cửa sổ tiếp tục, rồi kết thúc cùng phiên. Tab sao chép hoặc khôi phục có chi tiết vòng đời riêng từng trình duyệt, nên ứng dụng không nên dùng nó làm bản ghi duy nhất của công việc quan trọng.

Local storage chỉ là một cơ chế dữ liệu site

Ứng dụng web hiện đại còn có thể lưu trong IndexedDB, Cache Storage, đăng ký service worker, Origin Private File System, quyền và kho khác do trình duyệt quản lý. Chỉ xóa localStorage trong công cụ phát triển vì vậy có thể để dữ liệu khác nguyên vẹn.

Hướng dẫn riêng tư của Tiêu chuẩn HTML khuyến nghị trình duyệt cho phép xóa các cơ chế lưu lâu dài cùng nhau, vì nếu không site có thể dùng kho này tái tạo mã nhận diện đã xóa khỏi kho kia.

Cache: một từ cho nhiều cơ chế

HTTP cache

RFC 9111 định nghĩa cache HTTP là kho thông điệp phản hồi cùng hệ thống kiểm soát lưu, lấy và xóa. Cache trình duyệt có thể dùng lại phản hồi còn mới hoặc xác thực lại phản hồi cũ, giảm trễ và dữ liệu truyền mạng.

Khóa cache gồm ít nhất phương thức yêu cầu và URI đích; header phản hồi ảnh hưởng có dùng lại được không và trong bao lâu. HTTP cache là lớp tối ưu. Ảnh hoặc script đã cache thường không có nghĩa người đó đã đăng nhập.

Dữ liệu cache vẫn có thể ảnh hưởng riêng tư. Thời gian hoặc tài nguyên có sẵn chưa có thể lộ thông tin trong một số mô hình đe dọa. Hướng dẫn fingerprint của W3C tính quan sát tài nguyên cache là cách suy ra cấu hình trình duyệt hoặc người dùng.

Cache Storage và service worker

Cache Storage API cho site các đối tượng Cache do script kiểm soát rõ, thường cho ứng dụng web ngoại tuyến. Đặc tả Service Workers nói các cache này tách với HTTP cache, cô lập theo origin và do logic ứng dụng cập nhật, xóa thay vì quy tắc độ mới HTTP thông thường.

Khác biệt quan trọng khi tìm lỗi:

  • xóa “hình ảnh và tệp được lưu trong bộ nhớ đệm” nhắm cache thông thường;
  • xóa dữ liệu site cũng có thể xóa Cache Storage và dữ liệu service worker; và
  • tải lại bỏ qua HTTP cache vẫn có thể để service worker đang hoạt động kiểm soát yêu cầu.

Gọi rõ loại cache trước khi quyết định cách kiểm tra hoặc xóa.

Phân vùng lưu trữ thêm một khóa

Phạm vi origin trước đây cho bên thứ ba nhúng đọc cùng kho khi xuất hiện trong nhiều site cấp cao nhất. Trình duyệt hiện đại ngày càng thêm site cấp cao nhất hoặc bối cảnh liên quan vào khóa lưu trữ.

Chrome ghi rằng phân vùng lưu trữ ngăn frame example.com nhúng trên a.com tự động chia sẻ Local Storage, IndexedDB, Cache Storage, service worker và một số cơ chế liên lạc với cùng frame trên b.com. Chrome nói đã bật cho mọi người dùng từ Chrome 115, với thay đổi sau đó cho một số API bổ sung.

Phân vùng giải thích kết quả dễ gây ngạc nhiên: cùng origin nhúng có thể thấy kho khác tùy site bao quanh. Điều đó không có nghĩa mọi kho ở mọi nơi dùng một mô hình hai khóa chung. Phiên bản, bối cảnh cấp cao nhất và nhúng, quyền truy cập kho, chính sách doanh nghiệp, tiện ích và quy tắc API có thể làm kết quả khác.

Thử đúng bối cảnh thay vì chỉ suy từ tên miền.

Fingerprint trình duyệt: tín hiệu quan sát, không phải thư mục

W3C định nghĩa fingerprint là khả năng nhận diện hoặc nhận diện lại người dùng, user agent hay thiết bị qua cài đặt cấu hình hoặc đặc điểm quan sát khác. Hướng dẫn năm 2025 tách nhiều dạng:

  • Fingerprint thụ động dùng thông tin đã thấy trong yêu cầu hoặc mạng, như header và IP.
  • Fingerprint chủ động chạy mã để quan sát kích thước cửa sổ, phông chữ, thiết bị kết nối, hiệu năng, cảm biến hoặc kết xuất đồ họa.
  • Liên hệ sự kiện thoáng qua nối bối cảnh qua thay đổi thiết bị hoặc môi trường gần như đồng thời.
  • Kỹ thuật giống cookie lưu và lấy dữ liệu bằng cơ chế có thể tồn tại lâu hơn hoặc tái tạo cookie thường.

Fingerprint hiếm khi là một giá trị bất biến được trình duyệt lưu. Bên quan sát chọn tín hiệu, kết hợp và quyết định mức khớp lần truy cập trước. Kết quả có thể đổi khi cập nhật trình duyệt, đổi cửa sổ, thêm phông chữ, nối thiết bị hoặc đổi tuyến mạng. Nó cũng có thể vẫn tương tự sau xóa cookie vì nhiều tín hiệu nền không đổi.

Fingerprint không phải bằng chứng danh tính

Một tập tín hiệu có thể phổ biến ở nhiều người hoặc thay đổi ở cùng một người. Site có thể kết hợp fingerprint với đăng nhập, lịch sử tài khoản phía máy chủ, uy tín mạng hoặc mã đã lưu. Vì vậy, nhận ra sau xóa dữ liệu không chứng minh fingerprint là nguyên nhân duy nhất.

Cũng vì thế, đổi một cài đặt nhìn thấy không bảo đảm danh tính mới. Cấu hình nhất quán, phổ biến có thể giảm một số tính độc nhất; nhiều thay đổi lạ độc lập có thể tạo tổ hợp hiếm hơn. Các tín hiệu không thể làm cơ sở cho bảo đảm vô hình hoặc bên thứ ba chấp nhận.

Các cách xóa thường gặp thực sự thay đổi gì

Thao tác Tác động có thể có Phần quan trọng còn lại
Xóa cookie của site Bỏ cookie phù hợp trong trình duyệt, thường đăng xuất hồ sơ Dữ liệu tài khoản máy chủ, thiết bị khác và kho không phải cookie có thể còn
Xóa cookie và dữ liệu site khác Có thể xóa cookie, Web Storage, IndexedDB, service worker và dữ liệu liên quan, tùy giao diện, phạm vi Trình quản lý mật khẩu, tệp tải, dữ liệu tài khoản và tín hiệu thiết bị là phần riêng
Xóa hình ảnh, tệp cache Bỏ phản hồi cache thông thường Cookie, local storage, Cache Storage có thể cần chọn riêng
Xóa lịch sử Bỏ URL đã truy cập và gợi ý liên quan trong phạm vi chọn Tệp đã tải và bản ghi do site giữ còn lại
Xóa hồ sơ trình duyệt Bỏ dấu trang, lịch sử, mật khẩu và cài đặt cục bộ của hồ sơ khỏi thiết bị Dữ liệu tài khoản đồng bộ, tệp tải/xuất, bản sao lưu và dữ liệu máy chủ có thể còn
Bắt đầu hồ sơ mới Khởi đầu bằng tập dữ liệu hồ sơ khác Thiết bị, hệ điều hành, build và mạng vẫn có thể được thấy là liên quan

Hướng dẫn dữ liệu duyệt web Chrome xem lịch sử, cookie và dữ liệu site, ảnh/tệp cache, lịch sử tải, tự động điền, cài đặt site và dữ liệu ứng dụng được lưu trữ là nhóm riêng. Hướng dẫn cũng nói xóa lịch sử tải vẫn giữ tệp trên máy, còn xóa dữ liệu đã đăng nhập có thể ảnh hưởng Tài khoản Google và thiết bị đồng bộ khác.

Tác động chính xác tùy khoảng thời gian chọn, hồ sơ, trạng thái tài khoản, phiên bản và chính sách doanh nghiệp. Đọc xác nhận trước khi xóa dữ liệu khó phục hồi.

Hồ sơ riêng tác động từng cơ chế thế nào

Hồ sơ lâu dài tách đúng cần có kho cookie, vùng Web Storage, cơ sở dữ liệu site, Cache Storage, phạm vi HTTP cache, lịch sử, quyền site và dữ liệu tiện ích riêng. Điều đó ngăn B đơn giản thừa hưởng phiên đã lưu của A.

Một số tín hiệu có thể vẫn chung:

  • nền tảng và phiên bản trình duyệt;
  • hệ điều hành, phần cứng;
  • phông chữ hệ thống, đặc điểm màn hình;
  • ngôn ngữ, múi giờ hoặc trợ năng kế thừa máy chủ;
  • IP và đường mạng khi không cấu hình tuyến riêng; và
  • hành vi hoặc đăng nhập nối hoạt động ở lớp ứng dụng.

Hồ sơ khác cũng có thể lộ tín hiệu khác qua tiện ích, quyền, kích thước cửa sổ, ngôn ngữ hoặc tuyến proxy. Tác động tổng thể tùy triển khai và bối cảnh. Đánh giá tách hồ sơ như cô lập dữ liệu, không phải bảo đảm fingerprint.

Chẩn đoán triệu chứng trước khi xóa mọi thứ

“Tôi bị đăng xuất”

Kiểm tra cookie trước. Cookie phiên có thể hết hạn, bị xóa, bị chính sách từ chối hoặc bị máy chủ vô hiệu hóa. Local storage có thể hỗ trợ giao diện nhưng thông thường không phải cookie tự gửi để xác thực yêu cầu HTTP.

“Trang quên bản nháp hoặc dữ liệu ngoại tuyến”

Xem local storage, IndexedDB, Cache Storage và dữ liệu service worker. Xác nhận origin và trang ở cấp cao nhất hay nhúng trong site khác, vì phân vùng có thể đổi kho sẵn có.

“Lần tải lại đầu chậm”

HTTP cache trống hoặc cũ là nguyên nhân khả dĩ. Mạng, máy chủ, service worker cũng có thể tạo triệu chứng đó, nên ghi thời gian yêu cầu và trạng thái cache trước kết luận.

“Trang vẫn nhận ra môi trường sau khi tôi xóa dữ liệu”

Vẫn có nhiều giải thích: tài khoản còn đăng nhập nơi khác, máy chủ nối lần truy cập qua dữ liệu tài khoản/mạng, kho trình duyệt khác còn lại hoặc đặc điểm quan sát liên hệ các phiên. Xem fingerprint là một giả thuyết, không phải câu trả lời mặc định.

Chọn cách xử lý theo cơ chế

Dùng cơ chế để chọn giải pháp:

  • kiểm tra hoặc xóa cookie khi câu hỏi liên quan phiên máy chủ;
  • kiểm tra kho site theo origin khi ứng dụng giữ dữ liệu cục bộ;
  • phân biệt HTTP cache với Cache Storage khi tìm lỗi nội dung cũ hoặc ngoại tuyến;
  • dùng hồ sơ lâu dài riêng khi dữ liệu công việc cần độc lập; và
  • xem fingerprint là liên hệ các tín hiệu quan sát, có giới hạn mà xóa dữ liệu hoặc đổi một cài đặt không xóa được.

Mô hình tránh hai sai lầm tốn kém: xóa nhiều dữ liệu hơn cần và cho rằng kho cookie trống tạo ra danh tính thiết bị mới.

Giới hạn

Lưu trữ web và hành vi riêng tư thay đổi giữa trình duyệt, bản phát hành. Quy tắc cookie bên thứ ba, phân vùng, loại bỏ dữ liệu, đồng bộ, chính sách doanh nghiệp, tiện ích và chế độ riêng tư có thể đổi hành vi mô tả. Hướng dẫn giải thích tiêu chuẩn và tài liệu Chrome tại ngày truy cập; không mô tả mọi triển khai trình duyệt hoặc site.

Về hướng dẫn này

Hỗ trợ AI
Bài viết được dịch từ bản tiếng Anh với sự hỗ trợ của AI. Isoline chịu trách nhiệm về nội dung xuất bản. Chưa có ghi nhận rà soát bởi người thông thạo tiếng Việt.

Nguồn

Các nguồn hỗ trợ những chủ đề được liệt kê bên dưới. Ngày truy cập cho biết khi nào tài liệu được trích đã được kiểm tra.

  1. Chủ đề được hỗ trợ
    Lưu, gửi cookie, ý nghĩa thuộc tính, giới hạn bảo mật và quyền phiên tự gắn vào yêu cầu.
    Ngày truy cập
  2. Chủ đề được hỗ trợ
    Hành vi localStorage, sessionStorage theo origin, lưu giữ và hướng dẫn quyền riêng tư.
    Ngày truy cập
  3. IETF RFC 9111: HTTP Caching Internet Engineering Task Force
    Chủ đề được hỗ trợ
    Lưu cache HTTP, khóa, độ mới, xác thực lại và tái sử dụng phản hồi.
    Ngày truy cập
  4. Chủ đề được hỗ trợ
    Cache Storage gắn origin, do script kiểm soát và tách với HTTP cache của trình duyệt.
    Ngày truy cập
  5. Chủ đề được hỗ trợ
    Phân vùng Chrome theo bối cảnh cấp cao nhất, quá trình triển khai và giới hạn theo API.
    Ngày truy cập
  6. Chủ đề được hỗ trợ
    Các nhóm xóa riêng, tác động đồng bộ và dữ liệu còn lại sau xóa lịch sử.
    Ngày truy cập
  7. Chủ đề được hỗ trợ
    Kiểm soát loại dữ liệu trình duyệt, gồm Cache Storage, service worker và nhóm lưu trữ site.
    Ngày truy cập
  8. Chủ đề được hỗ trợ
    Tách hồ sơ Chrome cục bộ, tác động và giới hạn của xóa hồ sơ.
    Ngày truy cập
  9. Chủ đề được hỗ trợ
    Đầu vào fingerprint thụ động, chủ động, có lưu trạng thái và giới hạn liên hệ chúng.
    Ngày truy cập
Đề xuất đính chính