Sự khác biệt giữa Cookie và Session

Mục lục:

Anonim

Cookie là gì?

Cookie là một tệp nhỏ có kích thước tối đa là 4KB mà máy chủ web lưu trữ trên máy khách. Khi cookie đã được đặt, tất cả các yêu cầu trang theo sau sẽ trả về tên và giá trị cookie. Cookie chỉ có thể được đọc từ miền mà nó đã được cấp. Ví dụ: không thể đọc bộ cookie sử dụng miền www.guru99.com từ miền Career.guru99.com. Hầu hết các trang web trên internet hiển thị các yếu tố từ các lĩnh vực khác như quảng cáo. Các miền phục vụ các phần tử này cũng có thể đặt cookie của riêng chúng. Chúng được gọi là cookie của bên thứ ba. Cookie do người dùng tạo chỉ có thể hiển thị với họ. Những người dùng khác không thể nhìn thấy giá trị của nó. Hầu hết các trình duyệt web đều có các tùy chọn để tắt cookie, cookie của bên thứ ba hoặc cả hai.

Phiên là gì?

Phiên là một biến toàn cục được lưu trữ trên máy chủ. Mỗi phiên được gán một id duy nhất được sử dụng để truy xuất các giá trị được lưu trữ. Bất cứ khi nào một phiên được tạo, một cookie chứa id phiên duy nhất sẽ được lưu trữ trên máy tính của người dùng và được trả về với mọi yêu cầu tới máy chủ. Nếu trình duyệt khách hàng không hỗ trợ cookie, id phiên duy nhất sẽ được hiển thị trong URL. Phiên có khả năng lưu trữ dữ liệu tương đối lớn so với cookie.

Các giá trị phiên sẽ tự động bị xóa khi đóng trình duyệt. Nếu bạn muốn lưu trữ các giá trị vĩnh viễn, thì bạn nên lưu trữ chúng trong cơ sở dữ liệu.

Cũng giống như biến mảng $ _COOKIE, các biến phiên được lưu trữ trong biến mảng $ _SESSION. Cũng giống như cookie, phiên phải được bắt đầu trước bất kỳ thẻ HTML nào.

SỰ KHÁC BIỆT CHÍNH

  • Cookie là các tệp phía máy khách chứa thông tin người dùng, trong khi Phiên là tệp phía máy chủ chứa thông tin người dùng.
  • Cookie không phụ thuộc vào phiên, nhưng Phiên phụ thuộc vào Cookie.
  • Cookie hết hạn tùy thuộc vào thời gian tồn tại mà bạn đặt cho nó, trong khi một Phiên kết thúc khi người dùng đóng trình duyệt của họ.
  • Kích thước cookie tối đa là 4KB trong khi trong phiên, bạn có thể lưu trữ bao nhiêu dữ liệu tùy thích.
  • Cookie không có một hàm có tên là unsetcookie () trong khi trong Session bạn có thể sử dụng Session_destroy (); được sử dụng để hủy tất cả dữ liệu đã đăng ký hoặc hủy thiết lập một số

Tại sao và khi nào sử dụng Cookie?

Http là một giao thức không trạng thái; cookie cho phép chúng tôi theo dõi trạng thái của ứng dụng bằng cách sử dụng các tệp nhỏ được lưu trữ trên máy tính của người dùng. Đường dẫn mà cookie được lưu trữ phụ thuộc vào trình duyệt. Internet Explorer thường lưu trữ chúng trong thư mục Temporal Internet Files. Cá nhân hóa trải nghiệm người dùng - điều này đạt được bằng cách cho phép người dùng chọn tùy chọn của họ. Trang được yêu cầu theo dõi được cá nhân hóa dựa trên các tùy chọn đã đặt trong cookie. Theo dõi các trang được truy cập bởi người dùng.

Tại sao và khi nào sử dụng Sessions?

Để lưu trữ thông tin quan trọng như id người dùng một cách an toàn hơn trên máy chủ nơi người dùng độc hại không thể nóng nảy với họ. Phiên được sử dụng để chuyển các giá trị từ trang này sang trang khác.

Nó cũng được sử dụng khi bạn muốn thay thế cho cookie trên các trình duyệt không hỗ trợ cookie, để lưu trữ các biến toàn cục theo cách hiệu quả và an toàn hơn so với việc chuyển chúng vào URL, phát triển một ứng dụng chẳng hạn như giỏ hàng phải tạm thời lưu trữ thông tin với dung lượng lớn hơn 4KB.

Cookie Vs. Phiên họp

Bánh quy Phiên họp
  • Cookie là các tệp phía máy khách chứa thông tin người dùng
  • Phiên là các tệp phía máy chủ chứa thông tin người dùng
  • Cookie kết thúc tùy thuộc vào thời gian tồn tại mà bạn đặt cho nó
  • Phiên kết thúc khi người dùng đóng trình duyệt của mình
  • Bạn không cần khởi động cookie vì nó được lưu trữ trong máy cục bộ của bạn
  • Trong PHP, trước khi sử dụng $ _SESSION, bạn phải viết session_start (); Tương tự như vậy đối với các ngôn ngữ khác
  • Kích thước cookie tối đa chính thức là 4KB
  • Trong phiên, bạn có thể lưu trữ bao nhiêu dữ liệu tùy thích. Giới hạn duy nhất bạn có thể đạt được là bộ nhớ tối đa mà tập lệnh có thể sử dụng cùng một lúc, theo mặc định là 128MB
  • Cookie không phụ thuộc vào Phiên
  • Một phiên phụ thuộc vào Cookie
  • Không có hàm nào có tên là unsetcookie ()
  • Session_destroy (); được sử dụng để phá hủy tất cả dữ liệu đã đăng ký hoặc hủy bỏ một số