REST API (Representational State Transfer) - это архитектурный стиль, описывающий правила проектирования интерфейса для взаимодействия приложения с другими. Он определяет методы доступа к данным на сервере, такие как POST, GET, PUT и DELETE, и использует обмен сообщениями через протокол HTTP(S). Одной из особенностей REST API является отсутствие сохранения состояния между запросами, что обеспечивает гибкость и масштабируемость серверной части.
REST API также не привязывает разработчиков к конкретным технологиям и провайдерам, что делает его универсальным. Чтобы увеличить скорость обмена данными, информация передается в сжатом формате, чаще всего в формате JSON. А API (Application Programming Interface) в данном случае — это код, который позволяет двум приложениям обмениваться данными с сервера.
✅ Подписывайся на канал, чтобы не пропустить новые публикации!
Методы HTTP, такие как GET, POST, PUT и DELETE, являются основой для работы с REST API. Они позволяют клиентам взаимодействовать с ресурсами на сервере, используя стандартные операции CRUD (Создание, Чтение, Обновление, Удаление).
GET
Метод GET используется для запроса содержимого указанного ресурса. С его помощью можно получать данные с сервера. Запросы GET должны быть безопасными и идемпотентными, т.е. их выполнение не должно влиять на состояние ресурсов на сервере и должно быть возможно повторять один и тот же запрос несколько раз с тем же результатом.
POST
Метод POST применяется для отправки данных на сервер для создания нового ресурса. Данные отправляются в теле запроса. POST-запросы не идемпотентны, что означает, что несколько последовательных одинаковых POST-запросов обычно приведут к созданию нескольких копий одного и того же ресурса.
PUT
Метод PUT используется для обновления существующего ресурса или создания нового при указании целевого URI. В отличие от POST, PUT является идемпотентным, что означает, что повторение одного и того же запроса PUT будет иметь тот же эффект, что и его однократное выполнение.
DELETE
Метод DELETE удаляет указанный ресурс. Подобно GET и PUT, DELETE должен быть идемпотентным, то есть несколько запросов на удаление одного и того же ресурса должны иметь тот же эффект, что и один запрос.
RESTful и принципы REST API
RESTful - сервис, написанный с учетом всех правил REST. REST приложение представляет собой список url-адресов, с помощью которых сервер может принимать запросы на получение, сохранения, удаление данных.
Сам по себе RESTful не является стандартом или протоколом. Разработчики руководствуются принципами REST API для создания эффективной работы с серверов для своих сайтов и приложений.
Унифицированный интерфейс
REST API запросы к определённому ресурсу должны быть идентичными. URL-адрес ассоциируется с одними данными. Это делает архитектурный стиль сайта/приложения проще, а взаимодействие с сервером — понятнее.
Раздельная работа клиента и сервера
Клиент и сервер могут работать абсолютно независимо друг от друга. Разработчики используют достаточно простой способ организации REST API: клиентский код остается на его стороне, а код доступа — на сервере. Если клиентский код изменится, это не скажется на работе сервера, и наоборот. Благодаря этому REST API имеет такие преимущества, как переносимость и гибкость, а также возможность масштабирования.
Нет сохранения состояния
На сервере не записываются проведенные операции клиента. Каждый запрос должен быть информативным и унифицированным, то есть понятным серверу.
Кэшируемые данные
В REST API запросах определяется, нужно ли кэшировать данные в буфере. Клиенту это дает высокую производительность и увеличивает скорость загрузки страниц, а серверу дает большие возможности масштабирования.
Многоуровневая архитектура системы
В RESTful возможна группировка серверов на разных уровнях, каждый из которых выполняет определенный функционал и выступает посредником между клиентом и сервером.
Кодирование по требованию
Серверы предоставляют клиенту статические представления ресурсов. При использовании программной архитектуры REST API клиент, к примеру, может получить код рендеринга для виджетов. Общий код усложняется лишь при необходимости.
Начало от нуля
Клиент сталкивается только со стартовой точкой входа на сервер. Все дальнейшее взаимодействие обеспечивается сервером.
Примеры запросов REST API на python
GET запрос (Получение данных)
POST запрос (Создание данных)
PUT запрос (Обновление данных)
DELETE запрос (Удаление данных)
🤔 А ты использовал REST API?
👇 Напиши в комментариях.
✅ Подписывайся на канал, чтобы не пропустить новые публикации!