Serviços da Web RESTful - Statelessness

De acordo com a arquitetura REST, um serviço da Web RESTful não deve manter um estado de cliente no servidor. Essa restrição é chamada de apatridia. É responsabilidade do cliente passar seu contexto para o servidor e, em seguida, o servidor pode armazenar esse contexto para processar a solicitação posterior do cliente. Por exemplo, a sessão mantida pelo servidor é identificada pelo identificador de sessão passado pelo cliente.

Os serviços da Web RESTful devem aderir a essa restrição. Vimos isso no capítulo Serviços da Web RESTful - Métodos , que os métodos de serviço da Web não armazenam nenhuma informação do cliente a partir do qual são chamados.

Consider the following URL −

https: // localhost: 8080 / UserManagement / rest / UserService / users / 1

Se você acessar a url acima usando seu navegador ou um cliente baseado em java ou usando Postman, o resultado será sempre o XML do usuário cujo Id é 1 porque o servidor não armazena nenhuma informação sobre o cliente.

<user> 
   <id>1</id> 
   <name>mahesh</name> 
   <profession>1</profession> 
</user>

Vantagens da apatridia

A seguir estão os benefícios da apatridia em RESTful Web Services -

  • Os serviços da Web podem tratar cada solicitação de método independentemente.

  • Os serviços da Web não precisam manter as interações anteriores do cliente. Isso simplifica o design do aplicativo.

  • Como o HTTP é um protocolo sem estado, os serviços da Web RESTful funcionam perfeitamente com os protocolos HTTP.

Desvantagens da apatridia

A seguir estão as desvantagens da ausência de estado em RESTful Web Services -

  • Os serviços da Web precisam obter informações extras em cada solicitação e, em seguida, interpretar para obter o estado do cliente, caso as interações com o cliente precisem ser cuidadas.