Middle
Milliseid REST arhitektuuri reegleid teate?
sobes.tech AI
Vastus AI-lt
- Kliendi-serveri arhitektūra: Skaidrs atbildības sadalījums starp klientu, kas pieprasa resursus, un serveri, kas tos nodrošina.
- 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.
- 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.
- 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.
- 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.
- 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.