Không quốc tịch - Không có bộ nhớ (trạng thái) được duy trì bởi chương trình
Stateful - Chương trình có bộ nhớ (trạng thái)
Để minh họa khái niệm trạng thái, tôi sẽ định nghĩa một hàm có trạng thái và một hàm không trạng thái
Không quốc tịch
//The state is derived by what is passed into the function
function int addOne(int number)
{
return number + 1;
}
Nhà nước
//The state is maintained by the function
private int _number = 0; //initially zero
function int addOne()
{
_number++;
return _number;
}
Như những người khác đã nói http là không quốc tịch. Vì vậy, trạng thái phải được xây dựng vào các ứng dụng của bạn.
Hãy tưởng tượng một yêu cầu qua web nơi bạn có trình duyệt máy khách liên lạc với quy trình máy chủ. Để duy trì trạng thái qua giao thức http không trạng thái, trình duyệt sẽ gửi thông thường gửi định danh phiên tới máy chủ theo từng yêu cầu. Đối với mỗi yêu cầu, máy chủ sẽ giống như "ah, anh chàng này". Thông tin trạng thái sau đó có thể được tra cứu trong bộ nhớ phía máy chủ hoặc trong cơ sở dữ liệu dựa trên id phiên này.
Trong một môi trường hoàn toàn không trạng thái, bạn sẽ không cần id phiên này. Mỗi yêu cầu sẽ chứa tất cả thông tin mà máy chủ sẽ cần xử lý. Nhưng nhiều ứng dụng cần duy trì trạng thái để theo dõi xem phiên có được xác thực hay không để xem nội dung nhất định hoặc theo dõi những gì người dùng đang làm. Bạn sẽ không muốn gửi thông tin đăng nhập của người dùng qua dây cho mỗi yêu cầu.