Sobes.tech
Middle

Kokias REST architektūros taisykles žinote?

sobes.tech AI

Atsakymas iš AI

  1. Klientas-serverio architektūra: Aiškus atsakomybės pasidalijimas tarp kliento, kuris prašo išteklių, ir serverio, kuris juos teikia.
  2. Be būsenos (Stateless): Kiekvienas kliento užklausimas serveriui turi būti pilnas, turintis visą reikalingą informaciją užklausos supratimui ir apdorojimui. Serveris neįrašo informacijos apie ankstesnes užklausas.
  3. Cacheable: Serverio atsakymai gali būti pažymėti kaip cacheable arba ne, leidžiant klientams pakartotinai naudoti gautus atsakymus, siekiant pagerinti našumą.
  4. Vienodas sąsajos: Keturi apribojimai:
    • Išteklų identifikavimas: Ištekliai identifikuojami per URI.
    • Išteklų manipuliavimas per reprezentacijas: Klientas sąveikauja su ištekliu per reprezentacijų perdavimą.
    • Savarankiškai aprašantys pranešimai: Kiekvienas pranešimas turi pakankamai informacijos, kad būtų galima suprasti, kaip jį apdoroti (pvz., turinio tipas).
    • HATEOAS (Hypermedia as the Engine of Application State): Klientas naršo tarp išteklių sekdamas nuorodas serverio atsakymuose.
  5. Klojama sistema: Architektūra leidžia naudoti tarpinio sluoksnio (pvz., proxy, vartus) tarp kliento ir serverio, nepažeidžiant jų sąveikos.
  6. Kodo pagal užklausą (pasirinktinai): Serveris gali laikinai išplėsti arba konfigūruoti kliento funkcionalumą perduodamas vykdomą kodą (pvz., JavaScript). Tai yra pasirinktinis taisyklė.