Hướng dẫn cách phân biệt giữa cookie và session

Mắt Bão 08/06/2022 9 phút đọc

 

Cookie và session là 2 thuật ngữ cơ bản trong ngành công nghệ thông tin. Đây đều là những công cụ hỗ trợ lưu trữ dữ liệu, giúp cho việc thiết kế, tạo lập website trở nên đơn giản và hiệu quả hơn.

Vậy làm thế nào để phân biệt cookie và session? Các công cụ này có mối liên hệ với nhau như thế nào và khác biệt ra sao? Cùng Mắt Bão tìm hiểu về sự khác nhau giữa session và cookie trong bài viết sau đây.

Xem thêm:

Phân biệt cookie và session

Phân biệt cookie và session

1. Session là gì?

Session là khái niệm được dùng trong lập trình website có kết nối cơ sở dữ liệu database, hỗ trợ cho các chức năng đăng nhập và đăng xuất người dùng. Một session hay một phiên làm việc, là lượng dữ kiện được lưu trữ ở database thông qua các hành động kết nối.

Session lưu trữ dữ liệu của người dùng khi truy cập website

Session lưu trữ dữ liệu của người dùng khi truy cập website

Session được lưu giúp phân biệt các trình duyệt khác nhau từ phía người dùng. Cụ thể, nó sẽ so sánh lượt truy cập gửi đến hệ thống máy chủ thông qua các máy tính khác nhau. Hiểu một cách đơn giản, session là công cụ lưu trữ dữ liệu của người dùng khi sử dụng website.

2. Cách sử dụng session

Cách sử dụng là một trong những căn cứ để phân biệt cookie và session. Một phiên làm việc (session) bắt từ lúc client gửi request đến server. Nó tồn tại xuyên suốt trong ứng dụng web, từ trang này đến trang khác và chỉ kết thúc khi người dùng đóng ứng dụng hoặc hết thời gian timeout. Giá trị của một session sẽ được lưu trữ trong một file trên server.

Ví dụ, khi người dùng đăng nhập vào website theo tài khoản và mật khẩu đã đăng ký, một session sẽ được khởi tạo trong máy chủ. Session này có nhiệm vụ lưu lại tất cả các hành động của người dùng trên website, từ lúc bắt đầu đến khi kết thúc. Nội dung được lưu trữ thường là thông tin đăng nhập, số lượng sản phẩm, hàng hóa đã cho vào giỏ hàng…

Cookie là một đoạn văn bản được khởi tạo và lưu trữ trên trình duyệt máy tính của người dùng. Cookie được khởi tạo từ lúc người dùng truy cập vào một trang web. Nó sẽ ghi nhớ các thông tin đăng nhập như tên, mật khẩu hay các tùy chọn khác do người cài đặt. Những thông tin này sẽ được lưu lại trong máy tính, dùng để nhận biết truy cập của người dùng.

Cookie là gì?

Để phân biệt cookie và session, người ta thường dựa vào cách sử dụng của chúng. Khi người dùng truy cập vào một website có sử dụng cookie, web server của trang web đó sẽ tự động gửi cookie cho máy tính của người dùng. Tiếp đó, cookie sẽ gửi thông tin của người dùng về cho người tạo ra cookie. Hệ thống máy chủ dùng các thông tin có trong cookie để nhận dạng người dùng trong những lần truy cập sau.

Thông tin do cookie ghi nhận sẽ không bị tiết lộ ra bên ngoài, chỉ có website chứa cookie mới được quyền xem những thông tin này. Mỗi cookie sẽ có thời gian timeout do lập trình viên xác định trước. Thông tin lưu trong cookie mang tính chất tạm thời và chỉ được lưu trữ trong một khoảng thời gian ngắn.

Về cơ bản, cả session và cookie đều có chức năng lưu trữ dữ liệu người dùng. Do đó, không ít người vẫn thường nhầm lẫn 2 khái niệm này với nhau. Để phân biệt cookie và session, người ta thường dựa vào các tiêu chí sau đây:

Tiêu chíSessionCookie
Định nghĩaLà các tệp chứa thông tin người dùng ở máy chủLà các tệp chứa thông tin người dùng ở phía máy khách
Nơi lưu trữKhông được lưu trên trình duyệtLưu trữ ngay trên trình duyệt của người dùng
Đối tượng lưu trữDữ liệu khách hàng được lưu ở serverDữ liệu được lưu trên trình duyệt của client (người dùng)
Khả năng bảo mậtDữ liệu của session được lưu ở máy chủ nên rất khó can thiệp hay sửa đổiDữ liệu của cookie được lưu ở thiết bị của người dùng nên rất dễ bị xâm nhập và sửa đổi
Thời hạn lưu trữHết phiên làm việc (session) khi người dùng đóng trình duyệtLuôn được lưu trữ trong trình duyệt cho đến khi expired
Dung lượng lưu trữKhông hạn chế. Giới hạn bộ nhớ tối đa mà tập lệnh có thể tiêu thụ cùng lúc là 128MB theo mặc địnhTối đa là 4KB
Sự phụ thuộc lẫn nhauMột session sẽ phụ thuộc vào cookieMột cookie không bị phụ thuộc bởi session

Sau khi phân biệt cookie và session, điều tiếp theo mà bạn cần tìm hiểu là mối quan hệ giữa chúng. Bởi trên thực tế, cookie với session vẫn có những mối liên hệ đặc biệt với nhau.

Cookie hỗ trợ phân biệt session của các trình duyệt khác nhau. Hiểu một cách đơn giản, cookie chính là căn cứ để máy chủ biết được session nào là của người dùng nào. Muốn làm được điều này, mỗi session được khởi tạo phải có một cookie tương ứng với nó.

Mối liên hệ giữa cookie và session

Mối liên hệ giữa cookie và session

Mỗi session sẽ được gán cho một ID dùng để truy xuất các giá trị đã lưu trữ, ID này là duy nhất. Một session khởi tạo sẽ sinh ra một cookie chứa ID session tương ứng được lưu trữ trên máy tính người dùng và xử lý các yêu cầu đến máy chủ. Trong trường hợp trình duyệt máy khách không hỗ trợ cookie, ID session sẽ được hiển thị trong URL.

Nắm rõ khái niệm, hiểu được sự khác biệt giữa cookie và session là bước đầu tiên trong công tác lập trình website. Hy vọng bài viết trên đã cung cấp cho bạn nhiều thông tin hữu ích, giúp bạn phân biệt cookie và session để vận dụng vào công việc của mình.

Hình ảnh và nội dung bài viết được tổng hợp bởi Mắt Bão.

Nếu cần thêm tư vấn về các dịch vụ TÊN MIỀN – HOSTING – EMAIL DOANH NGHIỆP – đừng ngần ngại liên hệ với chúng tôi theo thông tin: 

TƯ VẤN MIỀN NAM:  028 3622 9999

TƯ VẤN MIỀN BẮC: 024 35 123456

Hoặc liên hệ theo đường link: https://www.matbao.net/lien-he.html






Bài viết liên quan