Middle
Kokias REST architektūros taisykles žinote?
sobes.tech AI
Atsakymas iš AI
- Klientas-serverio architektūra: Aiškus atsakomybės pasidalijimas tarp kliento, kuris prašo išteklių, ir serverio, kuris juos teikia.
- 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.
- Cacheable: Serverio atsakymai gali būti pažymėti kaip cacheable arba ne, leidžiant klientams pakartotinai naudoti gautus atsakymus, siekiant pagerinti našumą.
- 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.
- Klojama sistema: Architektūra leidžia naudoti tarpinio sluoksnio (pvz., proxy, vartus) tarp kliento ir serverio, nepažeidžiant jų sąveikos.
- 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ė.