476 votes

Quelle est la différence entre HTTP et REST?

Après avoir lu beaucoup de choses sur les différences entre le REPOS et le SAVON, j'ai eu l'impression que le REPOS est juste un autre mot pour HTTP. Quelqu'un peut m'expliquer ce que la fonctionnalité RESTE ajoute à HTTP?

Note: je ne suis pas à la recherche pour une comparaison de REPOS par rapport à la SAVON.

Mise à jour: Merci pour vos réponses. Maintenant, il est devenu clair pour moi que le RESTE est juste un ensemble de règles sur la façon d'utiliser le protocole HTTP. Donc j'ai posté un sujet de ce que les avantages de ces conventions .

Note: j'ai maintenant saisir le sens de REPOS; comme Emil Ivanov remarques, RESTE moyen à l'aide de HTTP de la façon dont il est censé être. Cependant, je ne suis pas sûr que cela mérite une durée de sa propre, et je certainement ne pas obtenir le battage médiatique autour d'elle.

353voto

aefxx Points 10941

Non, REST est la FAÇON dont nous devrions tous utiliser HTTP.

Aujourd'hui, nous utilisons seulement un tout petit peu le protocole HTTP méthodes - à savoir GET et POST. Le RESTE façon de le faire est d'utiliser toutes les du protocole de méthodes.

REST par exemple dicte l'utilisation de SUPPRIMER pour effacer un document (qui peut être un fichier, un état ou autre) derrière un URI, alors que vous missuse un GET ou POST de la requête comme ...produit/?delete_id=22 sans REPOS.

Il y a un bien fait exemple ici.

55voto

Mark Points 14208

REST n'ajoute aucune fonctionnalité spécifique à HTTP mais est un style architectural développé avec HTTP et utilise le plus souvent HTTP pour son protocole de couche application.

50voto

Darrel Miller Points 56797

HTTP est un protocole d'application. Le REPOS est un ensemble de règles, qui lorsqu'il est suivi, vous permettent de créer une application distribuée qui a un ensemble de souhaitable contraintes.

Si vous êtes à la recherche pour les contraintes les plus importantes de REPOS qui permettent de distinguer une bonne application depuis n'importe quel application HTTP, je dirais que le "soi" description de la contrainte et de l'hypermédia contrainte (aka Hypermédia comme le Moteur de l'État de l'Application (HATEOAS)) sont les plus importants.

L'auto-description contrainte nécessite une bonne demande à être complètement auto-descriptif, les utilisateurs de l'intention. Cela permet à des intermédiaires (les procurations et les caches) de la loi sur le message en toute sécurité.

Le HATEOAS contrainte est de transformer votre application dans un réseau de liens où le client de l'état actuel est basé sur sa place dans ce site web. C'est un concept difficile et nécessite plus de temps pour expliquer que j'ai en ce moment.

14voto

LiamB Points 7105

Pas tout à fait...

http://en.wikipedia.org/wiki/Representational_State_Transfer

Le REPOS a été initialement décrit dans le contexte de HTTP, mais n'est pas limité à ce protocole. Les architectures RESTful peuvent être basées sur d'autres Applications Des protocoles de la couche si ils ont déjà fournir un vocabulaire riche et uniforme pour les applications basées sur le transfert de véritable représentation de l'état. Reposant applications de maximiser l'utilisation de la pré-existant, bien défini l'interface et l'autre intégré les capacités fournies par les choisi protocole de réseau, et de minimiser les ajout de nouvelles applications spécifiques caractéristiques sur le dessus de cela.

http://www.looselycoupled.com/glossary/SOAP

(Simple Object Access Protocol) La standard pour les services web des messages. Basé sur XML, SOAP définit une enveloppe format et diverses règles pour décrivant son contenu. Vu (avec WSDL et UDDI) comme l'un des trois fondation des normes de services web, c'est le protocole préféré pour l'échange de services web, mais en aucun le seul; les promoteurs de REPOS dire qu'il ajoute inutilement la complexité.

13voto

Mike Points 3029

REST est une manière spécifique d'aborder la conception de grands systèmes (comme le Web).

C'est un ensemble de «règles» (ou «contraintes»).

HTTP est un protocole qui tente de respecter ces règles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X