Sobes.tech
Middle

Jakie są zasady REST?

sobes.tech AI

Odpowiedź od AI

Istnieją następujące zasady REST:

  • Architektura klient-serwer: Podział obowiązków między klientem (użytkownikiem usługi) a serwerem (dostawcą usługi). To sprzyja przenośności kodu klienta i skalowalności serwera.
  • Bezstanowość (Stateless): Każde żądanie od klienta do serwera musi zawierać wszystkie informacje niezbędne do jego obsługi. Serwer nie przechowuje stanu klienta między żądaniami.
  • Buforowalność: Serwer może wyraźnie wskazać, czy dane mogą być buforowane przez klienta lub warstwy pośrednie. To poprawia wydajność i skalowalność.
  • Ujednolicony interfejs: Najważniejsza zasada, obejmująca cztery podzasady:
    • Identyfikacja zasobów: Zasoby są identyfikowane przez unikalne URI.
    • Manipulacja zasobami przez reprezentacje: Klient wchodzi w interakcję z zasobami, otrzymując ich reprezentacje (np. w formacie JSON lub XML) i wysyłając nowe reprezentacje do zmiany stanu zasobu.
    • Samodokumentujące się wiadomości: Każda wiadomość zawiera wystarczające informacje, aby odbiorca mógł ją zrozumieć i przetworzyć. Używa się standardowych nagłówków HTTP.
    • Hypermedia jako silnik stanu aplikacji (HATEOAS): Klient musi znaleźć informacje o dostępnych działaniach i możliwych przejściach między stanami aplikacji na podstawie hipermedialnych linków osadzonych w reprezentacjach zasobów.
  • System warstwowy: System może być zorganizowany z użyciem warstw pośrednich (np. proxy, cache, bramy), przez które przechodzą żądania i odpowiedzi. Klient nie wie, czy komunikuje się bezpośrednio z końcowym serwerem, czy przez warstwy pośrednie.
  • Kod na żądanie (Code on Demand - opcjonalnie): Serwer może tymczasowo rozszerzyć funkcjonalność klienta, przesyłając kod wykonywalny (np. JavaScript). Ten zasada jest opcjonalna dla zgodności z REST.