Cache, session, cookie là gì? Phân biệt cache, session và cookie

Cache, session, cookie là gì? Phân biệt cache, session và cookie

Cache, session, cookie là gì? Phân biệt cache, session và cookie

Đăng bởi locbaoluu - 27/02/2018 - 224 Người Đã Xem

Tham khảo các dịch vụ thiết kế website, dịch vụ SEO, lập trình web-app, cắt HTMLlập trình di động

Session, cookie và cache đều là những từ phổ biến đối với người dùng internet hiện nay. Điển hình là việc nhiều website sẽ thông báo về chính sách sử dụng cookie của họ vào lần đầu tiên bạn truy cập.

Nếu nắm được cache, session và cookie là gì, thì bạn có thể hiểu rõ hơn về cách mà máy tính và internet đang hoạt động. Điều này sẽ giúp bạn sử dụng hoặc thiết kế các dịch vụ, ứng dụng một cách đúng đắn hơn. Nhưng quan trọng nhất là bạn có thể bảo vệ các lợi ích của bản thân, tránh bị lợi dụng và tấn công trong thời đại số.

Session

Session có nghĩa là phiên làm việc. Khi bạn đi làm thì phiên làm việc của bạn được tính từ lúc bạn đặt chân vào công ty cho tới lúc ra về. Đối với máy tính thì một session được tính từ lúc bạn truy cập một website, ứng dụng thông qua một trình duyệt web, cho tới lúc thoát khỏi nó.

Lúc này, trình duyệt web sẽ gửi một yêu cầu truy cập tới máy chủ (server) của website/ứng dụng đó và khởi tạo một phiên làm việc trên server. Session này tồn tại ngay cả khi bạn chuyển sang trang khác hay mục khác của website/ứng dụng. Cuối cùng, session chỉ hết hiệu lực khi bạn rời khỏi trang, đóng ứng dụng, hoặc hết thời hạn cho phép (timeout) được lập trình viên quy định sẵn.

Với mỗi người dùng truy cập vào website/ứng dụng, họ được ghi nhận bởi một session có một mã số sessionID riêng biệt. Tất nhiên là các session chỉ được tắt theo đúng tiêu chí trên, vì thế có thể tồn tại hàng trăm session cùng một lúc. Với số lượng lớn như vậy, nếu các session chứa quá nhiều thông tin thì sẽ ảnh hưởng đến khả năng chịu tải của server. Cho nên, trong mỗi session chỉ lưu lại các thông tin cơ bản như: thông tin đăng nhập, thời gian truy cập, thông tin giỏ hàng (trong các trang TMĐT)…

Một ví dụ điển hình của session là khi bạn sử dụng dịch vụ internet banking của các ngân hàng, nếu thoát khỏi trang rồi quay lại thì bạn bắt buộc phải đăng nhập lần nữa. Hoặc nếu bạn đã đăng nhập nhưng không làm gì hết sau một khoảng thời gian, session của bạn cũng tự động hết hiệu lực.

Cookie

Cookie có nhiều điểm tương đồng với session nên rất dễ gây hiểu lầm. Tuy nhiên, có 2 nét khác biệt nổi bật nhất giữa session và cookie: (1) session được lưu trên server còn cookie được giữ trong máy tính của bạn, vì lẽ đó (2) session không thể được truy cập và hiệu chỉnh bởi người dùng.

Cookie là một tệp tin tạm thời lưu trên ổ cứng máy tính, chứa các thông tin về hoạt động sử dụng website/ứng dụng của người dùng.

Lần đầu tiên bạn truy cập vào website/ứng dụng nào đó, server sẽ gửi về và lưu tạm trên máy tính của bạn một tệp tin cookie(1). Lần ghé thăm tiếp theo, trình duyệt sẽ gửi tệp cookie(1) đó lên server để phân tích các hoạt động trước đó của bạn. Sau đó, server sẽ lại gửi về một tệp cookie(2) khác, bao gồm thông tin có trong tệp cookie(1) cũ và thông tin mới được thêm vào.

Vòng lặp cứ thế tiếp diễn cho đến khi cookie hết hạn timeout hoặc khi bạn xóa nó đi (thông qua các công cụ dọn rác trình duyệt và máy tính). Và ngày nay hầu như tất cả các cookie đều tồn tại vĩnh viễn (persistant cookie) trong ổ cứng của bạn, còn không thì là tồn tại trong một thời gian rất rất dài, phục vụ cho mục đích theo dõi và thu thập dữ liệu người dùng.

Tác dụng của cookie là cho phép nhà phát triển nắm được thông tin sử dụng website/ứng dụng của người dùng, từ đó áp dụng vào các công nghệ khác như: quảng cáo, gợi ý (recommendation), thống kê…

Nếu bạn chưa hiểu rõ về cookie, thì có thể thử làm một thử nghiệm sau: truy cập vào một trang TMĐT bất kỳ (Tiki, Lazada), nhấp vào xem một sản phẩm nào đó. Sau đó, bạn vào Faceboook và bắt đầu lướt, bạn sẽ có thể thấy những sản phẩm vừa xem ngay trong những khung quảng cáo của Facebook. Tất nhiên là bạn cần phải tắt tất cả các chức năng chặn theo dõi và quảng cáo của trình duyệt trước thì mới có thể thực hiện được việc này.

Như đã nói ở trên, cookie được lưu trên máy tính của bạn, và vì vậy, có thể bị truy cập và chỉnh sửa. Các hacker có thể lợi dụng cookie để chiếm lấy các thông tin nhạy cảm và tấn công cả hai bên: website và người dùng. Là lập trình viên, quản trị viên của website/ứng dụng, bạn nên thiết kế sao cho cookie không được lưu giữ những dữ liệu quan trọng của cả doanh nghiệp lẫn khách hàng.

Là người dùng, bạn nên quản lý các cookie được lưu trên máy tính, chỉnh sửa hoặc xóa bỏ các cookie chứa thông tin nhạy cảm. Ngoài hacker ra thì các nhà cung cấp dịch vụ cũng rất thèm khát dữ liệu cá nhân của bạn và có thể sử dụng chúng vào các mục đích không hề có lợi cho bạn.

Cache

Khác với session và cookie, cache không chứa những thông tin cá nhân của bạn. Thay vào đó, cache trữ các tài liệu, hình ảnh, âm thanh và các thành phần cấu tạo nên website.

Cache là một vùng nhớ tạm thời, có chức năng sao lưu các bit của một wesbite lên ổ cứng máy tính. Nhờ các các bit này mà tốc độ tải trang của bạn sẽ được cải thiện đáng kể. Điều này đặc biệt dễ nhận thấy khi bạn truy cập một website chứa nhiều nội dung và hình ảnh chất lượng cao. Lần đầu có thể sẽ mất kha khá thời gian, những những lần tải trang tiếp theo sẽ được rút ngắn hơn hẳn nhờ vào cache.

Cũng như cookie, cache được lưu trên phần cứng máy tính của bạn và có thể bị xóa. Bạn có thể xóa cache thông qua công cụ có sẵn của trình duyệt web hoặc sử dụng các phần mềm dọn rác máy tính.

Xóa cache có thể sẽ làm giảm tốc độ tải một trang web bạn đã từng truy cập, nhưng cũng sẽ bớt đi một phần dung lượng cho ổ cứng. Hơn nữa, khi tải đi tải lại một trang web nhiều lần, các bản cache bị chồng chéo có thể sẽ ảnh hưởng tới cấu trúc, hiển thị của website. Vì thế, không cần quá thường xuyên nhưng bạn nên dọn cache cho máy tính sau một khoảng thời gian sử dụng.

Lời kết

Trên đây là các khái niệm cơ bản về session, cookie và cache cũng như một số thông tin thêm để bạn hiểu rõ hơn về chúng. Có thể thấy, session và cache là những thành phần an toàn, trong khi đó cookie có thể ảnh hưởng tới bảo mật và quyền riêng tư của bạn.

Vì vậy, dù là nhà phát triển website/ứng dụng hay người dùng thông thường, bạn cũng nên quan tâm và kiểm soát các cookie trong lúc sử dụng internet để bảo vệ bản thân mình.