Интернет магазин китайских планшетных компьютеров



Компьютеры - REST - Ограничения

29 мая 2011


Оглавление:
1. REST
2. Концепция
3. Ограничения
4. Руководящие принципы интерфейса
5. Ключевые цели
6. Основной принцип
7. RESTful веб-службы
8. Публичные реализации
9. Реализации на платформах
10. За пределами Веб



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

Технология «клиент-сервер»
Клиенты отделены от сервера единым интерфейсом. Это разделение ответственности означает, например, что клиенты не отвечают за хранилище данных, являющееся внутренним для каждого сервера, так что переносимость кода клиента улучшается. Серверы не отвечают за пользовательский интерфейс или пользовательское состояние, поэтому серверы могут быть проще и более масштабируемыми. Серверы и клиенты могут разрабатываться и заменяться независимо, пока не изменится интерфейс.
Без состояния
Взаимодействие клиент-сервер ограничивается далее отсутствием сохранения контекста клиента на сервере между запросами. Каждый запрос от любого клиента содержит всю информацию, необходимую для его обслуживания, а любое состояние сессии хранится в клиенте. Сервер может быть с состоянием; это ограничение требует, чтобы состояние на стороне сервера было адресуемо через URL как ресурс. Это не только делает серверы более видимыми для мониторинга, но и делает их более надежными в случае частичного отказа сети, а также дополнительно улучшает их масштабируемость.
Кэшируемость
Как и во Всемирной паутине, клиенты могут кэшировать ответы. Поэтому ответы должны, явно или неявно, определять себя кэшируемыми или нет, чтобы предотвратить использование клиентом старые или неподходящие данные при ответе на следующие запросы. Хорошо управляемое кэширование частично или полностью устраняет некоторые взаимодействия клиента и сервера, повышая далее масштабируемость и производительность.
Слоистая система
Клиент не может однозначно определить, подключается ли он непосредственно к серверу или к посреднику по пути подключения. Посредник сервера может улучшить масштабируемость системы, обеспечивая балансировку нагрузки и обеспечивая общий кэш. Он может также потребовать соблюдения политики безопасности.
Код по требованию
Серверы могут временно расширить или настроить функциональность клиента, передавая ему исполняемую логику. Примерами этого могут служить скомпилированные компоненты, такие как Java-апплеты и клиентские сценарии, такие как JavaScript.
Единый интерфейс
Единый интерфейс между клиентами и серверами, обсуждаемый ниже, упрощает и разделяет архитектуру, позволяя каждой части развиваться самостоятельно. Четыре руководящих принципа такого интерфейса подробно описаны ниже.

Единственным дополнительным ограничением архитектуры REST является код по требованию. Если служба нарушает какие-либо другие ограничения, она не может быть однозначно названа RESTful.

Соблюдение этих ограничений, и, следовательно, соответствие архитектурному стилю REST, позволит любой распределенной системе гипермедиа иметь требуемые свойства, такие как производительность, масштабируемость, простота, модифицируемость, видимость, мобильность и надежность.



Просмотров: 9996


<<< Multitenancy
Rich Internet Application >>>