Middle
Jaké jsou principy REST?
sobes.tech AI
Odpověď od AI
Existují následující principy REST:
- Architektura klient-server: Oddělení odpovědností mezi klientem (uživatelem služby) a serverem (poskytovatelem služby). To podporuje přenositelnost klientského kódu a škálovatelnost serveru.
- Bezstavový (Stateless): Každý požadavek od klienta k serveru musí obsahovat všechny informace potřebné k jeho zpracování. Server neukládá stav klienta mezi požadavky.
- Cacheovatelné: Server může explicitně uvést, zda mohou být data ukládána do mezipaměti klientem nebo mezivrstvami. To zlepšuje výkon a škálovatelnost.
- Jednotné rozhraní: Nejdůležitější princip, který zahrnuje čtyři podprincipy:
- Identifikace zdrojů: Zdroje jsou identifikovány unikátními URI.
- Manipulace se zdroji přes reprezentace: Klient interaguje se zdroji získáváním jejich reprezentací (například ve formátu JSON nebo XML) a odesíláním nových reprezentací ke změně stavu zdroje.
- Samoodpovídající zprávy: Každá zpráva obsahuje dostatek informací, aby ji příjemce pochopil a zpracoval. Používají se standardní hlavičky HTTP.
- Hypermedia jako motor stavu aplikace (HATEOAS): Klient musí najít informace o dostupných akcích a možných přechodech mezi stavy aplikace z hypermedialinků vložených do reprezentací zdrojů.
- Systém v vrstvách: Systém může být organizován s použitím mezivrstv (například proxy, cache, brány), přes které procházejí požadavky a odpovědi. Klient neví, zda komunikuje přímo s konečným serverem nebo přes mezivrstvy.
- Kód na požádání (Code on Demand - volitelné): Server může dočasně rozšířit funkčnost klienta přenosem spustitelného kódu (například JavaScript). Tento princip je volitelný pro shodu s REST.