Pull to refresh
58.98
Rating
1cloud.ru
IaaS, VPS, VDS, Частное и публичное облако, SSL

Минута теории: Разбираемся с RESTful-приложениями

1cloud.ru corporate blogWebsite developmentDevelopment of mobile applicationsDevelopment for e-commerceDevelopment for IOT
Мы достаточно регулярно рассказываем как о собственных разработках, так и экспертном опыте, связанном с веб-технологиями. Недавно мы рассматривали кейс с масштабированием веб-приложения на Ruby и говорили о том, как можно ускорить загрузку веб-страниц.

Сегодня мы решили разобраться с терминологией и рассмотреть термин, который всем хорошо знаком. Речь идет о RESTful-приложениях. В этом нам помог материал Лорен Лонг (Lauren Long), которая работает в компании Recurse Center.



/ Фото Juhan Sonin / CC

Мало кто мог пройти мимо термина REST. Его употребляют в том числе и применительно к категории RESTful-приложений. Если развернуть аббревиатуру, то вы увидите Representational State Transfer или «передачу информации о состоянии».

Данный термин предложил Рой Филдинг (Roy Fielding) в своей диссертации, которая уже стала классикой в сфере веб-технологий. Он сформулировал основные принципы устройства Сети в виде определенного инструментария или архитектурной парадигмы. Для того, чтобы отнести то или иное приложение к типу RESTful, необходимо, чтобы оно удовлетворяло этим принципам.

1. Основной момент — клиент-свервеное взаимодействие. Противоположный пример — event-based-архитектура — здесь уже не будет работы «один на один».

2. Stateless-подход — для полноценной работы клиенту и серверу не нужно хранить информацию о прежнем состоянии друг друга. Каждый отдельный запрос является вполне самостоятельным.

3. Типовые протоколы взаимодействия — от URI и HTTP до JSON-формата — четко обусловленные интерфейсы, которые дают двум сторонам всю необходимую информацию для работы (self-descriptive). Здесь важно понимать, что каждое из взаимодействий автономно (п.2).

4. Дополнительные условия заключаются в наличии кэширования (возможность хранения self-descriptive ответов), допущение многоуровневой системы взаимодействия клиента и сервера (прокси, балансировка нагрузки), шлюзы и кодировка по запросу (необязательное условие, пример — JavaScript).

На этом все. Сегодня мы разобрались с одним из наиболее популярных терминов и потратили на это всего пару минут вашего времени. Надеемся, что получилось полезно и понятно.
Tags:RESTRESTfulвебвеб-приложения
Hubs: 1cloud.ru corporate blog Website development Development of mobile applications Development for e-commerce Development for IOT
Total votes 31: ↑20 and ↓11+9
Views26K

Information

Founded
Location
Россия
Website
1cloud.ru
Employees
31–50 employees
Registered