Middle
Koji su principi REST-a?
sobes.tech АИ
Одговор од АИ
Postoje slepi principi REST:
- Klijent-server arhitektura: Podela odgovornosti između klijenta (potrošača usluge) i servera (dobavljača usluge). Ovo doprinosi prenosivosti klijentskog koda i skalabilnosti servera.
- Bez stanja (Stateless): Svaki zahtev od klijenta ka serveru mora sadržavati sve informacije potrebne za njegovo izvršenje. Server ne čuva stanje klijenta između zahteva.
- Kešabilno: Server može eksplicitno naznačiti da li podaci mogu biti keširani od strane klijenta ili slojeva između. Ovo poboljšava performanse i skalabilnost.
- Ujednačen interfejs: Najvažniji princip, koji uključuje četiri podprincipa:
- Identifikacija resursa: Resursi se identifikuju jedinstvenim URI-jem.
- Manipulacija resursima putem reprezentacija: Klijent interaguje sa resursima dobijajući njihove reprezentacije (npr. u JSON ili XML formatu) i šaljući nove reprezentacije za promenu stanja resursa.
- Samoodgovarajuće poruke: Svaka poruka sadrži dovoljno informacija da primalac razume kako da je obradi. Koriste se standardni HTTP zaglavlja.
- Hipermedija kao motor stanja aplikacije (HATEOAS): Klijent mora pronaći informacije o dostupnim akcijama i mogućim prelazima između stanja aplikacije iz hipermedijalnih linkova ugrađenih u reprezentacije resursa.
- Sistemski slojevi: Sistem može biti organizovan sa upotrebom slojeva (npr. proksi, keš, gateway), kroz koje prolaze zahtevi i odgovori. Klijent ne zna da li komunicira direktno sa krajnjim serverom ili preko slojeva.
- Kod na zahtev (Code on Demand - opciono): Server može privremeno proširiti funkcionalnost klijenta prenoseći izvršni kod (npr. JavaScript). Ovaj princip je opciono za usklađenost sa REST-om.