2012-05-15 7 views

Antwort

15

Es gibt keinen Unterschied. REST beschreibt eine Art der Interaktion mit einem HTTP-Server und nicht das, was der Server als Antwort zurückgeben soll. Die meisten Web-Apps interagieren mit der Server-Seite durch POST- oder GET-Anfragen mit zusätzlichen Informationen, die benötigt werden, um die Anfrage in einer Formular-Einreichung für POST oder die Abfrage-Zeichenfolge für GET zu erfüllen. Wenn Sie also etwas vom Server löschen möchten, tun sie normalerweise POST mit einem Formular, das Daten enthält, die eine Ressource zusammen mit einer Anweisung zum Löschen angeben.

HTTP implementiert jedoch Methoden (auch als Verben bezeichnet) anders als GET oder POST. Es implementiert auch, unter anderem, HEAD (gibt dieselben Header zurück, die Sie für einen GET gemacht hätten, aber ohne Antworttext), PUT (nimmt den Anfragetext und speichert seinen Inhalt an welcher URL auch immer die PUT-Anfrage gemacht wurde), und LÖSCHEN (Löschen Sie die Ressource, die an der angegebenen URL vorhanden ist). Eine REST-Schnittstelle verwendet einfach diese zusätzlichen Verben, um die Bedeutung der Anfrage an den Server zu übertragen.

Browser unterstützen normalerweise nur GET und POST für "normale" (non-XHR) Anfragen, aber Tools wie Curl können den kompletten Satz von HTTP-Verben ausgeben. Sie können auch zusätzliche Verben mit XHR-basierten Techniken wie AJAX verwenden.

Sie müssen weiterhin eine traditionelle Nicht-REST-API für Browser bereitstellen, es sei denn, Sie machen Javascript und XHR-Unterstützung für die Verwendung Ihrer App erforderlich.

+0

Hallo, ich möchte eine API machen, die von Handys Appas sowie Websites konsumiert werden. Was wäre der beste Weg, um die API (REST oder Non REST) ​​zu machen? – Shaolin

7

REST bezieht sich meist nur auf die Verwendung des HTTP-Protokolls, so wie es beabsichtigt war. Verwenden Sie die HTTP-Methode GET für eine URL zum Abrufen von Informationen, möglicherweise in unterschiedlichen Formaten, die auf HTTP-Header Accept basieren. Verwenden Sie die HTTP-Methode POST, um neue Elemente auf dem Server zu erstellen, PUT, um vorhandene Elemente zu bearbeiten, DELETE, um sie zu löschen. Machen Sie die API idempotent, d. H. Die Wiederholung derselben Abfrage mit derselben Information sollte das gleiche Ergebnis ergeben. Strukturieren Sie Ihre URLs in einer hierarchischen Art und Weise.

REST ist nur ein Leitfaden, wie URLs und das HTTP-Protokoll verwendet werden, um eine API zu strukturieren. Es sagt nichts über die Rückgabeformate aus, was auch JSON sein kann.

Dies steht beispielsweise im Gegensatz zu APIs, die Binär- oder XML-Nachrichten an einen bestimmten Port senden und keine Unterschiede in HTTP-Methoden oder URLs verwenden.

Verwandte Themen