Sobes.tech
Middle

Milliseid REST arhitektuuri reegleid teate?

sobes.tech AI

Vastus AI-lt

  1. Kliendi-serveri arhitektūra: Skaidrs atbildības sadalījums starp klientu, kas pieprasa resursus, un serveri, kas tos nodrošina.
  2. Bezvalstniecība (Stateless): Katrs pieprasījums no klienta uz serveri jābūt pilnībā aprakstītam ar visu nepieciešamo informāciju, lai to saprastu un apstrādātu. Serveris nesaglabā informāciju par iepriekšējiem klienta pieprasījumiem.
  3. Kešojamība (Cacheable): Servera atbildes var tikt marķētas kā kešojamas vai nekešojamas, ļaujot klientiem atkārtoti izmantot saņemtās atbildes, lai uzlabotu veiktspēju.
  4. Vienota saskarne (Uniform Interface): Četras ierobežojumi:
    • Resursu identifikācija (Identification of resources): Resursi tiek identificēti ar URI.
    • Resursu manipulācija caur reprezentācijām (Manipulation of resources through representations): Klients sadarbojas ar resursu, pārsūtot resursa reprezentācijas.
    • Pašaprakstīšanās ziņojumi (Self-descriptive messages): Katrs ziņojums satur pietiekami daudz informācijas, lai saprastu, kā to apstrādāt (piemēram, satura tips).
    • HATEOAS (Hypermedia as the Engine of Application State): Klients pārvietojas starp resursiem, sekojot saitēm servera atbildēs.
  5. Daudzslāņu sistēma (Layered System): Arhitektūra ļauj izmantot starpslāņus (piemēram, starpniekserverus, vārtejas) starp klientu un serveri, neietekmējot viņu mijiedarbību.
  6. Kods pēc pieprasījuma (Code on Demand - opcionali): Servers var pagaidu paplašināt vai konfigurēt klienta funkcionalitāti, pārsūtot izpildāmo kodu (piemēram, JavaScript). Tas ir izvēles noteikums.