REST: Разлика между версии

от Уикипедия, свободната енциклопедия
Изтрито е съдържание Добавено е съдържание
Премахната редакция 5851830 на 93.123.108.131 (б.)
Редакция без резюме
Ред 6: Ред 6:
REST - стилът обикновено се състои от [http://en.wikipedia.org/wiki/Client_(computing) клиенти] и [http://en.wikipedia.org/wiki/Server_(computing) сървъри]. Клиентите иницират заявки към сървърите; сървърите преработват заявките и връщат подходящи отговори. Молбите и заявките са създадени през прехвърляне на образа на ресурси. [http://en.wikipedia.org/wiki/Web_resource Ресурсът] може да бъде всякаква ясна и смислена концепция, която може да бъде адресирана. [http://en.wikipedia.org/wiki/Representation_(systemics) Репрезентация] на ресурс обикновено е документ, който намира сегашнoто възнамерявано състояние на ресурсът.
REST - стилът обикновено се състои от [http://en.wikipedia.org/wiki/Client_(computing) клиенти] и [http://en.wikipedia.org/wiki/Server_(computing) сървъри]. Клиентите иницират заявки към сървърите; сървърите преработват заявките и връщат подходящи отговори. Молбите и заявките са създадени през прехвърляне на образа на ресурси. [http://en.wikipedia.org/wiki/Web_resource Ресурсът] може да бъде всякаква ясна и смислена концепция, която може да бъде адресирана. [http://en.wikipedia.org/wiki/Representation_(systemics) Репрезентация] на ресурс обикновено е документ, който намира сегашнoто възнамерявано състояние на ресурсът.
Клиентът започва да изпраща молби, когато е готов да направи преходът към ново състояние. Докато една или повече молби са неизпълнени за клиентът се смята, че е в преход. Репрезентацията на всяко приложение се състои от линкове, които могат да бъдат използвани следващият път, когато клиентът избере да направи нови официални промени.
Клиентът започва да изпраща молби, когато е готов да направи преходът към ново състояние. Докато една или повече молби са неизпълнени за клиентът се смята, че е в преход. Репрезентацията на всяко приложение се състои от линкове, които могат да бъдат използвани следващият път, когато клиентът избере да направи нови официални промени.

==Условия==
Архитектурният стил на "REST" прилага шест ограничителни условия, като същевременно дава свобода за дизайна и имплементацията на индивидуалните компоненти:
; [[Клиент-сървър|Клиент-сървър]]
: Единният интерфейс разделя клиента и сървъра. Това означава, например, че клиента не се грижи за складирането на данни. Тази задача остава изцяло за сървъра, като по този начин се подобрява портативността на клиентския код (може да се използва в различни среди). Сървърът няма връзка с потребителския интерфейс и по този начин е по-семпъл и лесен за премащабиране. Клиентът и сървърът могат да бъдат заменяни или развивани независимо един от друг, стига това да не налага промяна на единния интерфейс помежду им.
; Без статус на сесията ''({{lang-en|''Stateless''}})''
: Следващото условие е на сървъра да не се запазват статуси на сесиите. Всяка заявка от клиента, съдържа в себе си нужната информация за нейната обработка, статуси на сесии се запазват единствено при клиента.
; Кеширане
: Клиента има право да кешира (запазва) информация, получена в отговор от сървъра, за да я преизползва при последващи заявки. За тази цел сървъра трябва имплицитно или експлицитно да е посочил дали информацията в отговора може да се кешира, за да се избегнат случаи, в които клиента получава грешна информация при бъдещи заявки. При правилно управление и използване на кеширането могат частично или напълно да се елиминират ненужни взаимодействия между клиента и сървъра, като по този начин се подобрява бързината и производителността.
; Многослойна система
: Обикновенно клиентът не знае дали е свързан с крайния сървър или със сървър-посредник. Сървърите-посредници подобряват ефективността, като увеличават капацитета за обработване на заявки и предоставят споделени кешове. Също така те допринасят да подобряването на сигурността.
; Код при поискване (незадължително)
: Сървърът може временно да разшири функционалността, изпращайки код, който се изпълнява директно при клиента. Например клиентски скриптове, написани на [[JavaScript]] или компилирани компоненти като Java applets.
; Единен интерфейс
: Единният интерфейс между клиента и сървъра разделя и опростява архитектурата. По този начин всеки компонент може да се развива самостоятелно.

Единственото условие на REST архитектурата, което не е задължително е "Код по поискване". Всяко приложение (услуга), изпълняващо на гореописаните условия, може да се нарече "RESTful". Ако нарушава дори едно от условията, то не може да бъде считано за "RESTful".

Всяка разпространена хипермедийна система, съответстваща на архитектурния стил на "REST" притежава нужната производителност, мащабируемост, опростеност, гъвкавост, видимост, портативност и надеждност.


== Източници ==
== Източници ==

Версия от 07:15, 1 септември 2013

Услугата REST (Шаблон:Lang-en) представлява разпределителна системна рамка, базирана на уеб протоколи и технологии. Архитектурният модел Rest включва взаимодействията между сървър и клиент, осъществени по време на трансфера на данни. Уеб е най-мащабната имплементация на REST.

История

Архитектурният стил на "REST" е разработен от W3C Technical Architecture Group (TAG) едновременно със HTTP/1.1, базирано на съществуващият дизайн на HTTP/1.0. "Word Wide Web" представлява най - голямото осъществяване на архитектурният стил на REST. REST - стилът обикновено се състои от клиенти и сървъри. Клиентите иницират заявки към сървърите; сървърите преработват заявките и връщат подходящи отговори. Молбите и заявките са създадени през прехвърляне на образа на ресурси. Ресурсът може да бъде всякаква ясна и смислена концепция, която може да бъде адресирана. Репрезентация на ресурс обикновено е документ, който намира сегашнoто възнамерявано състояние на ресурсът. Клиентът започва да изпраща молби, когато е готов да направи преходът към ново състояние. Докато една или повече молби са неизпълнени за клиентът се смята, че е в преход. Репрезентацията на всяко приложение се състои от линкове, които могат да бъдат използвани следващият път, когато клиентът избере да направи нови официални промени.

Условия

Архитектурният стил на "REST" прилага шест ограничителни условия, като същевременно дава свобода за дизайна и имплементацията на индивидуалните компоненти:

Клиент-сървър
Единният интерфейс разделя клиента и сървъра. Това означава, например, че клиента не се грижи за складирането на данни. Тази задача остава изцяло за сървъра, като по този начин се подобрява портативността на клиентския код (може да се използва в различни среди). Сървърът няма връзка с потребителския интерфейс и по този начин е по-семпъл и лесен за премащабиране. Клиентът и сървърът могат да бъдат заменяни или развивани независимо един от друг, стига това да не налага промяна на единния интерфейс помежду им.
Без статус на сесията (Шаблон:Lang-en)
Следващото условие е на сървъра да не се запазват статуси на сесиите. Всяка заявка от клиента, съдържа в себе си нужната информация за нейната обработка, статуси на сесии се запазват единствено при клиента.
Кеширане
Клиента има право да кешира (запазва) информация, получена в отговор от сървъра, за да я преизползва при последващи заявки. За тази цел сървъра трябва имплицитно или експлицитно да е посочил дали информацията в отговора може да се кешира, за да се избегнат случаи, в които клиента получава грешна информация при бъдещи заявки. При правилно управление и използване на кеширането могат частично или напълно да се елиминират ненужни взаимодействия между клиента и сървъра, като по този начин се подобрява бързината и производителността.
Многослойна система
Обикновенно клиентът не знае дали е свързан с крайния сървър или със сървър-посредник. Сървърите-посредници подобряват ефективността, като увеличават капацитета за обработване на заявки и предоставят споделени кешове. Също така те допринасят да подобряването на сигурността.
Код при поискване (незадължително)
Сървърът може временно да разшири функционалността, изпращайки код, който се изпълнява директно при клиента. Например клиентски скриптове, написани на JavaScript или компилирани компоненти като Java applets.
Единен интерфейс
Единният интерфейс между клиента и сървъра разделя и опростява архитектурата. По този начин всеки компонент може да се развива самостоятелно.

Единственото условие на REST архитектурата, което не е задължително е "Код по поискване". Всяко приложение (услуга), изпълняващо на гореописаните условия, може да се нарече "RESTful". Ако нарушава дори едно от условията, то не може да бъде считано за "RESTful".

Всяка разпространена хипермедийна система, съответстваща на архитектурния стил на "REST" притежава нужната производителност, мащабируемост, опростеност, гъвкавост, видимост, портативност и надеждност.

Източници

http://rest.elkstein.org/2008/02/what-is-rest.html

http://www.techopedia.com/definition/1312/representational-state-transfer-rest

Вижте също

Шаблон:Интернет-мъниче