O que é REST (em inglês simples) [closed]

81

Ultimamente tenho interesse em me familiarizar com o REST. Eu tentei ler a entrada wiki no REST , mas não foi de nenhuma ajuda. Eu realmente apreciaria se alguém pudesse explicar em inglês simples (isto é sem o jargão técnico desnecessário )

  1. O que é REST
  2. Qual posição ocupa no ecossistema de arquitetura da web
  3. Quão rigorosamente (ou vagamente) é acoplado ao protocolo.
  4. Quais são as alternativas ao REST e como o REST se compara a elas?

Eu entendo que pode não ser possível responder a isso em um ou dois parágrafos, nesse caso, os links relevantes serão muito apreciados.

    
por Gaurav 05.12.2010 / 11:38
fonte

3 respostas

10

What is REST (in simple English)

Inglês simples:

REpresentational: a ação de falar ou agir em nome de alguém.
Transferência de estado: status de transferência.

Técnico:

  • não transferimos um objeto real, mas uma representação dele em um formulário (por exemplo, um xml / json / text para representar uma tabela de banco de dados).
  • RESTs para expor uma API pública na Internet para lidar com operações CRUD em dados. O REST está focado em acessar recursos nomeados por meio de uma única interface consistente.
  • REST é representes através de algum tipo de mídia. Alguns exemplos de tipos de mídia incluem XML, JSON e RDF.
  • REST é um estilo arquitetônico para arquitetura orientada a recursos (ROA) , não uma especificação ou um padrão.
  • Estilo arquitetônico significa que é um conceito, teoria (e como é implementado, depende de você)
  • Tudo é identificado por um endpoint exclusivo. Ou seja, há um terminal para cada recurso (dados).
  • O endpoint é composto pelo nome do domínio com o endereço do recurso.

REST vs SOAP

    
por 02.07.2015 / 04:11
fonte
42

O que é REST?

Transferência de Estado Representacional. Ele descreve como um sistema pode se comunicar com outro. Um exemplo seria o estado de um produto (seu nome, descrição, etc.) representado como XML, JSON ou texto sem formatação. A ideia generalizada de estado é denominada recurso.

Qual é a posição que ocupa em um ecossistema de arquitetura da web?

O REST é comumente associado à interface de serviços da Web, pois o HTTP é, de longe, o protocolo de portadora mais comum. No modelo de sete camadas, ele existe na camada de aplicativo . No entanto, veja a próxima seção.

Quão strong (ou vagamente) é acoplado ao protocolo?

REST não é HTTP. Ele usa HTTP porque, em sua forma mais geral, o REST existe para auxiliar uma máquina no mapeamento do conceito de um verbo contra uma coleção arbitrária de substantivos. O HTTP contém um conjunto útil de verbos genéricos (GET, PUT, PATCH, etc.) que podem ser aplicados a substantivos arbitrários expressos como URIs usando HTTP, por ex. OBTER link ).

Quais são as alternativas para o REST e como o REST se compara a elas

Isto é semelhante a perguntar "Como RESTful é minha abordagem?" Use a lista a seguir (resumida no Richardson Maturity Model descrito por Martin Fowler ):

Nível 0 - O pântano do POX

Use POST para tudo (lê, escreve, apaga). Isso é SOAP, POX, RPI, etc. Você está apenas usando HTTP como um túnel para o seu próprio protocolo. Você segmenta um único ponto de extremidade que faz tudo com base no conteúdo do corpo da solicitação.

Nível 1 - Recursos

Use POST para tudo. Segmente vários pontos de extremidade projetados para fornecer informações sobre uma determinada coisa. Você acabou de descobrir recursos.

Nível 2 - verbos HTTP

Use verbos HTTP contra recursos. Agora você está OBTENDO. POST é criar, PUT é sobrescrever, OPÇÕES para operações disponíveis, DELETE para, bem, deletar o recurso. Como resultado do uso desses verbos, diferentes códigos de status HTTP começam a se tornar mais relevantes (202 ACEITAR qualquer pessoa ?)

Nível 3 - Controle de hipermídia ( HATEOAS )

Neste ponto, você dá o salto final e introduz a hipermídia como um mecanismo de controle de fluxo. Um cliente REST não precisa de conhecimento prévio sobre como interagir com qualquer aplicativo ou servidor específico além de um entendimento genérico de hipermídia. Isso pode ser comunicado em HTTP por meio do campo de cabeçalho Content-Type. Formatos de texto incluem AtomPub e (mais conciso) HAL , enquanto o HyperAudio funciona bem para fluxos de áudio (veja SoundCloud et al)

    
por 23.04.2012 / 17:26
fonte
11

Embora o REST seja uma abreviatura de Representational State Transfer, pode ser mais fácil considerar a ideia de realizar várias ações através de uma interface algo intuitiva.

Por exemplo, um URL como link pode ser interpretado como alguém que deseja obter informações sobre o produto com um ID de 125.

Embora o REST seja geralmente considerado em termos de HTTP, o conceito pode ser aplicado a outros protocolos, conforme observado na referência da Wikipedia.

Outros exemplos de REST que podem ser úteis:

por 17.04.2012 / 22:18
fonte

Tags