Показаны сообщения с ярлыком RESTful. Показать все сообщения
Показаны сообщения с ярлыком RESTful. Показать все сообщения

среда, 19 марта 2014 г.

Let's have a REST, часть III

В части I рассказано о том, что такое REST и что значит для приложения быть RESTful. На несложном примере проиллюстрирован процесс проектирования RESTful приложения. В части II рассмотрены некоторые детали протокола HTTP в связи с реализацией на его основе RESTful приложений. В частности, рассказано, в чем разница между HTTP-методами POST и PUT, что такое идемпотентность, как обойти ограничения языка HTML и сделать браузерное HTML-приложение RESTful (ну, почти RESTful).

В данной, заключительной части, будут рассмотрены два RESTful приложения, написанные на Python с использованием микрофреймворка Flask. Оба приложения позволяют вести список книг, то есть, просматривать, добавлять, изменять и удалять книги из списка.

воскресенье, 9 марта 2014 г.

Let's have a REST, часть II

Теоретически, RESTful приложение может использовать любой stateless протокол для обмена сообщениями между клиентом и сервером. Практически, RESTful приложения базируются на протоколе HTTP, среди методов которого есть методы GET, POST, PUT и DELETE.

пятница, 28 февраля 2014 г.

Let's have a REST, часть I

За аббревиатурой REST (REpresentational State Transfer) стоит модель клиент-серверного приложения, в котором клиент и сервер общаются по stateless протоколу, и программный интерфейс между ними построен с учетом нескольких архитектурных требований.

REST не является технологией, в отличие от SOAP или HTTP. Поэтому нельзя сказать, что приложение использует REST. Приложение может соответствовать модели REST, и тогда говорят, что оно RESTful.

Среди требований к архитектуре RESTful приложения следующие:

  1. идентификация серверных ресурсов,
  2. манипуляция ресурсами с помощью представлений (representations),
  3. самоописательность клиентских запросов,
  4. гиперсcылки в представлениях для перехода к новым состояниям приложения.

Рассмотрим эти требования одно за другим.