REST API - što je to? REST: prijevod. Predstavnički državni prijenos
REST API (Representational State Transfer) ili RESTful web servis - što je to? REST u prijevodu s engleskog "reprezentativni državni prijenos". To je način da se osigura interakcija između računalnih sustava na Internetu. REST-kompatibilne web-usluge koje dozvoljavaju sustavima da pristupaju i upravljaju tekstualnim prikazima web resursa koristeći jedan i unaprijed definirani skup operacija. Postoje i drugi oblici web-usluga koji sadrže vlastite proizvoljne postavke za rad, na primjer WSDL i SOAP.
sadržaj
REST API: što je to? Definicija koncepta
Web resursi izvorno su definirani na World Wide Webu kao dokumenti ili datoteke identificirane njihovim URL-ovima. Danas su mnogo više opći i apstraktni pojam, pokrivaju svaki predmet ili osobu koja se može identificirati, pod nazivom, obratio ili tretirati na webu. U web servis REST API zahtjeva, otrovanih u URI-život, izaziva reakciju koja se može dizajniran u XML, HTML, JSON, ili u bilo kojem drugom formatu. Odgovor može potvrditi da su neke promjene napravljene na pohranjenih resursa, te osigurati hipertekstne linkove na druge srodne resurse i njihovu kolekciju. Koristeći HTTP kao najrašireniji protokol odnosi na vrste dostupnih operacijama koje su predefinirane naredbe PUT, DELETE, HTTP GET, POST.
Korištenje protokola bez državljanstva i standardne operacije, ODMOR sustav usmjeren na brze performanse, pouzdanost i mogućnost za rast kroz ponovnu uporabu sastavnih dijelova koji se mogu kontrolirati, a koji se mogu ažurirati bez utjecaja na cjelokupni sustav. Korištenje ostalo je često bolji od težih stilu SOAP (Simple Object Access Protocol), kao ODMOR ne koristi propusnost, što ga čini više pogodna za uporabu na Internetu. Za SOAP pristupa zahtijeva snimanje ili korištenje dobili od programa poslužitelja (za podatkovne usluge) i klijentskog softvera (upitni podaci).
Povijest tehnologije
Izraz "reprezentativni državni prijenos" uveo je i definirao Roy Fielding 2000. godine u svojoj tezi "Arhitektonski stilovi i dizajn mrežnih arhitektura softvera". Razvio je arhitektonski stil REST paralelno s HTTP 1.1 u 1996-1999, temeljen na postojećem HTTP 1.0 projektu iz 1996. godine. U retrospektivnom pogledu na razvoj tehnologije, Fielding je rekao da je tijekom HTTP procesa standardizacije pozvan da zaštiti izbor dizajna na Internetu. Ovo je vrlo težak zadatak pri prihvaćanju ponuda od nekoga o temi koja brzo postaje središte cijele industrije.
Fielding je imao komentare s više od 500 programera, od kojih su mnogi izvrsni inženjeri s dugogodišnjim iskustvom. Morao je sve objasniti, počevši od najlikvidnijih pojmova interakcije na webu i završavajući s točnim pojedinostima HTTP sintakse. Ovaj proces usitniti njegov model na osnovni skup načela, svojstava i ograničenja, koji se sada zovu REST.
prednosti
Značajke stilova REST utječu na sljedeća arhitektonska svojstva:
- Performanse - Interoperabilnost komponenata dominantna je značajka u percepciji korisnika performansi i performansi mreže.
- Skalabilnost za podršku maksimalnom broju komponenata, testiranje REST API-ja i interakciju između njih.
- Jednostavnost jednog sučelja i autorizacija API-ja REST.
- Modifikacija komponenti za potrebe promjenjivih potreba (čak i dok je aplikacija pokrenuta).
- Vidljivost odnosa između komponenata i servisnih agenata.
- Sposobnost prijenosa komponenti pomicanjem njihovog programskog koda s podacima.
- Pouzdanost - velika tolerancija kvarova u prisutnosti kvarova u sastavu, priključcima ili podacima.
Zbog odvajanja zabrinutosti između klijenata koji to REST API omogućuje vam pojednostaviti provedbu komponenti smanjuje složenost semantike priključka poboljšava učinkovitost i tuning performansi poboljšava skalabilnost čistih komponenti poslužitelja. Složeni ograničenja sustava omogućiti posrednika-proxy, gateway i firewall provode u različitim dijelovima komunikaciju bez mijenjanja sučelja između komponenti, dopuštajući im da obavljaju poruke REST-prevedena poboljšanje performansi pomoću velikih opće caching. Primjer REST API je činjenica da je interakcija ne ovisi o statusu zahtjeva, standardne metode i vrste medija se koriste za označavanje semantiku i razmjenu informacija i odgovori jasno ukazuju međuspremnika.
Formalna i arhitektonska ograničenja
Šest ograničenja usmjeravanja karakteriziraju RESTful sustav. Ograničavaju načine na koje poslužitelj može obraditi i prihvatiti zahtjeve kupaca. Djelujući u tim ograničenjima, usluga prima željena nefunkcionalna svojstva kao što su performanse, skalabilnost, jednostavnost, varijabilnost, vidljivost, mobilnost i pouzdanost. Ako usluga krši potrebna ograničenja, ne može se smatrati RESTful.
Prva ograničenja odnose se na arhitektonski stil "klijent-poslužitelja". Razdvajanje problema s korisničkim sučeljem s problemima pohrane poboljšava prenosivost korisničkog sučelja na više platformi. Također poboljšava skalabilnost pojednostavljenjem komponenti poslužitelja. Možda najznačajnija stvar za web je da se odvajanje omogućuje komponentama da se samostalno evoluirale, čime se podupire zahtjeve internetske ljestvice na različite organizacijske domene.
sigurnosni
REST ne pruža ugrađenu sigurnosnu podršku. To je vrlo važno pri dizajniranju web usluge REST-a - sigurnosni i projektni zahtjevi su unaprijed zadovoljeni. REST web usluge koriste HTTP GET, POST, PUT i DELETE iz CRUD operacija. PUT i DELETE nisu podržani od strane mnogih preglednika i najčešće su onemogućeni na razini poslužitelja zbog mogućih kršenja privatnosti. Ako nije ispravno konfiguriran na razini poslužitelja i klijenta, bilo koji neovlašteni korisnik može izraditi resurs pomoću PUT metode ili uništiti upotrijebljeni resurs DELETE. Prilikom izrade sigurnosnih zahtjeva za web usluge, trebali biste razmotriti ove točke.
Arhitektonski elementi
Ključni aspekt REST-a je priroda i stanje njegovih podataka. U stilu REST, postoje četiri pojma koja opisuju ponašanje i stanje informacija.
Resurs je objekt (logički ili fizički) dostupan na Internetu. To može biti dokument pohranjen u datotečnom sustavu poslužitelja ili redak u tablici baze podataka. Krajnji je korisnik u interakciji s resursom kako bi se postigao određeni cilj. Za dizajn sustava pomoću programa REST, razvojni programer mora razmišljati o poslovnim objektima kao resursima i načinima na koji ih se može riješiti.
URI jedinstveno identificira resurs. Ovaj parametar čini resurs adresiranim i može se mijenjati. Resursi se mijenjaju pomoću protokola aplikacije, kao što je HTTP.
Prezentacija - ove podatke / metapodatke stanje resursa na vrijeme. Klijent prima vlasnički pregled resursa prilikom zahtjeva za URI. Vrsta resursa može se kodirati u jednom ili više prenesenih formata, kao što su XML, HTML, JSON, RSS, REST API java. Ti se formati mogu koordinirati pomoću mehanizma za pregovore o sadržaju.
Link - omogućuje aplikaciji da izvrši prijelaz iz jedne države u drugu. Svaki resurs mora biti povezan s drugim resursima. Podnošenje bi trebalo ponuditi vezu za sljedeću tranziciju. Dobro povezana aplikacija omogućuje korisniku da sami otvori sučelje.
konektor
Priključak konektora je apstraktno sučelje koje posreduje vezu između komponenti. Budući da interakcije REST nemaju status, konektor ne bi smio pohranjivati podatke o statusu. Posljedično, odnos između komponenata može se pojaviti paralelno.
Klijent i poslužitelj su glavni REST-priključci. Klijent pokreće zahtjev, a poslužitelj ga obrađuje.
Spremnik je druga vrsta konektora. Caching se može implementirati na klijent, poslužitelj ili srednje razine. To smanjuje latenciju i korištenje mreže.
komponente
Komponente izvršavaju skup dobro definiranih metoda na resursu koji stvara prikaz za snimanje trenutne ili percipirane države.
User-Agent - koristi konektor klijenta za pokretanje zahtjeva.
Izvor - poslužitelj - koristi priključak poslužitelja kako bi odgovorio na zahtjev.
Proksiji proxy koji se koristi na strani klijenta kako bi se osiguralo da je sučelje obuhvaćeno drugim uslugama. Također obavlja i prevođenje i zaštitu podataka.
Pristupnik je posrednik koji se koristi na poslužitelju kako bi omogućio enkapsuliranje sučelja za druge usluge.
Izgledi za razvoj
Uvijek relevantno pitanje: REST API - što je to za suvremene internetske tehnologije? REST je temelj moderne web arhitekture, koji se razvija analizom nedostataka već postojećih stilova i uvođenjem novih dodataka.
Koja je svrha API-ja REST? To je želja za korištenjem postojećih stilova s koordiniranim skupom ograničenja kako bi se smanjila mrežna povezivost i maksimalizirala nezavisna evolucija komponenata kako bi se postigla skalabilnost. Ovo je nova arhitektura distribuiranog hipermedijskog sustava. Pojavom pametnih telefona, tableta, itd. Gadget će se provoditi mreža i njegova skalabilnost.
- Klub `Rest` (Novosibirsk) - omiljena glazba i ugodan odmor
- Najbolji program upravljanja projektima
- Koja je karakteristika adenovirusne infekcije kod djeteta?
- Što je WWW: povijest stvaranja World Wide Weba
- "Volio sam" (restoran). Restoran `Lubimy` na industriju: recenzije
- Taskhost sustav usluga: što je to?
- Što je usluga: karakteristika koncepta
- Što je FAK, ili Vječna pitanja na World Wide Webu
- Struktura Interneta: osnovna načela rada
- Zašto trebam Internet na poslu? Koja je svrha brzog interneta?
- Odmor, poput bajke
- Cista je jedan od oblika života mikroorganizama. Funkcije i vrste
- Roots -rest, -push-, -ros-: pravilo potrošnje
- Restoran `Rest `u Podolskom: izbornik, obilježja institucije i atmosfere
- "Divni odmor" u Nizhni Novgorod - san utjelovljen u stvarnosti
- Restorani s glazbom uživo u Ufa: adrese, opis, jelovnik
- Načini prijenosa podataka - od pergamena do e-pošte
- Što je domaćin?
- Što je Flash Video i kako otvoriti flv datoteku?
- Jira: što je to i zašto je potreban ovaj sustav?
- Učinkovit asistent za bilo koji resurs - mjesto ogledalo