REST API - Co je to? REST: překlad. Zastupující státní převod

REST API (Representational State Transfer) nebo RESTful Web Services - Co to je? REST v anglickém překladu "representative state transfer". Jedná se o způsob, jak zajistit interoperabilitu mezi počítačovými systémy na internetu. Webové služby kompatibilní s protokolem REST, které umožňují systémovým dotazům zpřístupňovat a spravovat webové zobrazení webových stránek pomocí jediné standardní sady operací. Existují i ​​jiné formy webových služeb, které zahrnují své vlastní libovolnou sadu operací, jako jsou WSDL a SOAP.


APLIKACE REST: Co je to? Definice konceptu

Webové zdroje byly původně definovány na World Wide Web jako dokumenty nebo soubory identifikované jejich adresami URL. Dnes mají mnohem obecnější a abstraktnější definici, která pokrývá všechny subjekty nebo entity, které lze identifikovat, pojmenovat, adresovat nebo zpracovávat na webu. Požadavky webové služby REST API, které jsou otráveny zdrojem URI, generují odpověď, která může být spuštěna v XML, HTML, JSON nebo v jiném formátu. Odpověď může potvrdit, že byly provedeny nějaké změny uloženého prostředku, stejně jako poskytování hypertextových odkazů na jiné související zdroje a jejich sbírky. Používání protokolu HTTP jako nejběžnějšího protokolu odkazuje na typy dostupných operací, které jsou způsobeny příkazy PUT, DELETE, HTTP GET, POST. Použitím protokolů bez ohledu na stavové a standardní operace jsou systémy REST zaměřeny na rychlý výkon, spolehlivost a schopnost růstu opětovným použitím komponent, které lze spravovat akteré lze aktualizovat bez ovlivnění systému jako celku. Použití funkce REST je často lepší než styl SOAP (Simple Object Access Protocol), protože REST nepoužívá šířku pásma, což je vhodnější pro použití na internetu. Pro přístup SOAP je nutné zaznamenat nebo použít poskytovaný serverový program (pro údržbu dat) a klientský program (pro datový dotaz).


Technologie Historie

Termín "reprezentativní státní přenos" byl představen a identifikován v roce 2000 Royem Fieldingem v jeho disertaci "Architektonické styly a návrh architektury síťového softwaru". On vyvinul architektonický styl REST paralelně s HTTP 111996-1999, založený na stávající HTTP projektu 101996. V retrospektivním pohledu na vývoj technologií Fielding uvedl, že během procesu standardizace HTTP byl povolán, aby chránil volbu designu na internetu. Jedná se o velmi obtížný úkol v rámci procesu, který přijímá návrhy od kohokoliv na toto téma, který se rychle stává centrem celého odvětví. Fielding má připomínky od více než 500 vývojářů, z nichž mnozí jsou vynikající inženýři s dlouholetými zkušenostmi. Musel mu vysvětlit vše, počínaje nejabstraktnějšími koncepty interakce na webu a dokončováním přesných detailů syntaxe HTTP. Tento proces shodil svůj model se základním souborem zásad, vlastností a omezení, které se nyní nazývají REST.

Výhody

Vlastnosti stylu REST ovlivňují následující architektonické vlastnosti:
  • Produktivita - interakcekomponenty je dominantním rysem uživatelského vnímání výkonu a výkonu sítě.
  • , škálovatelnost podporovat maximální počet komponentů, testování REST API a interakci mezi nimi.
  • Jednoduchost jediného rozhraní a ověření REST API.
  • Možnost modifikace součásti vhodné pro měnící se potřeby (i při běhu).
  • Viditelnost spojení mezi komponenty a servisními agenty.
  • Schopnost přenášet součásti přesunem jejich programového kódu s daty.
  • , spolehlivost - vysoká pružnost v přítomnosti poruch ve skladu, nebo datové terminály.
  • je v důsledku rozdělení problémů mezi klienty, že tento odpočinek API umožňuje zjednodušit provádění složek snižuje složitost konektoru sémantiky, zlepšuje účinnost a zvyšuje výkon ladění škálovatelnost komponenty čistý serveru. Komplexní systém omezení umožňují zprostředkovatelé-proxy, brány a firewally implementované v různých místech, aniž by změna komunikačních rozhraní mezi komponentami, které jim umožní, aby REST zprávu překladu nebo zlepšení výkonu přes rozsáhlou obecnou cache. Příklady REST API je skutečnost, kdy interakce není závislá na standardní dotaz metod a typy médií se používají k označení sémantiky a výměnu informací a odpovědí jasně indikují keshyruemost.

    Formální a architektonické překážky

    Šest vodící systém omezení popisující pohodové. Omezujízpůsoby, jakým může server zpracovávat a přijímat požadavky zákazníků. Tím, že působí v rámci těchto limitů, služba získává žádoucí nefunkční vlastnosti, jako je výkon, škálovatelnost, jednoduchost, variabilita, viditelnost, mobilita a spolehlivost. Pokud služba poruší potřebná omezení, nemůže být považována za RESTful.
    První omezení se vztahují k architektonickému stylu "klient-server". Rozdělení problémů uživatelského rozhraní s problémy s ukládáním dat zlepšuje přenosnost uživatelského rozhraní na více platformách. Také zlepšuje škálovatelnost zjednodušením serverových komponent. Snad nejdůležitější pro síť je, že divize umožňuje komponentům samostatně se rozvíjet a tím zachovávat požadavky na internetovou škálu na soubor organizačních domén.

    Bezpečnost

    REST neposkytuje vestavěnou bezpečnostní podporu. To je velmi důležité při navrhování webových služeb REST - bezpečnostní požadavky a design jsou prováděny předem. Webové služby REST používají operace HTTP GET, POST, PUT a DELETE z operací CRUD. PUT a DELETE nejsou podporovány mnoha prohlížeči a jsou často odpojeny na úrovni serveru z důvodu možných porušení soukromí. Pokud není správně nakonfigurován na úrovni serveru a klienta, může být jakýkoli uživatel třetí strany schopen vytvořit prostředek pomocí metody PUT nebo zničit použitý prostředek DELETE. Při vytváření bezpečnostních požadavků na webové služby je třeba vzít v úvahu tyto body.

    Architektonické prvky

    Klíčový aspekt systému REST je charakter a stavjeho datových prvků. Ve stylu REST existují čtyři pojmy, které popisují chování a stav informací. Zdroj je objekt (logický nebo fyzický) dostupný na Internetu. Může se jednat o dokument uložený v systému souborových serverů nebo v řádku v databázové tabulce. Koncový uživatel interaguje s prostředkem k dosažení konkrétního cíle. Při navrhování systému pomocí programu REST musí vývojář přemýšlet o obchodních objektech jako o zdrojích ao tom, jak je lze řešit.
    URI - Jedinečně identifikuje zdroj. Tento parametr činí adresu zdroje a lze jej změnit. Zdroje jsou měněny pomocí programového protokolu - například protokolu HTTP. Zastoupení představuje data /metadata stavu zdroje v daném okamžiku. Při požadavku na URI klient obdrží zastoupení zdroje. Typ zdroje může být zakódován v jednom nebo více přenesených formátech, jako jsou XML, HTML, JSON, RSS, REST API pro java. Tyto formáty lze dohodnout s mechanismem pro vyjednávání obsahu. Link - umožňuje aplikaci provést přechod z jednoho státu do druhého. Každý zdroj musí být připojen k jiným zdrojům. Předložení by mělo naznačovat odkaz na další krok. Dobře připojená aplikace umožňuje uživateli nezávislé otevření rozhraní.

    Konektor

    Konektor konektoru je abstraktní rozhraní, které zprostředkovává spojení mezi komponentami. Vzhledem k tomu, že nedochází k interakcím REST, konektor nesmí ukládat informace o stavu. Následně může dojít k souběhu mezi součástmi.
    Klient a server jsou hlavní konektory REST.Klient iniciuje požadavek a server jej zpracuje. Cache je jiný typ konektoru. Ukládání do mezipaměti může být provedeno na úrovni klientů, serverů nebo středních úrovní. Tím se snižuje čekací doba a využití sítě.

    Komponenty

    Komponenty provádějí sadu jednoznačně definovaných metod na zdroji a vytvářejí nápad pro zachycení aktuálního nebo předpokládaného stavu. User-Agent - používá klientský konektor k zahájení požadavku. Původní server používá konektor serveru k odpovědi na požadavek. Proxy je prostředník, který se používá na straně klienta k poskytnutí zapouzdření rozhraní s dalšími službami. Provádí také překlad a ochranu dat. Brána je prostředník používaný na serveru, který poskytuje zapouzdření rozhraní s dalšími službami.

    Perspektivy vývoje

    Vždy aktuální otázka: REST API - Co je to pro moderní internetové technologie? REST je základem dnešní webové architektury, která se vyvíjí analýzou nevýhod stávajících stylů a zavedením nových doplňků. REST API - co to je? To je touha používat stávající styly s koordinovaným souborem omezení, aby se minimalizovalo připojení k síti a maximalizoval se nezávislý vývoj komponent, aby se dosáhlo škálovatelnosti. Jedná se o novou architekturu distribuovaného hypermedia systému. S příchodem smartphonů, tablet a tak dále budou implementovány sítě a jejich škálovatelnost.

    Související publikace