Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


REST

Modelo REST.

Na informática e engenharia de software, Representational State Transfer (abreviado REST), em português Transferência de Estado Representacional, é um estilo de arquitetura de software, criado em 2000 por Roy Fielding, que define um conjunto de restrições a serem usadas para a criação de um tipo especial de serviços-Web, denominados Web services RESTful, que fornecem interoperabilidade entre sistemas de computadores na Internet; RESTful permite que os sistemas solicitantes acessem e manipulem representações textuais de recursos da Web usando um conjunto uniforme e predefinido de operações sem estado (requisição e resposta independentes). Outros tipos de Web services, como Web services SOAP, expõem seus próprios conjuntos de operações arbitrários.[1]

"Recursos da Web" foram definidos pela primeira vez na World Wide Web como documentos ou arquivos identificados por suas URL. No entanto, hoje eles têm uma definição muito mais genérica e abstrata que engloba qualquer objeto ou entidade que pode ser identificada, endereçada, manipulada, da forma que for, na Web. Em um Web service RESTful, as solicitações feitas ao URI de um recurso provocará uma resposta com uma carga útil formatada em HTML, XML, JSON, ou formato similar. A resposta pode confirmar que alguma alteração foi feita no recurso armazenado e a resposta pode fornecer links de hipertexto para outros recursos ou conjuntos de recursos relacionados. Quando o HTTP é usado, como é o mais comum, as operações (métodos HTTP) disponíveis são GET, HEAD, POST, PUT, PATCH, DELETE, CONNECT, OPTIONS e TRACE.[2]

Usando um protocolo sem estado e operações padrão, os sistemas RESTful buscam desempenho, confiabilidade e capacidade de crescimento rápido, reutilizando componentes que podem ser gerenciados e atualizados sem afetar o sistema como um todo, mesmo enquanto estiver em execução.

O termo transferência de estado representacional foi introduzido e definido em 2000 por Roy Fielding em sua tese de doutoramento.[3][4] A dissertação de Fielding explicou os princípios REST que eram conhecidos como "modelo de objeto HTTP", a partir de 1994, e foram usados ​​no projeto dos padrões HTTP 1.1 e URI (Uniform Resource Identifiers).[5][6] O termo destina-se a evocar uma imagem de como um aplicativo da Web bem projetado se comporta: é uma rede de recursos da Web (uma máquina de estados virtuais) na qual o usuário avança pelo aplicativo selecionando identificadores de recursos, como http://www.exemplo.com/artigos/21, e operações de recursos, como GET ou POST (transições de estado do aplicativo), resultando na próxima representação do recurso (o próximo estado do aplicativo) sendo transferida para o usuário final para seu uso.

  1. «Web Services Architecture». World Wide Web Consortium. 11 de fevereiro de 2004. 3.1.3 Relationship to the World Wide Web and REST Architectures. Consultado em 29 de setembro de 2016 
  2. Fielding, Roy (Junho de 2014). «Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, Section 4». IETF. Internet Engineering Task Force (IETF). RFC 7231Acessível livremente. Consultado em 14 de fevereiro de 2018 
  3. Fielding, Roy Thomas (2000). «Chapter 5: Representational State Transfer (REST)». Architectural Styles and the Design of Network-based Software Architectures (Ph.D.). University of California, Irvine. This chapter introduced the Representational State Transfer (REST) architectural style for distributed hypermedia systems. REST provides a set of architectural constraints that, when applied as a whole, emphasizes scalability of component interactions, generality of interfaces, independent deployment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. 
  4. «Fielding discussing the definition of the REST term». groups.yahoo.com. Consultado em 8 de agosto de 2017 
  5. Fielding, Roy; Gettys, Jim; Mogul, Jeffrey; Frystyk, Henrik; Masinter, Larry; Leach, Paul; Berners-Lee, Tim (Junho de 1999). «Hypertext Transfer Protocol -- HTTP/1.1». IETF. Internet Engineering Task Force (IETF). RFC 2616Acessível livremente. Consultado em 14 de fevereiro de 2018 
  6. Fielding, Roy Thomas (2000). «Chapter 6: Experience and Evaluation». Architectural Styles and the Design of Network-based Software Architectures (Ph.D.). University of California, Irvine. Since 1994, the REST architectural style has been used to guide the design and development of the architecture for the modern Web. This chapter describes the experience and lessons learned from applying REST while authoring the Internet standards for the Hypertext Transfer Protocol (HTTP) and Uniform Resource Identifiers (URI), the two specifications that define the generic interface used by all component interactions on the Web, as well as from the deployment of these technologies in the form of the libwww-perl client library, the Apache HTTP Server Project, and other implementations of the protocol standards. 

Previous Page Next Page