Sobes.tech
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.