Sobes.tech
Middle

Kādi ir REST principi?

sobes.tech AI

Atbilde no AI

REST principi ir šādi:

  • Klienta-servera arhitektūra (Client-Server): Klients (pakalpojuma lietotājs) un serveris (pakalpojuma sniedzējs) ir sadalīti pēc pienākumiem. Tas veicina klienta koda pārnesamību un servera mērogojamību.
  • Bez stāvokļa (Stateless): Katrs pieprasījums no klienta satur visu nepieciešamo informāciju serverim, lai izpildītu šo pieprasījumu. Servers neuzglabā klienta stāvokli starp pieprasījumiem.
  • Kešatmiņošana (Cacheable): Servers var skaidri norādīt, vai dati var tikt kešoti klienta vai starpslāņa līmenī. Tas uzlabo veiktspēju un mērogojamību.
  • Vienota saskarne (Uniform Interface): svarīgākais princips, kas ietver četras sadaļas:
    • Resursu identifikācija (Identification of resources): Resursi tiek identificēti ar unikāliem URI.
    • Resursu manipulācija ar reprezentācijām (Manipulation of resources through representations): Klients sadarbojas ar resursiem, saņemot to reprezentācijas (piemēram, JSON vai XML formātā) un sūtot jaunas reprezentācijas resursa stāvokļa maiņai.
    • Pašaprakstījošas ziņas (Self-descriptive messages): Katra ziņa satur pietiekami daudz informācijas, lai saņēmējs saprastu, kā to apstrādāt. Tiek izmantotas standarta HTTP galvenes.
    • Hipermedija kā lietojumprogrammas stāvokļa dzinējs (HATEOAS): Klients jāatrod informācija par pieejamām darbībām un iespējamiem pārejām starp stāvokļiem no hipermediju saitēm, kas ir iekļautas resursu reprezentācijās.
  • Slāņota sistēma (Layered System): Sistēma var būt organizēta ar starpslāņiem (piemēram, starpnieki, kešatmiņas, vārti), caur kuriem iet pieprasījumi un atbildes. Klients nezina, vai tas tieši sadarbojas ar galapunkta serveri vai caur starpslāņiem.
  • Kods pēc pieprasījuma (Code on Demand - izvēles): Servers var pagaidu paplašināt klienta funkcionalitāti, pārsūtot izpildāmo kodu (piemēram, JavaScript). Šis princips nav obligāts REST atbilstībai.