Sobes.tech
Middle

Kokie yra REST principai?

sobes.tech AI

Atsakymas iš AI

REST principai yra šie:

  • Kliento-serverio architektūra (Client-Server): Klientas (paslaugos vartotojas) ir serveris (paslaugos teikėjas) yra atskirti pagal pareigas. Tai skatina kliento kodo pernešamumą ir serverio mastelį.
  • Be būsenos (Stateless): Kiekvienas užklausimas iš kliento turi turėti visą reikalingą informaciją serveriui, kad galėtų įvykdyti tą užklausą. Serveris nesaugo kliento būsenos tarp užklausų.
  • Talpinimas (Cacheable): Serveris gali aiškiai nurodyti, ar duomenys gali būti talpinami kliento ar tarpinio sluoksnio. Tai gerina našumą ir mastelį.
  • Vienodas sąsajos principas (Uniform Interface): svarbiausias principas, apimantis keturias dalis:
    • Resursų identifikavimas (Identification of resources): Resursai yra identifikuojami unikaliomis URI.
    • Resursų manipuliavimas per reprezentacijas (Manipulation of resources through representations): Klientas sąveikauja su resursais, gaudamas jų reprezentacijas (pvz., JSON ar XML formatu) ir siunčia naujas reprezentacijas resurso būsenos keitimui.
    • Saviapibūdinančios žinutės (Self-descriptive messages): Kiekviena žinutė turi pakankamai informacijos, kad gavėjas suprastų, kaip ją apdoroti. Naudojami standartiniai HTTP antraštės.
    • Hipermedija kaip programos būsenos variklis (HATEOAS): Klientas turi rasti informaciją apie prieinamus veiksmus ir galimus perėjimus tarp būsenų iš hipermedijos nuorodų, įtrauktų į resursų reprezentacijas.
  • Klojimo sistema (Layered System): Sistema gali būti organizuota per tarpinio sluoksnius (pvz., proxy, talpyklos, vartai), per kuriuos vyksta užklausos ir atsakymai. Klientas nežino, ar jis tiesiogiai dirba su galutiniu serveriu, ar per tarpinio sluoksnius.
  • Kodo pagal užklausą (Code on Demand - pasirenkama): Serveris gali laikinai išplėsti kliento funkcionalumą perduodamas vykdomą kodą (pvz., JavaScript). Šis principas nėra būtinas REST atitikčiai.