TGViewer
TESTOREST TESTOREST @testorest · 2.47K subscribers
Post #91 410
⚛️ REST API - cотоит из двух слов REST + API.
Что такое API - можно посмотреть тут https://t.me/testorest/33
REST (Representational State Transfer — «передача состояния представления») архитектурный стиль, который определяет как компоненты системы должны взаимодействовать друг с другом.

Разберем особенности такого типа API, как REST.

🔹Обычно взаимодействие происходит с помощью запросов/ответов.
🔹Часть системы(компонент), который отправляет запрос, называют Клиентом.
🔹Компонент системы, который обрабатывает запрос, называют Сервером.
🔹Запросы/Ответы в большинстве случаев отправляются по протоколу HTTP(англ. HyperText Transfer Protocol — "протокол передачи гипертекста").

REST, характеризуется набором ограничений, которые нужно учесть при проектировании системы.

Ниже перечислены ограничения для REST-архитектуры приложения:

1️⃣Использование модели Клиент-Сервер.
Позволяет сделать независимыми интерфейсную и серверную часть приложения, где хранятся данные. Повышает переносимость клиентского кода на другие платформы, а упрощение серверной части улучшает масштабируемость системы.

2️⃣Отсутствие состояния
В период между запросами серверу не нужно хранить информацию о состоянии клиента и наоборот. Все запросы от клиента должны быть составлены так, чтобы сервер получил из них всю необходимую информацию для выполнения запроса. Таким образом и сервер, и клиент могут "понимать" любое принятое сообщение, не опираясь при этом на предыдущие сообщения.

3️⃣Кэширование
Клиенты могут выполнять кэширование ответов сервера. Это позволяет меньше обращаться к серверу и быстрее получать нужную информацию.

4️⃣Единообразие интерфейса
Т.е. клиент всегда должен понимать в каком формате и на какие адреса он может слать запрос. Сервер, в свою очередь, должен понимать в каком формате отвечать клиенту. Данный формат взаимодействия клиента и сервера, описывающий что, куда, в каком виде нужно отсылать, называется интерфейсом взаимодействия.

5️⃣Слои
Под слоями подразумевается иерархическая структура сетей. Иногда клиент может общаться напрямую с сервером, а иногда — просто с промежуточным узлом. Применение промежуточных серверов способно повысить масштабируемость за счёт балансировки нагрузки и распределённого кэширования.

6️⃣Код по требованию (необязательное ограничение)
Данное ограничение подразумевает, что клиент может расширять свою функциональность, за счет загрузки кода с сервера в виде апплетов или сценариев.

🔹Приложения, построенные с учетом REST, т.е. не нарушающие накладываемые REST ограничения, называют RESTful.

🔹Большинство людей называют API, для приложений построенных по REST - стандарту «REST API».

🔹REST API могут использовать любой формат сообщений, который хотят использовать разработчики API, включая XML, JSON, CSV, HTML и другие.

Преимущества REST:
🔹надёжность (не нужно сохранять информацию о состоянии клиента, которая может быть утеряна);
🔹производительность (за счёт использования кэша);
🔹масштабируемость;
🔹прозрачность системы взаимодействия;
🔹простота интерфейсов;
🔹портативность компонентов;
🔹лёгкость внесения изменений;
🔹способность эволюционировать, приспосабливаясь к новым требованиям.

#testorest #rest #api
  • 👍 4
More from @testorest
  1. Sep 30, 2026⚛️Новая статья в блоге🚀 Изучение Java для автотестов. #3 Теория: Циклы (for и for-each).…
  2. Sep 23, 2026⚛️Изучение Java для автотестов. #2 Теория: Оператор if-else. Сегодня публикую следующий ша…
  3. Sep 16, 2026⚛️Изучение Java для автотестов. #1 Теория: Переменные и типы данных. Продолжаем изучение j…
  4. Sep 9, 2026⚛️Изучение Java для автотестов. #0 Подготовка окружения. Сегодня многие в сфере тестирован…
  5. Sep 9, 2026С Днем тестировщика! 🐞 С нахождения первого бага прошло 66 лет, компьютеры с тех пор знач…
  6. Sep 8, 2026У тестировщиков редко бывает одинаковая работа. 😺 Один меняет IT на стройку и заново соби…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →