Qu'est-ce que le REPOS? Un peu confus
J'étais sous l'hypothèse que le REPOS était un service web, mais il semble que je suis incorrect dans cette pensée - alors, qu'est-ce que le REPOS?
Que j'ai lu dans Wikipédia, mais encore cant assez envelopper ma tête autour de lui. Pourquoi faire de nombreux endroits, reportez-vous à l'API de REPOS de l'API?
- double possible de prise en main avec le REPOS
- Saunders: Comment est-ce possible de dupliquer? L'autre gars apparemment sait ce qui RESTE est alors que, Nathan, d'autre part, est confus.
- J'ai senti l'autre de répondre à sa question. Si personne d'autre est d'accord, la clôture du vote hors d'âge. Nous avons environ dix réponses à cette question. Cliquez simplement sur le "reste" tag et vous allez les voir tous.
- Le REPOS est un ensemble de règles pour la création de services web. Si une API est construit en fonction de ces règles, il est une API REST. Comment je l'ai expliqué de REPOS à mon canard en caoutchouc explique certaines de ces règles de manière informelle.
Vous devez vous connecter pour publier un commentaire.
RESTE n'est pas un service web spécifique, mais un concept de design (architecture) pour la gestion des informations d'état. Le livre séminal sur ce fut Roy Thomas Fielding de la thèse (2000), "les Styles de l'Architecture et de la Conception de Réseau basée sur les Architectures Logicielles" (disponible en ligne de l'Université de Californie, Irvine).
Première lecture Ryan Tomayko post Comment je l'ai expliqué RESTE de ma femme; c'est un excellent point de départ. Ensuite, lire la mise en service réelle de thèse. Il n'est pas avancé, il n'est ni long (six chapitres, 180 pages)! (Je sais que vous, les enfants à l'école comme ça, bref).
EDIT: je pense qu'il est inutile d'essayer d'expliquer le RESTE. Il a de nombreux concepts tels que l'évolutivité, la visibilité (apatrides) etc. que le lecteur doit comprendre, et la meilleure source pour la compréhension de ceux qui sont le véritable sujet de thèse. C'est beaucoup plus que POST/GET, etc.
stateless
dans la communication entre le serveur et le client (le chercher). Et tandis que le SAVON principalement utilise XML comme format, à partir d'un service web RESTful vous devriez être en mesure de demander presque n'importe quel format (vous n'avez pas besoin de l'appui de nombreux formats), mais vous devriez être capable de gérer le client si celui-ci n'est pas pris en charge (HTTP 415).RESTE est un logiciel de conception de modèle généralement utilisé pour les applications web. En d'autres termes, cela signifie qu'il est couramment utilisé idée utilisée dans de nombreux projets différents. Il est synonyme de REpresentational State Transfer. L'idée de base de REPOS est le traitement des objets sur le côté serveur (comme dans nombre de lignes dans une table de base de données) comme des ressources que peut être créée ou détruite.
La façon la plus simple de penser le RESTE est aussi un moyen de mise en forme de l'Url de vos applications web. Par exemple, si votre ressource a été appelé "messages", puis:
/posts
Serait la manière dont un utilisateur d'accéder à TOUS les postes, pour l'affichage./posts/:id
Serait la manière dont un utilisateur d'accéder et d'afficher un message, récupérés en fonction de leur id unique./posts/new
Serait de savoir comment vous afficher un formulaire pour la création d'un nouveau poste.L'envoi d'une requête POST à
/users
serait de savoir comment vous auriez fait créer un nouveau post sur le niveau de base de données.L'envoi d'une demande de
/users/:id
serait comment mettre à jour les attributs d'un poste donné, encore une fois identifié par un id unique.L'envoi d'une demande de SUPPRESSION de
/users/:id
serait de savoir comment vous devez supprimer un poste donné, encore une fois identifié par un id unique.Si je comprends bien, le motif de REPOS a été principalement popularisé (pour les applications web) par le framework Ruby on Rails, qui met un grand accent sur Reposante routes. J'ai peut-être tort sur que si.
J'ai peut-être pas le plus qualifié pour en parler, mais c'est la façon dont je l'ai appris (spécifiquement pour les Rails du développement).
Quand quelqu'un fait référence à une "api REST," généralement ce qu'ils veulent dire est une api qui utilise Reposant url pour récupérer des données.
REST
est un style architectural et un conception de réseau basée sur les architectures logicielles.REST
concepts sont mentionnés comme des ressources. Une représentation d'une ressource doit être apatrides. Il est représenté par le biais de certains type de média. Quelques exemples de types de médias comprennentXML
,JSON
, etRDF
. Les ressources sont manipulés par les composants. Les composants de la demande et de manipuler des ressources par l'intermédiaire d'une norme uniforme de l'interface. Dans le cas de HTTP, cette interface se compose de la norme HTTP ops par exempleGET
,PUT
,POST
,DELETE
.REST
est généralement utilisé surHTTP
, principalement en raison de la simplicité de HTTP et de son très naturel cartographie RESTful principes. RESTE cependant n'est pas liée à un protocole spécifique.Fondamental RESTE Principes
Communication Client-Serveur
Architectures Client-serveur ont une très nette séparation des préoccupations. Toutes les applications créées dans le repos de style doit également être client-serveur en principe.
Apatrides
Chaque demande du client vers le serveur exige que son état soit pleinement représentée. Le serveur doit être en mesure de bien comprendre la demande du client sans l'aide de tout le contexte du serveur, ou serveur de l'état de la session. Il s'ensuit que tout état doit être maintenu sur le client. Nous allons discuter de apatrides représentation plus en détail plus tard.
Cache
Cache contraintes peuvent être utilisés, permettant ainsi à des données de réponse à être marqué comme pouvant être mis en cache ou non cachable. Toutes les données marquées comme pouvant être mis en cache peut être réutilisé comme réponse à la même demande.
Interface Uniforme
Tous les composants doivent interagir par le biais d'une seule interface uniforme. Parce que tous les composants d'interaction se produit par le biais de cette interface, interaction avec les différents services est très simple. L'interface est la même! Cela signifie également que la mise en œuvre des modifications peuvent être apportées dans l'isolement. Ces changements n'affectent pas l'élément fondamental de l'interaction, car l'interface uniforme est toujours inchangé. Un désavantage est que vous êtes coincé avec l'interface. Si une optimisation peut être fourni à un service spécifique en changeant l'interface, vous êtes hors de la chance que RESTE interdit. Sur le côté positif, cependant, le RESTE est optimisé pour le web, d'où l'incroyable popularité de REPOS sur HTTP!
Les concepts ci-dessus représentent les caractéristiques de REPOS et de se différencier du RESTE de l'architecture à partir d'autres architectures comme les services web. Il est utile de noter que le RESTE du service est un service web, mais un service web n'est pas nécessairement un service REST.
Voir ce blog post sur RESTE principes de Design pour plus de détails sur RESTE et les principes ci-dessus.
Il signifie Representational State Transfer et il peut signifier beaucoup de choses, mais en général, quand vous parlez des Api et des applications, vous parlez de REPOS comme un moyen de faire des services web ou des programmes à parler sur le web.
RESTE est essentiellement un moyen de communication entre les systèmes et fait beaucoup de ce SOAP RPC a été conçu pour le faire, mais tout de SAVON rend en général un lien, authentifie et puis des trucs sur la connexion, RESTE fonctionne presque de la même manière que fonctionne le web. Vous avez une URL et quand vous demandez à ce que l'URL que vous obtenez quelque chose en retour. C'est là que les choses commencent à aller à confusion, car les gens décrivent le web en tant que le plus important RESTE d'application et de tout ce qui est techniquement correcte, cela n'aide pas vraiment expliquer ce que c'est.
En un mot, le REPOS vous permet d'obtenir deux applications de parler sur Internet à l'aide des outils qui sont similaires à ce qu'un navigateur web. C'est beaucoup plus simple que le SAVON et beaucoup de ce qui RESTE n'est dit, "Hé, les choses n'ont pas à être si complexe."
La peine de lire:
http://en.wikipedia.org/wiki/Representational_State_Transfer
L'idée de base est qu'au lieu d'avoir une connexion constante au serveur, vous faites une demande, obtenir certaines données, montrer que, pour un utilisateur, mais peut-être pas à tous, et ensuite, lorsque l'utilisateur fait quelque chose qui appelle à davantage de données, ou de passer certains allant jusqu'à le serveur, le client initie un changement d'état.
resources
et d'exploitation sur ces ressources. Montrez-moi un protocole qui ont la même " identification de ressources des capacités comme le protocole HTTP avec Uri ou des Url. FTP?