2022. augusztus 24., szerda

A "REST API" lényege

A RESTful API egy olyan alkalmazásprogram-interfész ( API ) architekturális stílusa, amely HTTP-kéréseket használ az adatok eléréséhez és felhasználásához. Ezek az adatok használhatók GET, PUT, POST és DELETE adattípusok beszerzésére, ami az erőforrásokkal kapcsolatos műveletek olvasására, frissítésére, létrehozására és törlésére vonatkozik.

A webhely API-ja olyan kód , amely lehetővé teszi, hogy két szoftverprogram kommunikáljon egymással. Az API leírja a megfelelő módot a fejlesztő számára, hogy olyan programot írjon, amely szolgáltatásokat kér egy operációs rendszertől vagy más alkalmazástól.

A RESTful API – más néven RESTful webszolgáltatás vagy REST API – a reprezentációs állapotátvitelen ( REST ) ​​alapul, amely a webszolgáltatások fejlesztése során gyakran használt kommunikációs stílus és megközelítés .

A REST technológiát általában előnyben részesítik más hasonló technológiákkal szemben. Ez általában azért van így, mert a REST kevesebb sávszélességet használ , így alkalmasabb a hatékony internethasználatra. A RESTful API-k olyan programozási nyelvekkel is létrehozhatók, mint a JavaScript vagy a Python.

A böngészők által használt REST az internet nyelvének tekinthető. A felhő használatának növekedésével a felhőalapú fogyasztók API-kat használnak a webszolgáltatásokhoz való hozzáférés feltárására és megszervezésére. A REST logikus választás olyan API-k létrehozásához, amelyek lehetővé teszik a felhasználók számára, hogy rugalmasan csatlakozzanak felhőszolgáltatásokhoz , kezeljék és interakcióba lépjenek az elosztott környezetben. A RESTful API-kat olyan webhelyek használják, mint az Amazon, a Google, a LinkedIn és a Twitter.

Hogyan működnek?

A RESTful API lebontja a tranzakciót , és kis modulok sorozatát hozza létre. Mindegyik modul a tranzakció mögöttes részével foglalkozik. Ez a modularitás nagy rugalmasságot biztosít a fejlesztőknek, de kihívást jelenthet a fejlesztők számára a REST API megtervezése a semmiből. Jelenleg több cég kínál modelleket a fejlesztők számára; az Amazon S3 , a Cloud Data Management Interface ( CDMI ) és az OpenStack Swift által biztosított modellek a legnépszerűbbek.

A RESTful API parancsokat használ az erőforrások beszerzéséhez. Az erőforrás bármely adott időbélyegzőnél fennálló állapotát erőforrás-reprezentációnak nevezzük. A RESTful API az RFC 2616 protokoll által meghatározott meglévő HTTP-módszereket használja, mint például:

GET egy erőforrás lekéréséhez;
PUT az erőforrás állapotának megváltoztatásához vagy frissítéséhez, amely lehet objektum, fájl vagy blokk;
POST az erőforrás létrehozásához; és
TÖRLÉS az eltávolításhoz.
A REST segítségével a hálózati összetevők olyan erőforrások, amelyekhez a felhasználó hozzáférést kér – mint egy fekete doboz, amelynek megvalósítási részletei nem egyértelműek. Minden hívás hontalan; a RESTful szolgáltatás semmit nem tarthat meg a végrehajtások között.

A REST API által támogatott adatformátumok a következők:

alkalmazás/json
Application/xml
application/x-wbe+xml
application/x-www-form-urlencoded
többrészes/forma-adatok

Felhasználások

Mivel a hívások állapot nélküliek , a REST hasznos a felhőalkalmazásokban. Az állapot nélküli összetevők szabadon áthelyezhetők, ha valami meghibásodik, és méretezhetők a terhelés változásaihoz. Ennek az az oka, hogy bármely kérés az összetevő bármely példányához irányítható; semmi sem menthető el, amire a következő tranzakciónak emlékeznie kell. Ez a REST-et előnyösebbé teszi webes használatra. A RESTful modell a felhőszolgáltatásokban is hasznos, mert a szolgáltatáshoz API-n keresztüli kötés az URL dekódolásának szabályozása kérdése. A felhőalapú számítástechnika és a mikroszolgáltatások szinte biztos, hogy a RESTful API-tervezést szabják meg a jövőben.

Fontos az egységes felület (UI) használata . Az erőforrásoknak egyedileg azonosíthatónak kell lenniük egyetlen URL-címen keresztül, és csak a hálózati protokoll mögöttes metódusaival, például a DELETE, PUT és GET HTTP-vel lehet manipulálni.
Kliens-szerver alapú . A kliens és a szerver között világosan el kell határolni. A felhasználói felület és a kérések összegyűjtése az ügyfél tartománya. Az adathozzáférés, a terheléskezelés és a biztonság a szerver tartománya. A kliens és a szerver laza összekapcsolása lehetővé teszi, hogy mindegyiket egymástól függetlenül fejlesszük és javítsuk.
Állam nélküli műveletek . Minden kliens-szerver műveletnek állapotmentesnek kell lennie, és minden szükséges állapotkezelésnek az ügyfélen kell történnie, nem a kiszolgálón.
RESTful erőforrás gyorsítótárazás . Minden erőforrásnak lehetővé kell tennie a gyorsítótárazást, hacsak nincs kifejezetten jelezve, hogy a gyorsítótárazás nem lehetséges.
Réteges rendszer . A REST több kiszolgálórétegből álló architektúrát tesz lehetővé.
Kód igény szerint . A szerverek legtöbbször az erőforrások statikus reprezentációit küldik vissza XML vagy JSON formátumban . Szükség esetén azonban a szerverek futtatható kódot küldhetnek a kliensnek.

Biztonság -- aminek számos szempontot kell szem előtt tartania, beleértve a következők használatát:
HTTPS; ismeretlen IP-címekről és tartományokról való hozzáférés blokkolása;
URL-ek érvényesítése; váratlanul nagy rakomány blokkolása;
naplózási kérések; és kudarcok kivizsgálása.

Hitelesítés -- használjon olyan általános hitelesítési módszereket, mint például az alapszintű HTTP hitelesítés (amely base64 kódolású felhasználónév:jelszó karakterláncot tesz lehetővé), API-kulcsok, JSON-webtokenek és egyéb hozzáférési jogkivonatok. Az OAuth 2.0 például jó hozzáférés-szabályozáshoz .
Kérések és adatok – a kérések több adatot és metaadatot tartalmazhatnak a szükségesnél, vagy több kérelemre lehet szükség az összes adat megszerzéséhez. Az API-k ehhez igazíthatók.
API tesztelés -- hosszú folyamat lehet a beállítás és a futtatás. A folyamat minden része lehet hosszú vagy kihívást jelentő. A tesztelést a Curl segédprogrammal a parancssorban is el lehet végezni. A tesztelési folyamat kihívást jelentő részei a következők:
Kezdeti beállítás
Sémafrissítések _
Tesztparaméter-kombinációk
Sequence API-hívások
Érvényesítse a tesztparamétereket
Rendszerintegráció
Határozza meg a hibakódokat és üzeneteket.
A hibakódoknál inkább a szabványos HTTP hibakódok használata az általános gyakorlat. Ezeket gyakrabban ismerik fel az ügyfelek és a fejlesztők.
Előfordulhat, hogy a hibakezelés nem tudja megkülönböztetni, hogy a válasz sikeres-e vagy sem, a törzs elemzésén vagy a hibaellenőrzésen kívül.
REST kontra SZAPPAN
A REST és a Simple Object Access Protocol (SOAP) különböző módszereket kínál a webszolgáltatások meghívására. A REST egy építészeti stílus, míg a SOAP egy szabványos kommunikációs protokoll specifikációt határoz meg az XML-alapú üzenetváltáshoz. A REST alkalmazások használhatják a SOAP-ot.

A RESTful webszolgáltatások állapot nélküliek. A REST-alapú megvalósítás egyszerű a SOAP-hoz képest, de a felhasználóknak meg kell érteniük a kontextust és a továbbított tartalmat, mivel nincs szabványos szabálykészlet a REST webszolgáltatási felület leírására. A REST szolgáltatások hasznosak a korlátozott profilú eszközökön, például a mobilokon, és könnyen integrálhatók a meglévő webhelyekkel.

A SOAP kevesebb vízvezeték-kódot igényel – vagyis alacsony szintű, infrastrukturális kódot, amely összeköti a fő kódmodulokat –, mint a REST szolgáltatások tervezése. A Web Services Description Language közös szabálykészletet ír le az üzenetek, összerendelések, műveletek és a szolgáltatás helyének meghatározásához. A SOAP webszolgáltatások hasznosak az aszinkron feldolgozáshoz és meghíváshoz.
A fejlesztők magukévá teszik a RESTful API-kat, és ezek segítségével bővítik webhelyeiket és alkalmazásaikat. Ma a REST API-kat tekintik az "internet gerincének".

Nincsenek megjegyzések:

Megjegyzés küldése