Node.js 19 – Sử dụng session trong express

0
333

Định nghĩa về Session

  • Session là một tập tin nhỏ được lưu trữ trên server
  • Là một khái niệm phổ biến được dùng trong lập trình các website có kết nối với cơ sở dữ liệu database. Đặc biệt các chức năng như đăng nhập, đăng xuất người dùng sẽ khó có thể thực hiện được nếu thiếu session.

Lý do session ra đời

  • Việc giao tiếp giữa trình duyệt với máy chủ của website (hay webserver) được thực hiện thông qua hàng loạt các router trên mạng internet. Một vấn đề đặt ra trong quá trình giao tiếp này đó là làm sao để phân được giữa cá trình duyệt (máy tính) khác nhau. Ví dụ như bạn truy cập một trang bán hàng thì máy chủ cần:
    • Phân biệt được các máy tính (trình duyệt) khác nhau: nói cách khác máy chủ cần phân biệt được trong những lượt truy cập gửi tới máy chủ thì đâu là từ máy tính bạn và đâu là của người khác.
    • Lưu thông tin của giỏ hàng: ví dụ như thông tin về số lượng hàng hoá bạn đã thêm vào giỏ hàng
  • Bạn có thể tuỳ ý quyết định xem nên lưu trữ những thông tin nào vào Session. Nhưng thông thường chúng ta chỉ nên lưu những thông tin tạm thời trong session ví dụ như số lượng sản phẩm người dùng đã thêm vào giỏ nhưng chưa mua, hay những nhật xét đang được viết và lưu dưới dạng nháp nhưng chưa gửi đi. Những dữ liệu sử dụng lâu dài như nội dung nhận xét đã được gửi đi hay số sản phẩm đã được mua thì nên được thực hiện ở máy chủ chứa cơ sở dữ liệu.

Làm sao để phân biệt session của các trình duyệt khác nhau

  • Sau khi chúng ta (các lập trình viên website) tạo ra một tập tin session trên máy chủ để lưu trữ dữ liệu tạm thời của người dùng thì chúng ta cần phải phân biệt được session nào là của người dùng nào. Để làm điều này thì với mỗi session tạo ra chúng ta cần tạo một cookie trên trình duyệt của người dùng tương ứng với nó.Cookie là một mẩu tin nhỏ có thể được trình duyệt tạo ra khi người dùng duyệt web và dùng để lưu trữ thông tin của người dùng ở phía trình duyệt (phía máy khách).
  • Cookie có thể được tạo ra mà không yêu cầu cần phải tạo ra 1 session trên server tương ứng với nó. Tuy nhiên mỗi session được tạo ra thì cần phải có một cookie tương ứng với nó để xác định xem session này được sử dụng cho trình duyệt nào. Nhờ sử dụng cookie mà chúng ta có thể phân biệt được giữa các session khác nhau của các trình duyệt khác nhau.

Sử dụng session trong node.js

Để sử dụng được session trong ứng dụng node.js chúng các bạn có thể cài thêm middleware trung gian express-session.

Cài đặt express-session

Cú pháp

Sử dụng session

express-session là một middleware vì thế để sử dụng chúng ta sử dụng phương thức use của đối tượng app

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây