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