REST API (Representational State Transfer) alebo RESTful Web Services - Čo to je? REST v anglickom preklade "representative state transfer". Toto je spôsob, ako zabezpečiť interoperabilitu medzi počítačovými systémami na internete. Webové služby kompatibilné so službou REST, ktoré umožňujú systémovým otázkam prístup k webovým textovým zobrazeniam webových stránok a ich spravovanie pomocou jednej štandardnej sady operácií. Existujú aj iné formy webových služieb, ktoré obsahujú svoj vlastný ľubovoľný súbor operácií, ako napríklad WSDL a SOAP.
REST API: Čo je to? Definícia konceptu
História technológie
Termín "reprezentatívny štátny prenos" bol zavedený a identifikovaný v roku 2000 Royom Fieldingom v jeho dizertačnej práci "Architektonické štýly a návrh architektúry sieťového softvéru". On vyvinul architektonický štýl REST paralelne s HTTP 111996-1999, na základe existujúceho HTTP projektu 101996. V retrospektívnom pohľade na vývoj technológií Fielding povedal, že počas procesu štandardizácie HTTP bol povolaný chrániť výber dizajnu na internete. Ide o veľmi náročnú úlohu v rámci procesu, prijímajúc návrhy od kohokoľvek, čo sa rýchlo stáva stredom celého odvetvia. Fielding má pripomienky od viac ako 500 vývojárov, z ktorých mnohí sú vynikajúci inžinieri s dlhoročnými skúsenosťami. Všetko to musel vysvetliť, začínajúc najaktívnejšími konceptmi interakcie na internete a dokončovaním presných podrobností o syntaxe HTTP. Tento proces zosilnil svoj model na základný súbor princípov, vlastností a obmedzení, ktoré sa teraz nazývajú REST.
Funkcie štýlu REST ovplyvňujú nasledujúce architektonické vlastnosti:Produktivita - interakciakomponenty je dominantnou črtou vnímania používateľov výkonnosti a výkonnosti siete. Škálovateľnosť na podporu maximálneho počtu komponentov, testovanie rozhrania API REST a interakcia s nimi. Jednoduchosť jednotného rozhrania a autorizácia rozhrania API REST. Schopnosť meniť komponenty tak, aby vyhovovali meniacim sa potrebám (aj pri spustení programu). Viditeľnosť spojenia medzi komponentmi a servisnými agentmi. Schopnosť prenášať komponenty presunutím ich programového kódu s údajmi. Spoľahlivosť - vysoká odolnosť voči chybám pri výskyte zlyhania v kompozícii, konektoroch alebo údajoch.
je v dôsledku rozdelenia problémov medzi klientmi, že tento odpočinok API umožňuje zjednodušenie vykonávania zložiek znižuje zložitosť konektora sémantiky, zlepšuje účinnosť a zvyšuje výkon ladenie škálovateľnosť komponenty čistý servera. Komplexný systém obmedzenia umožňujú sprostredkovatelia-proxy, brány a firewally implementované v rôznych miestach, bez toho aby zmena komunikačných rozhraní medzi komponentmi, ktoré im umožnia, aby REST správu preklade alebo zlepšenie výkonu cez rozsiahlu všeobecnú cache. Príklady REST API je skutočnosť, kedy interakcie nie je závislá na štandardné dotaz metód a typy médií sa používajú na označenie sémantiky a výmenu informácií a odpovedí jasne indikujú keshyruemost.
Šesť obmedzení sa vyznačuje systémom RESTful. Obmedzujúspôsoby, akými môže server spracovávať a prijímať požiadavky zákazníkov. Tým, že pôsobí v rámci týchto limitov, služba získa požadované nefunkčné vlastnosti, ako je výkon, škálovateľnosť, jednoduchosť, variabilita, viditeľnosť, mobilita a spoľahlivosť. Ak služba porušuje všetky potrebné obmedzenia, nemôže byť považovaná za RESTful.
Prvé obmedzenia sa týkajú architektonického štýlu "klient-server". Rozdelenie problémov používateľského rozhrania s problémami s ukladaním údajov zlepšuje prenosnosť používateľského rozhrania na viacerých platformách. Tiež zlepšuje škálovateľnosť zjednodušením serverových komponentov. Snáď najdôležitejšie pre sieť je, že rozdelenie umožňuje komponenty rozvíjať samostatne, čím sa zachovávajú požiadavky na internetovej škály na súbor organizačných domén.
Služba REST neposkytuje zabudovanú bezpečnostnú podporu. Je to veľmi dôležité pri navrhovaní webových služieb REST - požiadavky na bezpečnosť a dizajn sa robia vopred. Webové služby REST používajú operácie HTTP GET, POST, PUT a DELETE z operácií CRUD. PUT a DELETE nie sú podporované mnohými prehliadačmi a kvôli možným porušeniam ochrany osobných údajov sú často odpojené na úrovni servera. Ak nie je správne nastavený na serveri a klienta, každý užívateľ tretích strán možno vytvoriť prostriedok pomocou put-metódu k zničeniu alebo zdrojov DELETE. Pri vytváraní bezpečnostných požiadaviek na webové služby by sa tieto body mali zohľadniť.
Kľúčovým aspektom systému REST je charakter a stavjeho dátových prvkov. Vo štýle REST existujú štyri koncepty, ktoré opisujú správanie a stav informácií. Zdroj je objekt (logický alebo fyzický) dostupný na internete. Môže to byť dokument uložený v systéme súborov servera alebo riadok v tabuľke databázy. Koncový používateľ interaguje s prostriedkom na dosiahnutie konkrétneho cieľa. Ak chcete navrhnúť systém pomocou nástroja REST, musí vývojár premýšľať o obchodných objektoch ako o zdrojoch ao tom, ako sa dajú riešiť.
URI - Jedinečne identifikuje zdroj. Tento parameter robí adresu zdroja a dá sa zmeniť. Zdroje sa menia pomocou programového protokolu - napríklad HTTP. Zastúpenie predstavuje údaje /metadáta stavu zdroja v danom čase. Klient získava zastúpenie prostriedkov pri žiadosti o URI. Typ zdroja môže byť zakódovaný v jednom alebo viacerých prenášaných formátoch, ako napríklad XML, HTML, JSON, RSS, REST API pre java. Tieto formáty možno dohodnúť s mechanizmom rokovaní o obsahu. Link - umožňuje aplikácii vykonávať prechod z jedného štátu do druhého. Každý zdroj musí byť pripojený k iným zdrojom. Podanie by malo navrhnúť odkaz na ďalší krok. Dobre prepojená aplikácia umožňuje používateľovi nezávislé otvorenie rozhrania.
Konektor konektora je abstraktné rozhranie, ktoré sprostredkuje spojenie medzi komponentmi. Keďže sa nevyskytujú interakcie REST, konektor nesmie uchovávať informácie o stave. V dôsledku toho sa môže spojenie medzi komponentami vyskytnúť paralelne.
Klient a server sú hlavné konektory REST.Klient iniciuje požiadavku a server ju spracuje. Cache je iný typ konektora. Ukladanie do vyrovnávacej pamäte môže byť implementované na klientskej, serverovej alebo strednej úrovni. Tým sa znižuje čakacia doba a používanie siete.
Komponenty vykonávajú na prostriedku jasne definované metódy a vytvárajú nápady na zachytenie aktuálneho alebo predpokladaného stavu. User-Agent - používa konektor klienta na iniciovanie žiadosti. Origin-server používa konektor servera na zodpovedanie žiadosti. Proxy je sprostredkovateľ, ktorý sa používa na strane klienta na poskytnutie zapuzdrenia rozhrania s inými službami. Zabezpečuje tiež preklad a ochranu údajov. Brána je mediátor, ktorý sa používa na serveri na poskytnutie zapuzdrenia rozhrania s inými službami.
Vždy aktuálna otázka: REST API - Čo je to pre moderné internetové technológie? REST je základom dnešnej webovej architektúry, ktorá sa vyvíja analýzou nevýhod existujúcich štýlov a zavádzaním nových doplnkov k nej. REST API - čo to je? Toto je túžba používať existujúce štýly s koordinovaným súborom obmedzení, aby sa minimalizovalo pripojenie k sieti a aby sa maximalizoval nezávislý vývoj komponentov, aby sa dosiahla škálovateľnosť. Ide o novú architektúru distribuovaného hypermedia systému. S príchodom chytrých telefónov, tabliet atď. Gadgetov bude implementovaná sieť a jej škálovateľnosť.
Výhody
Formálne a architektonické obmedzenia
Prvé obmedzenia sa týkajú architektonického štýlu "klient-server". Rozdelenie problémov používateľského rozhrania s problémami s ukladaním údajov zlepšuje prenosnosť používateľského rozhrania na viacerých platformách. Tiež zlepšuje škálovateľnosť zjednodušením serverových komponentov. Snáď najdôležitejšie pre sieť je, že rozdelenie umožňuje komponenty rozvíjať samostatne, čím sa zachovávajú požiadavky na internetovej škály na súbor organizačných domén.