Разлика между версии на „REST“

72 байта изтрити ,  преди 7 години
редакция без резюме
м (RESTful API)
Всяка разпространена хипермедийна система, съответстваща на архитектурния стил на "REST" притежава нужната производителност, мащабируемост, опростеност, гъвкавост, видимост, портативност и надеждност.
==RESTful API==
RESTful уеб API (също наричано RESTful уеб service) е уеб приложение създадено използвайки принципите на HTTP и REST. То е колекция от ресурси със четири дефинирани аспектиаспектa:
* Основният "URL" за уеб приложенията като http://example.com/resources/
* [http://en.wikipedia.org/wiki/Internet_media_type Internet media] типът на данните поддържани от уеб приложенията. Това най - честчестo е [http://en.wikipedia.org/wiki/JSON JSON], но може да бъде всеки друг валиден интърнетинтeрнет медия тип, като се има в предвид, че е валиден хипертекст стандарт.
* Операции поддържани от уеб приложението използвайки [http://en.wikipedia.org/wiki/Request_method HTTP методи] (примерно: GET, PUT, POST, или DELETE).
* Приложенията трябва да се задвижват от хипертекст.
Таблицата показва как HTTP методите обикновено се използват, за да се създаде уеб приложение.
 
{| class="wikitable"
| '''Подрежда''' URL адресите и някои други детайли на членовете на колекцията.
| '''Заменя''' цялата колекция с друга колекция.
| '''Създава''' нов вход в колекцията. URL адресът на новият вход, е определен автоматично еи обикновено се връща от операцията.
| '''Трие''' цялата колекция.
|-
! Element URI, като <code><nowiki>http://example.com/resources/item17</nowiki></code>
| '''Връща''' репрезентация на адресираниятадресирания член на колекцията, изразена във подходящ Интернет медия тип.
| '''Заменя''' адресираниятадресирания член на колекцията или ако не съществува,the addressedго member of the collection, or if it doesn't exist, ''създава'създай''' го.
|Обикновено не се използва. Treat the addressed member as a collection in its own right and '''create''' a new entry in it.
| '''Трие''' адресираният член на колекцията. Третира адресираният член като собствена колекция и прави нов вход за нея.
Методите PUT и DELETE са [http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Idempotent_methods_and_web_applications idempotent methods]. Методът GET е безопасен метод, което означава, че извикването му не причинява [http://en.wikipedia.org/wiki/Side_effect_(computer_science) странични ефекти].
За разлика от [http://en.wikipedia.org/wiki/SOAP SOAP] - базираните уеб услуги, няма "официален" стандарт за RESTful уеб API. Това е така, защото REST е архитектурен стил за разлика от SOAP, който е протокол. Въпреки, че REST не е стандарт, REST имплементация като Уеб може да използва стандарти като [http://en.wikipedia.org/wiki/HTTP HTTP], [http://en.wikipedia.org/wiki/URI URL], [http://en.wikipedia.org/wiki/XML XML] etc.
 
== Интерфейс ==
Единният интерфейс на REST се счита за основа на дизайна на всяка REST услуга.
 
'''Идентификация на ресурсите'''
:Отделните ресурси се разпознават по заявките (например използвайки [[Uniformhttp://en.wikipedia.org/wiki/Uniform_resource_identifier resource identifier|URIs]] в уеб-базирани REST системи). Самите ресурсите са отделни от изображението, което се изпраща на клиента. Например сървърът вместо да изпраща цялата база данни, изпраща [[HTML]], [[XML]] или [[JSON]], които представляват някакви записи в нея.
 
'''Управление на ресурс чрез изображение'''
 
'''HATEOAS (Hypermedia as the Engine of Application State)'''
:[[http://en.wikipedia.org/wiki/HATEOAS HATEOAS]] е ограничението, което отличава архитектурата на REST приложението от повечето архитектури на мрежови приложения. При нея клиента „общува“ с приложението изцяло чрез [[http://en.wikipedia.org/wiki/Hypermedia| hypermedia]], получена динамично от сървърa.
==Примери за Rest==
Rest може да бъде намерен в много места на публичният уеб.
* [http://en.wikipedia.org/wiki/Clean_URL Clean URLs]
* [http://en.wikipedia.org/wiki/Create,_read,_update_and_delete Create, read, update and delete] (CRUD)
* [http://en.wikipedia.org/wiki/HATEOAS HATEOAS] (Hypermedia as the Engine of Application State)
* [http://en.wikipedia.org/wiki/Resource-oriented_architecture Resource-oriented architecture] (ROA)
* [http://en.wikipedia.org/wiki/Service-oriented_architecture Service-oriented architecture] (SOA)
9

редакции