Шпаргалка по REST - стиле разработки веб-сервисов

26 Сентября 2023 (ред)

REST, или Representational State Transfer, это архитектурный стиль для разработки веб-сервисов. Он основан на нескольких принципах, что делает его простым, масштабируемым и гибким для создания и использования веб-сервисов.

REST использует стандартные HTTP-методы, такие как GET, POST, PUT и DELETE, для взаимодействия между клиентом и сервером. Каждая операция выполняется на определенном ресурсе, которому обычно соответствует определенный URL.

OPTIONS. Запрашивает возможности сервера или поддерживаемые им методы.

GET. Используется для запроса содержимого по указанному URI. Может содержать дополнительные параметры после знака вопроса (Query String), например /path/to/page?param1=value1,param2=value2

HEAD. То же, что GET, но запрашивает только заголовки. Обычно используется для проверки указанного адреса или, например, для получения размера документа перед его загрузкой.

POST. Применяется для передачи данных на сервер, таких как заполненные веб-формы или загружаемые файлы.

PUT. Используется для загрузки содержимого запроса по указанному URI. Отличается от POST тем, что, если загружаемые данные уже существуют на сервере, то этот метод обновит их, а не создаст новую копию. Предполагается, что адрес содержит уникальный идентификатор обновляемого ресурса.

PATCH. То же, что PUT, но применяется к части данных. Переданные данные могут быть указаны не все, в отличие от PUT и будет произведена только замена этих данных. Предполагается, что адрес содержит уникальный идентификатор обновляемого ресурса.

DELETE. Удаляет указанные данные с сервера. Предполагается, что адрес содержит уникальный идентификатор удаляемого ресурса.

TRACE. Позволяет клиенту получить информацию, вносимую или изменяемую промежуточными серверами.

CONNECT. Запускает TCP/IP туннель, то есть двустороннюю связь с сервером.

REST подчеркивает важность использования существительных в URL-адресах вместо глаголов, что делает URL-адреса понятными и легкими для восприятия. Например, вместо использования "/page/create-user" мы будем использовать POST "/page/user" в REST .

REST также поддерживает концепцию безопасных и идемпотентных операций. Безопасные операции, такие как GET, не должны изменять состояние сервера (хотя здесь вполне допускаю, что может быть какое-то логирование запроса), а идемпотентные операции, такие как PUT и DELETE, могут быть выполнены несколько раз без изменения конечного результата. Имеется в виду, что последующие одинаковые запросы от начального не изменят состояние сервера. По-видимому, в определении этого механизма подразумевается, что не изменят, если не было выполнено других паралельных изменений данных, участвующих в запросе.

Идемпотентность — это свойство операции, которое означает, что повторное ее выполнение не приводит к изменению состояния системы после первого выполнения. В контексте веб-разработки и использования HTTP-методов, идемпотентность означает, что повторный запрос с одним и тем же набором параметров не изменит состояние сервера.

Одним из главных преимуществ REST является то, что он позволяет разделение клиентского приложения и сервера. Клиент может быть реализован на любом языке программирования, которому доступен HTTP, в то время как сервер также может быть написан на любом языке, который может обработать HTTP-запросы.

Описание HTTP-методов взято отсюда: https://firstvds.ru/technology/metody-http-zaprosa

Для ответа вы можете авторизоваться


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.