REST
Skrót od „Representational State Transfer”.
REST to zdefiniowany zestaw standardów służących do przesyłania zasobów przez Internet. Metoda REST jest powszechnie stosowana w przypadku API („API REST”), które umożliwiają programistom uzyskiwanie dostępu do danych ze zdalnych systemów przez Internet.
REST definiuje sześć ograniczeń architektonicznych:
- Model klient-serwer – serwer przetwarza żądania klientów, a klienci mogą uzyskiwać dostęp tylko do wymaganych danych na serwerze
- Bezstanowość – żądania są tymczasowe, a dane klientów nie są przechowywane na serwerze
- Możliwość buforowania – żądania mogą być buforowane, aby poprawić wydajność
- Jednolity interfejs – dostęp do danych musi być spójny dla wszystkich użytkowników i systemów
- Obsługa systemów warstwowych – żądania mogą być przetwarzane hierarchicznie i kierowane przez wiele systemów
- Kod na żądanie (opcjonalnie) – serwery mogą dostarczać kod wykonywalny do systemów klienckich
REST a SOAP
REST jest często porównywany z SOAP, innym zestawem standardów służących do przesyłania danych przez Internet. REST jest jednak po prostu stylem projektowym, podczas gdy SOAP to rzeczywisty protokół z określonymi regułami i poleceniami. Zarówno API REST, jak i API SOAP przesyłają dane za pośrednictwem HTTP, ale SOAP obsługuje wyłącznie dane w formacie XML, natomiast REST jest bardziej elastyczny.
Ponieważ SOAP jest oficjalnym protokołem, wszystkie wiadomości wysyłane za jego pośrednictwem muszą używać tego samego formatu „koperty”, zawierającego nagłówek i treść. REST, który powstał później niż SOAP, ma mniej ograniczeń i jest często uznawany za lekką alternatywę dla SOAP.
NOTE: Interfejsy API zgodne z wytycznymi REST są technicznie nazywane „API RESTful”, ale wielu programistów określa je zamiast tego jako „API REST”.
Sprawdź swoją wiedzę