Stateless

Veja também máquina de estado finito .

Stateful e stateless são adjetivos que descrevem se um computador ou programa de computador é projetado para anotar e lembrar um ou mais eventos anteriores em uma determinada seqüência de interações com um usuário, outro computador ou programa, um dispositivo, ou outro elemento externo. Stateful significa que o computador ou programa mantém um registro do estado da interação, geralmente definindo valores em um campo de armazenamento designado para esse fim. Stateless significa que não há registro de interações anteriores e cada pedido de interação tem que ser tratado com base inteiramente na informação que vem com ele. Stateful e stateless são derivados do uso de state como um conjunto de condições em um determinado momento. (Os computadores são inerentemente estaduais em funcionamento, portanto estes termos são usados no contexto de um conjunto particular de interações, não de como os computadores funcionam em geral.)

O protocolo básico da Internet, o Internet Protocol ( IP ), é um exemplo de uma interação sem estado. Cada pacote viaja inteiramente sozinho sem referência a qualquer outro pacote. Quando você solicita uma página Web de um site, o pedido viaja em um ou mais pacotes, cada um independente do outro no que diz respeito ao próprio programa de Protocolo Internet. (A camada superior do Protocolo de Controle de Transmissão - TCP - relaciona os pacotes entre si, mas usa a informação dentro do pacote em vez de alguma informação externa para fazer isso). O termo connectionless também é usado para descrever a comunicação na qual uma conexão é feita e terminada para cada mensagem que é enviada. IP é sem conexão, assim como stateless.

O Protocolo de Transferência de Hipertexto da Web ( HTTP ), uma camada de aplicação acima do TCP/IP, também é stateless. Cada pedido de um usuário para uma página Web ou URL resulta em páginas solicitadas sendo servidas, mas sem que o servidor Web (HTTP) se lembre do pedido mais tarde. Em outras palavras, não há continuidade registrada. Cada comunicação é discreta e sem relação com as que precedem ou seguem. Para ter uma comunicação de estado, um desenvolvedor de site deve fornecer um programa especial que o servidor possa chamar e que possa gravar e recuperar informações de estado. Navegadores Web como o Netscape Explorer e o Microsoft Internet Explorer fornecem uma área em seus subdiretórios onde as informações de estado podem ser armazenadas e acessadas. A área e as informações que os navegadores Web e aplicativos do servidor colocam nessa área é chamada de cookie .

Em especificações de protocolo formal, uma máquina de estado finito é uma decifração abstrata de como um sistema de estado funciona que descreve a ação que segue cada estado possível.

A Internet (incluindo a World Wide Web) pode ser pensada como um sistema ou máquina sem estado. A maioria dos computadores, seres humanos, e elefantes são stateful.