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.