Home/ Blog/So sánh local storage và session storage: Nên dùng cái nào?

So sánh local storage và session storage: Nên dùng cái nào?

logo Hidemyacc circle

Các website hiện nay luôn cần lưu lại dữ liệu để ghi nhớ cài đặt của người dùng như ngôn ngữ, giao diện hay giỏ hàng. Trên thực tế, ngoài Cookie, trình duyệt còn sử dụng hai kho lưu trữ khác là local storage và session storage mà ít người chú ý tới. Nếu không hiểu rõ sự khác nhau giữa hai loại này, người dùng rất dễ để lại các dấu vết dữ liệu trên trình duyệt. Đây cũng là một trong những yếu tố mà nhiều nền tảng có thể sử dụng để nhận diện môi trường truy cập hoặc liên kết các tài khoản với nhau.

Trong bài viết so sánh local storage và session storage dưới đây, Hidemyacc sẽ giúp bạn hiểu rõ sự khác biệt giữa hai cơ chế lưu trữ này và lựa chọn cách lưu trữ dữ liệu phù hợp.

1. Local storage 

1.1. Định nghĩa

Local storage là một cơ chế lưu trữ dữ liệu trên trình duyệt, cho phép lưu thông tin trực tiếp trên thiết bị của người dùng dưới dạng chuỗi giá trị. Về bản chất, local storage cho phép website lưu trữ dữ liệu gần như vĩnh viễn trên trình duyệt, các thông tin vẫn được giữ lại khi người dùng tải lại trang hoặc truy cập lại sau một thời gian. Dữ liệu chỉ bị xóa khi người dùng chủ động xóa dữ liệu trình duyệt (cache, site data) hoặc thực hiện các thao tác như cài đặt lại trình duyệt.

Các ứng dụng phổ biến nhất của local storage là lưu cài đặt giao diện tối dark mode, ghi nhớ ngôn ngữ hiển thị hay các thiết lập cá nhân hóa khác, giúp duy trì trải nghiệm liền mạch cho những lần truy cập sau.

So sánh local storage và session storage
Local storage lưu dữ liệu trên trình duyệt

Ngoài các cơ chế lưu trữ dữ liệu như local storage hay session storage, nhiều website còn sử dụng browser fingerprint để nhận diện thiết bị truy cập. Bạn có thể tìm hiểu chi tiết hơn trong bài Browser Fingerprint là gì và cách website nhận diện thiết bị của bạn.

1.2. Ưu điểm

Ưu điểm lớn nhất của cơ chế này là dữ liệu tồn tại lâu dài, do đó khi người dùng quay lại trang web, họ vẫn sẽ thấy các cài đặt cũ được giữ nguyên. Bên cạnh đó, dữ liệu trong Local Storage rất dễ dàng để chia sẻ đồng bộ giữa nhiều tab khác nhau, mang lại sự tiện lợi lớn cho các tính năng như giỏ hàng mua sắm, bảng điều khiển hoặc thay đổi giao diện.Ngoài ra, dữ liệu vẫn được giữ nguyên khi người dùng tải lại trang và vẫn có thể được truy cập lại trong những lần mở website sau.

1.3. Nhược điểm

Tuy nhiên, local storage cũng đi kèm một số nhược điểm. Do tính chất lưu trữ lâu dài, người dùng rất dễ quên việc dọn dẹp, dẫn đến tình trạng tích tụ dữ liệu rác trên trình duyệt theo thời gian. Nghiêm trọng hơn, vì dữ liệu vẫn tồn tại sau khi người dùng đăng xuất, điều này có thể gây ra những rủi ro lớn về mặt bảo mật nếu website vô tình lưu trữ các thông tin nhạy cảm.

2. Session storage

2.1. Định nghĩa

Session storage là một cơ chế lưu dữ liệu có cấu trúc tương tự như local storage, nhưng điểm khác biệt chính là dữ liệu chỉ tồn tại trong một phiên làm việc của tab trình duyệt. Cụ thể, session storage chỉ lưu dữ liệu trong phạm vi của một tab trình duyệt duy nhất. Khi người dùng đóng tab hoặc đóng cửa sổ trình duyệt đó lại, toàn bộ dữ liệu sẽ tự động bị xóa. Mặc dù vậy, nếu người dùng chỉ thực hiện thao tác tải lại trang, dữ liệu bên trong vẫn sẽ được giữ nguyên vẹn.

Cơ chế này thường được các nhà phát triển sử dụng để xử lý các luồng dữ liệu mang tính chất tạm thời trong quá trình người dùng thao tác trực tiếp trên website. Các ví dụ điển hình bao gồm việc lưu giữ trạng thái đang nhập dở của một biểu mẫu có nhiều bước, lưu trữ dữ liệu tạm thời trong quá trình thanh toán checkout hoặc giữ lại những thông tin chỉ thực sự cần thiết trong một phiên truy cập ngắn hạn.

So sánh local storage và session storage
Session storage lưu dữ liệu theo phiên 

2.2. Ưu điểm

Lợi thế của session storage là cơ chế tự động dọn dẹp ngay khi đóng tab, giúp môi trường trình duyệt luôn sạch sẽ và an toàn hơn rất nhiều so với việc lưu trữ dài hạn. Hơn nữa, mỗi tab đều có một kho lưu trữ dữ liệu hoàn toàn độc lập, giúp tránh được tình trạng xung đột thông tin khi người dùng mở nhiều tab của cùng một trang web cùng lúc. 

Đây là giải pháp cực kỳ hoàn hảo cho các luồng dữ liệu tạm thời, các biểu mẫu điền thông tin dài hoặc các quy trình thanh toán mua hàng.

2.3. Nhược điểm 

Bù lại, nhược điểm của nó là dữ liệu sẽ biến mất ngay lập tức khi tab bị đóng. Điều này đồng nghĩa với việc người dùng sẽ phải nhập lại thông tin từ đầu nếu họ chưa hoàn thành công việc mà vô tình tắt tab. Ngoài ra, session storage không thể chia sẻ dữ liệu qua lại giữa các tab với nhau và cũng không thể dùng để lưu giữ các cài đặt lâu dài cho người dùng.

3. So sánh local storage vs session storage

Để hiểu rõ hơn sự khác biệt giữa hai cơ chế lưu trữ này, chúng ta cần so sánh local storage và session storage dựa trên cách hoạt động, phạm vi lưu trữ và thời gian tồn tại của dữ liệu.

Mặc dù đều thuộc nhóm browser storage và có nhiều điểm tương đồng, nhưng mỗi loại lại được thiết kế để phục vụ những mục đích sử dụng khác nhau trong ứng dụng web.

3.1. Sự giống nhau

Vì đều thuộc Web Storage API,  khi so sánh local storage và session storage có thể thấy chúng có nhiều điểm tương đồng về cách lưu trữ dữ liệu và phương thức truy cập.

  • Lưu trữ tại trình duyệt: Cả hai đều lưu dữ liệu trực tiếp trên trình duyệt của người dùng (client-side), giúp website truy xuất thông tin nhanh mà không cần gửi yêu cầu lên máy chủ.
  • Cấu trúc dữ liệu: Đều sử dụng mô hình key–value (khóa–giá trị), trong đó dữ liệu được lưu dưới định dạng chuỗi văn bản string.
  • Dung lượng:  Hai cơ chế này đều cung cấp một không gian lưu trữ khá rộng rãi nếu đem so sánh với Cookies, thường dao động trong khoảng từ 5 đến 10MB tùy thuộc vào từng loại trình duyệt.
  • Quản lý theo tên miền domain:  Dữ liệu luôn được cô lập và quản lý chặt chẽ theo từng tên miền riêng biệt. Một website sẽ không thể truy cập, đọc hay chỉnh sửa dữ liệu của một website khác, qua đó đảm bảo được tính bảo mật cơ bản.
  • Công cụ truy cập: Đều sử dụng chung bộ Web Storage API với các câu lệnh tương tự nhau để thêm, sửa hoặc xóa dữ liệu.
  • Không ảnh hưởng khi tải lại trang: Dữ liệu trong cả hai kho lưu trữ đều không bị mất đi khi bạn nhấn F5 hoặc tải lại trang web.

Nhìn chung, local storage và session storage có nhiều điểm tương đồng vì cùng thuộc Web Storage API và sử dụng cơ chế lưu trữ dữ liệu tương tự trên trình duyệt. Điều này giúp các nhà phát triển có thể truy xuất và quản lý dữ liệu một cách nhanh chóng mà không cần phụ thuộc hoàn toàn vào máy chủ.

So sánh local storage và session storage
So sánh local storage và session storage

3.2. Sự khác nhau

Mặc dù đều thuộc Web Storage API, nhưng khi so sánh local storage và session storage, có thể thấy hai cơ chế này được thiết kế cho những mục đích sử dụng khác nhau. Sự khác biệt chủ yếu nằm ở phạm vi hoạt động của dữ liệu và cách dữ liệu được duy trì trong trình duyệt.

Bảng dưới đây giúp bạn dễ dàng so sánh hai loại browser storage này.

Tiêu chí

Local Storage

Session Storage

Thời gian lưu dữ liệu

Dữ liệu được lưu lâu dài và không có thời hạn hết hạn mặc định. Chỉ mất khi người dùng xóa cache hoặc cài lại trình duyệt.

Dữ liệu chỉ tồn tại trong một phiên làm việc (session) của tab. 

Phạm vi chia sẻ

Chia sẻ được giữa nhiều tab hoặc cửa sổ của cùng một website trong cùng trình duyệt.

Chỉ tồn tại trong tab đang mở, không chia sẻ với các tab khác (ngay cả khi cùng một website).

Dung lượng lưu trữ

Khoảng 5–10MB cho mỗi domain (tùy trình duyệt).

Tương tự Local Storage, khoảng 5–10MB cho mỗi domain.

Cách truy cập

Sử dụng Web Storage API (dạng key–value), chỉ hỗ trợ kiểu dữ liệu chuỗi (string).

Sử dụng Web Storage API (dạng key–value), chỉ hỗ trợ kiểu dữ liệu chuỗi (string).

Khi tải lại trang

Dữ liệu vẫn được giữ nguyên.

Dữ liệu vẫn được giữ nguyên khi reload trang.

Khi đóng tab hoặc cửa sổ trình duyệt 

Dữ liệu vẫn được giữ lại và có thể truy cập lại khi mở website ở lần sau.

Dữ liệu bị xóa ngay khi tab hoặc cửa sổ trình duyệt bị đóng

Mục đích phổ biến

Lưu cài đặt lâu dài: giao diện (dark mode), ngôn ngữ, thông tin đăng nhập (nếu cần).

Lưu dữ liệu tạm thời: trạng thái form nhiều bước, giỏ hàng tạm thời, dữ liệu phiên truy cập.

Từ bảng so sánh trên, có thể thấy local storage và session storage được thiết kế để phục vụ hai nhu cầu lưu trữ dữ liệu khác nhau trong trình duyệt.

  • Thời gian lưu trữ: dữ liệu trong local storage được giữ lại lâu dài trên trình duyệt, còn session storage chỉ tồn tại trong phiên làm việc của tab.
  • Phạm vi hoạt động: local storage có thể chia sẻ dữ liệu giữa nhiều tab của cùng một website, trong khi session storage chỉ giới hạn trong tab hiện tại.

Do đó, việc hiểu rõ hai đặc điểm này sẽ giúp bạn lựa chọn loại browser storage phù hợp cho từng nhu cầu lưu trữ dữ liệu.

4. Cách chọn nhanh giữa local storage và session storage

Sau khi so sánh local storage và session storage, việc quyết định sử dụng loại nào phụ thuộc rất lớn vào khoảng thời gian cần lưu trữ và cách mà dữ liệu đó được sử dụng. Để lựa chọn chính xác, bạn có thể tự trả lời các câu hỏi sau:

  • Dữ liệu có cần giữ lại sau khi đóng trình duyệt hoặc quay lại website không?

    Nếu câu trả lời là có, local storage là lựa chọn đúng đắn. Nếu không, hãy dùng session storage.
  • Dữ liệu có cần chia sẻ giữa nhiều tab của cùng một website không? (ví dụ: giỏ hàng, theme, cài đặt giao diện)

    Nếu có, hãy chọn local storage. Nếu không cần thiết, session storage sẽ an toàn hơn nhiều vì nó giúp tránh rò rỉ dữ liệu giữa các luồng công việc khác nhau
  • Dữ liệu chỉ mang tính tạm thời hoặc liên quan đến một quy trình ngắn?

    Session Storage thường phù hợp hơn vì dữ liệu sẽ tự động bị xóa khi đóng tab. Nó giúp lưu giữ trạng thái trơn tru trong suốt quá trình thao tác và sẽ tự động dọn dẹp sạch sẽ ngay khi phiên làm việc kết thúc.
  • Ứng dụng có form nhiều bước hoặc quy trình checkout tạm thời?

    Session Storage là lựa chọn tối ưu để lưu trạng thái trong suốt quá trình thao tác.

Tóm lại: Local Storage phù hợp để lưu dữ liệu lâu dài như: cài đặt giao diện (dark mode), ngôn ngữ website, bộ lọc cá nhân hoặc một số dữ liệu cache. Trong khi đó session storage phù hợp với dữ liệu tạm thời, ví dụ: trạng thái form nhiều bước, tiến trình checkout hoặc thông tin chỉ dùng trong một phiên truy cập.

Lời khuyên: Hãy luôn ưu tiên bắt đầu với session storage để đảm bảo bộ nhớ trình duyệt luôn gọn nhẹ, và chỉ nên chuyển sang dùng local storage khi thực sự có nhu cầu lưu trữ thông tin xuyên suốt giữa các lần truy cập.

5. Vì sao browser storage quan trọng khi sử dụng nhiều tài khoản

Khi sử dụng nhiều tài khoản trên cùng một thiết bị máy tính, các dữ liệu được lưu lại trên trình duyệt như local storage, cookies hay các dấu vân tay trình duyệt có thể bị các nền tảng trực tuyến thu thập để xác định môi trường truy cập.

Nếu bạn cho nhiều tài khoản hoạt động chung trong một trình duyệt thông thường, một lượng lớn dữ liệu nhận diện có thể vô tình bị chia sẻ chéo giữa các phiên làm việc. Điều này có thể khiến các nền tảng nhận diện rằng nhiều tài khoản đang được truy cập từ cùng một thiết bị hoặc môi trường trình duyệt.

Chính vì rủi ro này, những người làm công việc đòi hỏi quản lý số lượng lớn tài khoản thường phải sử dụng đến các công cụ trình duyệt chống phát hiện antidetect browser Hidemyacc. Cụ thể, Hidemyacc cho phép gán proxy và cấu hình fingerprint cho từng profile. Khi đó, hệ thống sẽ nhận diện chúng như đang đăng nhập từ các thiết bị và địa chỉ IP hoàn toàn riêng biệt. Nhờ vậy, các tài khoản được cô lập môi trường hoạt động, giúp giảm tối đa nguy cơ bị khóa liên đới hoặc cấm truy cập hàng loạt khi bạn quản lý nhiều tài khoản trên các nền tảng trực tuyến.

6. Lưu ý bảo mật khi sử dụng Web Storage

Rủi ro bảo mật lớn nhất liên quan đến Web Storage thường xảy ra khi trang web gặp phải lỗ hổng bảo mật. Nếu tin tặc có thể chèn và chạy các đoạn mã JavaScript độc hại trên trang, chúng hoàn toàn có khả năng đọc và đánh cắp toàn bộ dữ liệu đang được lưu trong các kho chứa này. Ngoài ra, trong môi trường trình duyệt vẫn tồn tại nhiều dạng rò rỉ dữ liệu khác. Chẳng hạn, một số lỗ hổng như WebRTC leak có thể khiến địa chỉ IP thật của người dùng bị lộ ngay cả khi đang sử dụng VPN.

Do đó, một nguyên tắc quan trọng là tuyệt đối không lưu trữ các dữ liệu nhạy cảm như token đăng nhập, mật khẩu hoặc thông tin cá nhân quan trọng vào trong local storage hay session storage. Việc bảo vệ những thông tin này bằng các phương thức an toàn hơn sẽ giúp tránh nguy cơ rò rỉ dữ liệu đáng tiếc.

Bên cạnh đó, nhiều người dùng cũng lựa chọn các trình duyệt riêng tư để hạn chế việc bị theo dõi khi truy cập internet. Bạn có thể tìm hiểu thêm về Trình duyệt riêng tư và cách bảo vệ quyền riêng tư trực tuyến của bạn.

7. Kết luận

Thông qua so sánh local storage và session storage, có thể thấy cả hai đều đóng vai trò là những cơ chế lưu trữ dữ liệu thiết yếu, giúp các website hiện đại hoạt động mượt mà hơn trên trình duyệt. Trong khi local storage nổi bật với khả năng duy trì thông tin cá nhân hóa lâu dài, thì session storage lại thể hiện sự ưu việt trong việc xử lý các dữ liệu tạm thời gọn nhẹ. Hiểu rõ sự khác biệt giữa hai cơ chế này sẽ giúp bạn lựa chọn phương thức lưu trữ phù hợp, tối ưu hiệu năng website và đảm bảo an toàn cho dữ liệu người dùng.

8. FAQ 

1. Local Storage và Session Storage khác nhau ở điểm nào?

Local storage lưu dữ liệu lâu dài trên trình duyệt, trong khi session storage chỉ tồn tại trong một phiên tab.

2. Session Storage có bị mất khi refresh trang không?

Giải thích rằng dữ liệu vẫn giữ nguyên khi reload trang nhưng sẽ bị xóa khi đóng tab.

3. Local Storage có dung lượng bao nhiêu?

Trả lời rằng hầu hết các trình duyệt cho phép lưu khoảng 5–10MB dữ liệu mỗi domain.

4. Local Storage có an toàn để lưu thông tin đăng nhập không?

Không nên. Local Storage có thể bị truy cập bởi JavaScript nếu website gặp lỗ hổng XSS. Vì vậy không nên lưu token đăng nhập hoặc dữ liệu nhạy cảm trong Local Storage.

5. Session Storage có chia sẻ dữ liệu giữa các tab không?

Không. Session Storage chỉ hoạt động trong một tab cụ thể của trình duyệt.  Nếu người dùng mở cùng một website ở tab khác, tab đó sẽ có một phiên Session Storage hoàn toàn riêng biệt. Điều này giúp tránh việc dữ liệu tạm thời bị chia sẻ giữa nhiều tab.

6. Có thể xóa dữ liệu Local Storage và Session Storage không?

Có. Người dùng có thể xóa dữ liệu này bằng cách xóa dữ liệu trang web trong trình duyệt hoặc sử dụng công cụ Developer Tools. Ngoài ra, website cũng có thể chủ động xóa dữ liệu bằng JavaScript thông qua Web Storage API.

Ads

Read more

DataDome CAPTCHA là gì và vì sao bạn liên tục gặp nó?

DataDome CAPTCHA là gì và vì sao bạn liên tục gặp nó?

Bạn đang thao tác bình thường thì màn hình bất ngờ hiện yêu cầu xác minh. Giải xong tưởng đã ổn, nhưng chỉ vài phút sau lại gặp CAPTCHA, thậm chí càng thử lại càng dễ bị chặn. Vấn đề thường không nằm ở bản thân CAPTCHA mà ở những tín hiệu phía sau khiến hệ thống nghi ngờ phiên truy cập của bạn. Bài viết này sẽ giải thích cơ chế đằng sau DataDome CAPTCHA, nguyên nhân khiến bạn liên tục gặp yêu cầu xác minh, giải thích cơ chế, vì sao người dùng thật cũng bị chặn, và xử lý theo từng trường hợp.

logo Hidemyacc circle
iPhey Test: Kiểm tra fingerprint và cách cải thiện

iPhey Test: Kiểm tra fingerprint và cách cải thiện

Khi dùng nhiều tài khoản hoặc truy cập các nền tảng có hệ thống chống gian lận, chỉ ẩn địa chỉ IP là chưa đủ, vì website vẫn có thể thu thập nhiều thông tin khác từ trình duyệt và thiết bị để tạo dấu vân tay trình duyệt. iPhey Test là công cụ giúp bạn nhìn thấy chính xác những thông tin đó đang bị lộ ra ngoài như thế nào. Bài viết sẽ giải thích iPhey Test là gì, kiểm tra những hạng mục nào, cách đọc kết quả, các lỗi thường gặp, và cách dùng Hidemyacc để thiết lập một môi trường trình duyệt nhất quán, giúp cải thiện kết quả iPhey Fingerprint Test.

logo Hidemyacc circle
Chrome remote debugging: cách bật và sử dụng chi tiết

Chrome remote debugging: cách bật và sử dụng chi tiết

Khi cần điều khiển trình duyệt bằng mã, nhiều người dừng lại ở việc mở Chrome rồi giả lập thao tác chuột. Cách đó chậm, dễ gãy và khó mở rộng. Chrome remote debugging mở ra một hướng khác: bạn nói chuyện trực tiếp với nhân trình duyệt qua giao thức DevTools, đọc DOM, chặn request, chạy script, quản lý nhiều phiên cùng lúc. Bài viết đi qua cơ chế hoạt động, các cách bật và kết nối, những lỗi hay gặp, và phần quan trọng nhất là cách dùng sao cho bạn không tự để lộ dấu hiệu tự động hoá trước các nền tảng đang theo dõi.

logo Hidemyacc circle
JA3 Fingerprint là gì và cách website nhận diện người dùng

JA3 Fingerprint là gì và cách website nhận diện người dùng

Nhiều người đổi proxy, thay User-Agent, vẫn bị Cloudflare challenge hay tài khoản bị gắn cờ mà không hiểu tại sao. Lý do có thể nằm ở tầng kết nối: JA3 Fingerprint là dấu vân tay được tạo ngay khi trình duyệt thiết lập kết nối HTTPS, không phụ thuộc cookie hay JavaScript. Bài này giải thích JA3 hoạt động như thế nào, website dùng nó để làm gì, và tại sao một số hành vi thông thường lại dễ bị hệ thống phát hiện qua JA3.

logo Hidemyacc circle
AudioContext Fingerprint: Hoạt động và cách phòng chống

AudioContext Fingerprint: Hoạt động và cách phòng chống

Bạn đã từng đổi IP, xóa cookie hoặc mở chế độ ẩn danh nhưng website vẫn nhận ra thiết bị của mình? Đó là bởi các nền tảng hiện nay không chỉ dựa vào những thông tin này để nhận diện người dùng. Thay vào đó, chúng còn phân tích nhiều đặc điểm của trình duyệt, trong đó có cách xử lý âm thanh thông qua Web Audio API. Kỹ thuật này ngày càng được sử dụng trong các hệ thống chống gian lận, quảng cáo và quản lý tài khoản. Trong bài viết này, bạn sẽ tìm hiểu cơ chế hoạt động của AudioContext Fingerprint, lý do nó được sử dụng trong browser fingerprinting và những cách giúp giảm nguy cơ bị nhận diện khi duyệt web hoặc quản lý nhiều tài khoản.

logo Hidemyacc circle