2012-05-15 6 views

Odpowiedz

15

Nie ma żadnej różnicy. REST opisuje sposób interakcji z serwerem HTTP, a nie to, co serwer powinien zwrócić w odpowiedzi. Większość aplikacji internetowych współdziała z serwerem po stronie POST lub GET z dodatkowymi informacjami potrzebnymi do wypełnienia żądania w formularzu wysyłania do POST lub zapytania do GET. Jeśli więc chcesz usunąć coś z serwera, zwykle robisz POST z formularzem, który zawiera dane, które określają zasób wraz z instrukcją, aby go usunąć.

Jednak HTTP implementuje metody (zwane również czasownikami) inne niż GET lub POST. Implementuje także między innymi HEAD (zwracają te same nagłówki, które zrobiłbyś dla GET, ale bez korpusu odpowiedzi), PUT (pobierz treść żądania i przechowuj jego zawartość pod jakimkolwiek adresem URL, do którego zostało wysłane żądanie PUT), oraz DELETE (Usuń dowolny zasób z podanego adresu URL). Interfejs REST po prostu korzysta z tych dodatkowych czasowników, aby przekonać znaczenie żądania do serwera.

Przeglądarki zazwyczaj obsługują tylko GET i POST dla "normalnych" (nie-XHR) żądań, ale narzędzia takie jak Curl mogą wydawać pełny zestaw czasowników HTTP. Możesz także użyć dodatkowych czasowników z użyciem technik opartych na XHR, takich jak AJAX.

Będziesz musiał podać tradycyjny interfejs spoza usługi REST, którego używają przeglądarki, chyba że chcesz, aby obsługa javascript i XHR wymagała użycia aplikacji.

+0

Witam, chcę stworzyć API, które będzie używane przez urządzenia mobilne, a także strony internetowe. Jaki byłby najlepszy sposób na API (REST lub Non REST)? – Shaolin

7

REST odnosi się głównie do używania protokołu HTTP w taki sposób, w jaki był przeznaczony. Użyj metody HTTP GET na adresie URL, aby pobrać informacje, prawdopodobnie w różnych formatach na podstawie nagłówków HTTP Accept. Użyj metody HTTP POST, aby utworzyć nowe elementy na serwerze, PUT, aby edytować istniejące elementy, DELETE, aby je usunąć. Zrób idempotent API, tzn. Powtarzanie tego samego zapytania z tymi samymi informacjami powinno dać taki sam wynik. Struktura adresów URL w sposób hierarchiczny itd.

REST jest jedynie wiodącą zasadą korzystania z adresów URL i protokołu HTTP do struktury API. Nie mówi nic o formatach zwracanych, które równie dobrze mogą być JSON.

Jest to przeciwieństwo na przykład interfejsów API, które wysyłają komunikaty binarne lub XML do wyznaczonego portu, nie wykorzystując w ogóle różnic w metodach HTTP lub adresach URL.