REST (Representational State Transfer) to architektoniczny styl tworzenia usług sieciowych, który wykorzystuje standardowe operacje HTTP do komunikacji między klientem a serwerem. REST opiera się na kilku podstawowych zasadach:
-
Jednolity interfejs: Ujednolicenie interakcji między klientem a serwerem poprzez stosowanie standardowych metod HTTP (GET, POST, PUT, DELETE).
-
Bezstanowość: Każde żądanie od klienta do serwera musi zawierać wszystkie informacje potrzebne do zrozumienia i przetworzenia żądania. Serwer nie przechowuje żadnego stanu klienta między żądaniami.
-
Cache'owalność: Odpowiedzi serwera mogą być oznaczone jako cache'owalne lub nie, aby klienci mogli przechowywać odpowiedzi w pamięci podręcznej i poprawiać wydajność.
-
System warstwowy: Architektura systemu może być zorganizowana w warstwy, z których każda może spełniać różne funkcje, takie jak cache'owanie, logika biznesowa czy bezpieczeństwo.
-
Kod na żądanie (opcjonalne): Serwer może dostarczać kod wykonywalny klientowi w odpowiedzi na żądanie (np. skrypty JavaScript), aby zwiększyć funkcjonalność bez konieczności aktualizacji samej aplikacji.
-
Manipulacja zasobami za pomocą reprezentacji: Zasoby są identyfikowane przez URI i manipulowane za pomocą reprezentacji, takich jak JSON lub XML, które opisują aktualny stan zasobu.
Zrozumienie i stosowanie zasad REST jest kluczowe dla projektowania skalowalnych, wydajnych i łatwych do utrzymania usług sieciowych.