Мы достаточно регулярно рассказываем как о собственных разработках, так и экспертном опыте, связанном с веб-технологиями. Недавно мы рассматривали кейс с масштабированием веб-приложения на 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).
На этом все. Сегодня мы разобрались с одним из наиболее популярных терминов и потратили на это всего пару минут вашего времени. Надеемся, что получилось полезно и понятно.
Сегодня мы решили разобраться с терминологией и рассмотреть термин, который всем хорошо знаком. Речь идет о 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).
На этом все. Сегодня мы разобрались с одним из наиболее популярных терминов и потратили на это всего пару минут вашего времени. Надеемся, что получилось полезно и понятно.