Session và cookie trong lập trình Web

Sinh viên ngành CNTT tham quan thực tế 3S

Session, Cookie là 2 khái niệm được rất quan trọng đối với các lập trình web. Khi mới bắt đầu tập làm web, nhiều bạn chắc hẳn rất hay nhầm lẫn giữa các khái niệm này. Hãy cùng tìm hiểu về khái niệm cách dùng của Session và Cookie nhé.

Session

Session là gì?

Đây là một phiên làm việc được dùng trong lập trình web và có thể kết nối với database. Nói một cách dễ hiểu, session chính là chương trình hay cách thức được sử dụng để lưu trữ thông tin của người dùng khi họ sử dụng trang web của mình.

Session được lưu trữ trong một tập tin bất kỳ nào đó của server. Việc lưu trữ dữ liệu trong session không phụ thuộc vào quyết định của người dùng. Tuy nhiên, các session thông thường sẽ chỉ lưu trữ những thông tin ngắn hạn mà thôi. Ví dụ như khi bạn đăng nhập vào một trang website theo tài khoản email và mật khẩu của mình được xác nhận là chính xác, khi đó một session sẽ được tạo trong máy chủ để lưu trữ lại các hành động của bạn tới khi phiên được kết thúc. Điều này cũng tương tự như đang thêm hàng hóa vào giỏ hàng nhưng chưa thanh toán.

Tại sao lại cần đến session?

Lưu trữ các Session dường như rất phổ biến trên các website. Thực ra lý do cho việc này cũng khá dễ hiểu bởi các lợi ích mà nó đem lại. Trong các công việc giao tiếp giữa máy chủ là website server với trình duyệt thì sẽ được thực hiện qua hàng hoạt router trên mạng. Nhưng vấn đề là làm sao để phân biệt được các trình duyệt khác nhau của người dùng?

Vì vậy khi sử dụng session sẽ giúp bạn:

  • Đầu tiên, các session được lưu lại sẽ giúp phân biệt được các trình duyệt khác nhau từ phía người dùng. Tức là nó sẽ giúp phân biệt được các lượt truy cập gửi tới hệ thống máy chủ từ các máy tính khác nhau.
  • Tiếp theo, các thông tin về hành động của khách hàng sẽ không bị mất đi. Cụ thể là có thể lưu trữ được thông tin giỏ hàng của khách hàng. Bạn biết đấy, mọi người mua sắm thường có thói quen để rất nhiều sản phẩm vào giỏ hàng của họ, nhưng số hàng hóa mua thực sự lại ít hơn nhiều. Giải thích cho hành động đó là họ có ý định mua sản phẩm, hoặc thấy thu hút bởi sản phẩm, nhưng có những cản trở khiến họ chưa đưa ra quyết định mua ngay lúc đó.

Session được sử dụng như thế nào?

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

Cookie

Khái niệm:

Cookie cũng được dùng để lưu những thông tin tạm thời. Nhưng tập tin cookie sẽ được truyền từ server tới browser và được lưu trữ trên máy tính của bạn khi bạn truy cập vào ứng dụng.

Cách sử dụng Cookie:

Cookie thường được tạo ra khi người dùng truy cập một website. Cookie sẽ ghi nhớ những thông tin như:

  • Tên đăng nhập;
  • Mật khẩu;
  • Các tuỳ chọn do người dùng lựa chọn đi kèm.

Các thông tin này được lưu trong máy tính để nhận biết người dùng khi truy cập vào một trang web.

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

Mỗi cookie thường có khoảng thời gian timeout nhất định do lập trình viên xác định trước. Những thông tin được lưu vào cookie ví dụ như thông tin đăng nhập, thao tác người dùng, tần xuất ghé thăm website, thời gian truy cập… Tất cả chúng đều là những thông tin mang tính tạm thời và được lưu trong 1 khoảng thời gian.

So sánh Session và cookie

  • Không gian lưu trữ dữ liệu: cookie được lưu trữ trực tiếp trên trình duyệt của người dùng còn session không được lưu trữ trên trình duyệt của người dùng.
  • Đối tượng lưu trữ: dữ liệu của cookie được lưu trữ ở phía máy khách (client) còn dữ liệu của session được lưu trữ ở phía máy chủ (server).
  • Sửa đổi dữ liệu: do được lưu trữ trên máy client nên các dữ liệu của cookie có thể dễ dàng bị sửa đổi, đánh cắp hoặc xóa. Dữ liệu trên session không thể dễ dàng sửa đổi như vậy bởi nó được lưu trữ trên server.
  • Thời hạn: dữ liệu của cookie có sẵn trong trình duyệt của người dùng cho đến khi hết hạn. Còn dữ liệu của session có sẵn khi trình duyệt khởi chạy và sẽ bị mất thông tin khi đóng trình duyệt.
Xem thêm

> Học công nghệ thông tin cần chuẩn bị gì?

> 3 lí do vô cùng thuyết phục để chọn ngành Công nghệ Thông tin

> Thủ khoa đầu vào của K18 mách nước bí quyết chọn ngành, chọn trường

> Trường Đại học Phú Xuân dành 10 tỷ đồng cấp nhiều học bổng tuyển sinh năm 2021. 

> Điểm qua 09 ngành đào tạo bắt nhịp xu thế của Đại học Phú Xuân