Articles

A transferência de Estado representacional

Posted by admin

seis restrições orientadoras definem um sistema repousante. Estas restrições restringir as formas que o servidor pode processar e responder às solicitações do cliente, de modo a que, operando dentro dessas restrições, o sistema de ganhos desejável não-propriedades funcionais, como desempenho, escalabilidade, simplicidade, modifiability, a visibilidade, a portabilidade e confiabilidade. Se um sistema viola qualquer uma das restrições exigidas, não pode ser considerado repousante.,

as restrições formais de resto são as seguintes:

Client-server architectureEdit

Ver também: Client-server model

o princípio por trás das restrições cliente–servidor é a separação de preocupações. Separar as preocupações da interface do utilizador das preocupações de armazenamento de dados melhora a portabilidade das interfaces do utilizador através de múltiplas plataformas. Ele também melhora a escalabilidade, simplificando os componentes do servidor., Talvez o mais significativo para a Web é que a separação permite que os componentes evoluam de forma independente, suportando assim a exigência de escala na Internet de múltiplos domínios organizacionais.

StatelessnessEdit

See also: Stateless protocol

In a client–server interaction, state is made up of intrinsic state and extrinsic state. O estado intrínseco, chamado estado de recurso, é armazenado no servidor e consiste em informações que são independentes do contexto do servidor, tornando-o assim sharable a todos os clientes do servidor., Estado extrínseco, chamado estado de aplicação, é armazenado em cada cliente e consiste em informações que dependem do contexto do servidor e, portanto, não pode ser compartilhado. Os clientes são responsáveis por passar o estado de aplicação para o servidor quando ele precisa dele. A restrição de armazenar o estado da aplicação no cliente e não no servidor torna a comunicação apátrida.

CacheabilityEdit

See also: Web cache

As on the World Wide Web, clients and intermediaries can cache responses., As respostas devem, implícita ou explicitamente, definir-se como cacheáveis ou não cacheáveis para impedir os clientes de fornecerem dados obsoletos ou inadequados em resposta a novos pedidos. Cache bem gerenciado elimina parcialmente ou completamente algumas interações cliente-servidor, melhorando ainda mais a escalabilidade e o desempenho.

Systemedit por camadas

Ver também: sistema por camadas

um cliente não pode normalmente dizer se está ligado directamente ao servidor final ou a um intermediário ao longo do caminho., Se um proxy ou balancer de carga for colocado entre o cliente e o servidor, ele não afetará suas comunicações, e não haverá necessidade de atualizar o código cliente ou servidor. Servidores intermediários podem melhorar a escalabilidade do sistema, permitindo o balanceamento de carga e fornecendo caches compartilhados. Além disso, a segurança pode ser adicionada como uma camada em cima dos serviços web, separando lógica de negócios da lógica de segurança. Adicionar segurança como uma camada separada impõe Políticas de segurança. Finalmente, servidores intermediários podem chamar vários outros servidores para gerar uma resposta ao cliente.,

Código do pedido (opcional)Edit

Veja também: scripts do lado do Cliente

Servidores podem prolongar temporariamente ou personalizar a funcionalidade de um cliente através da transferência de código executável: por exemplo, componentes compilados, tais como Java, applets, ou de scripts do lado do cliente, tais como JavaScript.

interfaceEdit uniforme

a restrição de interface uniforme é fundamental para o projeto de qualquer sistema repousante. Simplifica e decupla a arquitetura, o que permite que cada parte evolua independentemente., As quatro restrições para esta interface uniforme São:

identificação de recursos em pedidos recursos individuais são identificados em pedidos, por exemplo usando URIs em serviços Web RESTful. Os próprios recursos são conceitualmente separados das representações que são devolvidas ao cliente. Por exemplo, o servidor pode enviar dados de seu banco de dados como HTML, XML ou JSON—nenhum dos quais é a representação interna do servidor., Manipulação de recursos através de representações quando um cliente detém uma representação de um recurso, incluindo quaisquer metadados anexados, ele tem informações suficientes para modificar ou excluir o estado do recurso. Mensagens auto-descritivas cada mensagem inclui informações suficientes para descrever como processar a mensagem. Por exemplo, o analisador a invocar pode ser especificado por um tipo de mídia., Hypermedia as the engine of application state (HATEOAS) Having accessed an initial URI for the REST application—analogous to a human Web user accessing the home page of a website—a REST client should then be able to use server-provided links dynamically to discover all the available resources it needs. À medida que o access prossegue, o servidor responde com texto que inclui hiperlinks para outros recursos que estão atualmente disponíveis. Não há necessidade de o cliente ser hard-codificado com informações sobre a estrutura ou dinâmica da aplicação.

Leave A Comment