Session là gì? Cookie là gì?

Session và Cookie là hai khái niệm thường được đề cập trong lập trình web. Khi mới bắt đầu làm web, nhiều người thường nhầm lẫn giữa hai khái niệm này. Đôi khi họ không biết khi nào nên sử dụng Session và khi nào nên sử dụng Cookie.

Session là gì?

Session là một phiên làm việc, đây là một khái niệm phổ biến được sử dụng trong lập trình web kết nối với cơ sở dữ liệu. Đặc biệt, các chức năng như đăng nhập, đăng xuất người dùng sẽ khó thực hiện nếu không sử dụng Session.

session là gì

Cách sử dụng Session

Một session bắt đầu khi client gửi yêu cầu đến server và tồn tại trong suốt từ trang này sang trang khác trong ứng dụng web, chỉ kết thúc khi hết thời gian timeout hoặc khi người dùng đóng ứng dụng. Giá trị của session được lưu trữ trong một tập tin trên máy chủ.

Ví dụ, khi bạn đăng nhập vào một trang web, server sẽ xác thực thông tin bạn cung cấp và sau đó tạo ra một tập tin chứa dữ liệu của người dùng.

Mỗi session được cấp một định danh duy nhất là SessionID. Mỗi khi bắt đầu một phiên làm việc mới, bạn sẽ được cấp một SessionID khác. Bạn có thể quyết định lưu trữ những thông tin nào trong Session, tuy nhiên thông thường chỉ nên lưu trữ thông tin tạm thời.

Cookie là gì?

Tương tự như Session, Cookie được sử dụng để lưu trữ thông tin tạm thời. Tuy nhiên, tập tin cookie sẽ được truyền từ server đến trình duyệt và lưu trữ trên máy tính của bạn khi bạn truy cập vào ứng dụng.

session là gì

Cách sử dụng Cookie

Cookie thường được tạo ra khi người dùng truy cập một trang web. Cookie sẽ ghi nhớ các thông tin như tên đăng nhập, mật khẩu, các tùy chọn người dùng đã chọn. Các thông tin này được lưu trữ trên máy tính để xác định người dùng khi truy cập vào trang web đó.

Khi người dùng truy cập vào một trang web sử dụng Cookie, máy chủ của trang đó sẽ tự động gửi Cookie đến máy tính của người dùng. Khi truy cập vào các trang web đã lưu Cookie, Cookie này sẽ tự động gửi thông tin người dùng về cho chủ của nó (người tạo ra Cookie). Tuy nhiên, thông tin của Cookie không được tiết lộ công khai, chỉ có trang web chứa Cookie mới có thể xem thông tin này.

Mỗi Cookie thường có thời gian timeout do lập trình viên xác định trước. Các thông tin được lưu trong Cookie, như thông tin đăng nhập, hoạt động người dùng, tần suất truy cập website, thời gian truy cập, đều là thông tin tạm thời và chỉ được lưu trong một khoảng thời gian nhất định.

Cookie được coi là một phần không thể thiếu đối với các trang web có khối lượng dữ liệu lớn, số lượng người dùng đông và chức năng thành viên đăng ký.

So sánh Cookie và Session

Dưới đây là một số điểm khác nhau giữa Cookie và Session:

  • Cookie được lưu trên trình duyệt của người dùng, trong khi Session không.
  • Dữ liệu của Cookie được lưu trữ phía client, trong khi dữ liệu của Session được lưu trữ phía máy chủ.
  • Dữ liệu của Cookie dễ dàng bị sửa đổi hoặc đánh cắp khi được lưu trữ phía client, trong khi dữ liệu của Session khó bị sửa đổi vì được lưu trữ phía máy chủ.
  • Dữ liệu của Cookie có sẵn trong trình duyệt cho đến khi hết hạn. Khi đóng trình duyệt, phiên làm việc (Session) kết thúc.

Bạn cũng có thể quan tâm:

  • Đánh cắp Cookie bằng cách lợi dụng lỗi bảo mật XSS
  • Sự khác nhau giữa Cookie, localStorage và sessionStorage trong Javascript
  • Authentication nâng cao trong SPA (React/Vue) sử dụng JWT kết hợp với Cookie

Tìm công việc công nghệ thông tin lương cao tại TopDev!

Related Posts