HTTP là một giao thức "không trạng thái" có nghĩa là mỗi khi máy khách truy xuất một Trang web, máy khách sẽ mở một kết nối riêng đến máy chủ Web và máy chủ tự động không lưu giữ bất kỳ bản ghi nào về yêu cầu của máy khách trước đó.
Duy trì phiên giữa máy khách và máy chủ Web
Bây giờ chúng ta hãy thảo luận về một số tùy chọn để duy trì phiên làm việc giữa Máy khách web và Máy chủ web -
Cookie
Máy chủ web có thể chỉ định một ID phiên duy nhất làm cookie cho mỗi máy khách web và đối với các yêu cầu tiếp theo từ máy khách, chúng có thể được nhận dạng bằng cách sử dụng cookie đã nhận.
Đây có thể không phải là một cách hiệu quả vì trình duyệt đôi khi không hỗ trợ cookie. Không nên sử dụng quy trình này để duy trì các phiên.
Trường biểu mẫu ẩn
Máy chủ web có thể gửi trường biểu mẫu HTML ẩn cùng với ID phiên duy nhất như sau -
<input type = "hidden" name = "sessionid" value = "12345">
Mục nhập này có nghĩa là, khi biểu mẫu được gửi, tên và giá trị được chỉ định sẽ tự động được đưa vào mục GET hoặc BÀI ĐĂNG dữ liệu. Mỗi lần trình duyệt web gửi lại yêu cầu, session_id giá trị có thể được sử dụng để theo dõi các trình duyệt web khác nhau.
Đây có thể là một cách hiệu quả để theo dõi phiên nhưng việc nhấp vào liên kết siêu văn bản thông thường () không dẫn đến việc gửi biểu mẫu, vì vậy các trường biểu mẫu ẩn cũng không thể hỗ trợ theo dõi phiên chung.
Viết lại URL
Bạn có thể thêm một số dữ liệu bổ sung vào cuối mỗi URL. Dữ liệu này xác định phiên; máy chủ có thể liên kết số nhận dạng phiên đó với dữ liệu mà nó đã lưu trữ về phiên đó.
Ví dụ:với https://tutorialspoint.com/file.htm;sessionid=12345 , mã định danh phiên được đính kèm là sessionid =12345 có thể được truy cập tại máy chủ web để xác định máy khách.
Viết lại URL là một cách tốt hơn để duy trì các phiên và hoạt động cho các trình duyệt khi chúng không hỗ trợ cookie. Hạn chế ở đây là bạn sẽ phải tạo động mọi URL để chỉ định ID phiên mặc dù trang là một trang HTML tĩnh đơn giản.