REST
REST (ang. Representational State Transfer) to styl architektoniczny projektowania interfejsów sieciowych, w którym komunikacja między aplikacjami odbywa się przez protokół HTTP, a dane są traktowane jako zasoby posiadające unikalne adresy (URL). Interfejs zaprojektowany zgodnie z zasadami REST nazywa się API RESTowym i jest dziś najpopularniejszym sposobem wymiany danych między frontendem, aplikacjami mobilnymi i usługami zewnętrznymi.
Jak działa REST?
W podejściu REST każdy zasób — np. użytkownik, zamówienie, produkt — ma swój adres, a operacje na nim wyraża się standardowymi metodami HTTP:
- GET — pobranie zasobu (np. lista zamówień),
- POST — utworzenie nowego zasobu,
- PUT / PATCH — aktualizacja istniejącego zasobu,
- DELETE — usunięcie zasobu.
Odpowiedzi zwracane są najczęściej w formacie JSON, a wynik operacji sygnalizują kody statusu HTTP (200, 201, 404, 500). Kluczową cechą REST jest bezstanowość: serwer nie pamięta poprzednich żądań, więc każde musi być kompletne. Do dobrych praktyk należą też jednolita struktura adresów, wersjonowanie API oraz spójne stosowanie kodów odpowiedzi.
Zastosowanie w praktyce
REST jest fundamentem większości nowoczesnych API: aplikacja mobilna pobiera dane z serwera, sklep integruje się z systemem płatności, a panel administracyjny komunikuje się z backendem właśnie przez wywołania REST. Bezstanowość ułatwia skalowanie poziome — kolejne serwery można dokładać bez współdzielenia sesji, co dobrze współgra z hostingiem aplikacji na serwerach VPS za load balancerem. Alternatywami dla REST są starszy SOAP oraz nowsze GraphQL, jednak dla większości zastosowań webowych REST pozostaje domyślnym wyborem ze względu na prostotę i uniwersalność.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się REST od SOAP?
SOAP to sztywny protokół oparty na XML z rozbudowanymi standardami bezpieczeństwa i transakcji. REST to lżejszy styl architektoniczny wykorzystujący zwykły HTTP i najczęściej JSON. REST jest prostszy we wdrożeniu i dominuje w publicznych API webowych, SOAP wciąż bywa spotykany w systemach korporacyjnych.
Co oznacza, że REST jest bezstanowy?
Bezstanowość znaczy, że serwer nie przechowuje informacji o poprzednich żądaniach klienta. Każde żądanie musi zawierać komplet danych potrzebnych do jego obsługi, w tym uwierzytelnienie. Ułatwia to skalowanie, bo dowolny serwer może obsłużyć dowolne żądanie.
