Phân biệt Web Storage và Cookie

  • admin
  • 7 Tháng Sáu, 2023

Trong bài này cùng mình phân biệt web storage và cookie nhé. Gét gô

Web Storage & Cookie

  • Web storage có 2 loại đó là Local Storage và Session Storage
  • Web storage lưu trữ được nhiều dữ liệu và dễ dùng hơn Cookie. Nhưng không có nghĩa họ bỏ không dùng Cookie nhé. Mỗi thằng có những ưu nhược khác nhau tùy case mình linh động nghen
  • Cả 3 đều dùng chung mục đích lưu thông tin trên trình duyệt để tiện xử lý sau này
  • Khác biệt lớn nhất giữa Local Storage, Session Storage và Cookie là thời gian lưu lại trên trình duyệt

Local Storage

  • Là Web Storage
  • Lưu lại vĩnh viễn trên trình duyệt. Khi mình chủ động xóa thì nó mới mất thui
  • Dung lượng lưu trữ khoản 5Mb – 10Mb tùy trình duyệt
  •  Các trang khác không thể truy cập đến Local Storage nếu như khác domain


Session Storage

  • Là Web Storage giống như Local Storage
  • Lưu lại 1 phiên dùng web thôi, đóng tab là mất hết data
  • Dung lượng lưu trữ khoản 5Mb – 10Mb tùy trình duyệt
  • Các trang khác không thể truy cập đến Session Storage nếu như khác domain

  • Có trước 2 thằng Local Storage và Session Storage
  • Không phải là web storage
  • Thời gian lưu trữ data có giới hạn, khi hết hạn thì cookie tự động bị xóa.Hạn này mình có thể set cho nó
  • Dung lượng lưu trữ chỉ khoảng 4KB => Nên lưu những data đơn giản, càng ít càng tốt, lưu quá nhiều thì mỗi lần mình truyền đi truyền lại thì nó tăng băng thông không tốt nghen
  • Cookie sẽ tự động truyền từ server xuống client và truyền từ client lên server thông qua mỗi header request
  • Server có thể cấu hình để các sub domain ví dụ sub1.domain.com có thể set cookie cho sub2.domain.com. Lưu ý là phải cùng domain cha là domain.com nghen

Cookie thường được tạo trên server bằng PHP, Python, Java hoặc Node.Js để truyền xuống client thông qua header của mỗi request

Cookie cũng có thể được tạo thông qua Javascript bằng cách dùng document.cookie.

Mình lấy ra dùng thì cũng hơi bất tiện. Mình log document.cookie thì nó ra hết nên mình phải tách từng phần tử ra. Nên thường người ta sẽ dùng thư viện js-cookie để thao tác trên Client dễ dàng hơn. Những Cookie mà tạo bằng javascript thì không có cờ HttpOnly nha

* Server Session

  • Đây là phiên trên server, không phải ở client
  • Server sẽ tự động quyết định khi nào kết thúc phiên để đưa ra quyết định với client
  • Dung lượng lưu trữ không giới hạn, tùy dung lượng server quyết định

Giả sử người dùng sử dụng browser để login thông qua method post. Khi login okie thì server sẽ tạo ra 1 session id và nó sẽ return sesstion id vào trong cookie cùng với đó nó lưu sesstion id và db.
Sesstion id khi giải mã thì có những thông tin username, createdate…Khi thằng browser thực hiện request gì đó và có đính kèm cái cookie có giá trị là sesstion id thì server sẽ check lại db có sesstion id chưa và còn hạn thì nó sẽ xác thực okie response result thui nè

Hy vọng bài viết này giúp các hiểu và phân biệt được web storage và cookie nha 🤞

guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận

Nhấn ESC để đóng

0
Rất thích suy nghĩ của bạn, hãy bình luận.x