HTTP/REST
HTTP
HTTP - протокол прикладного уровня для передачи гипертекстовых документов и создан для связи между веб-браузерами и веб-серверами. Клиент-серверная модель.
Передача data через TCP/IP. TCP - транспортный протокол. Серверное ПО обычно использует TCP-порт 80.
Client ====> Proxy =====> Proxy ====> Server <==== <===== <==== Proxy ~ шлюзы(кэш) для выравнивания нагрузки.
Открытие TCP соединения (отправка запроса, получение ответа)
Отправка HTTP-сообщения Get /HTTP /1.1 HOST: сайт
Чтение ответа HTTP /1.1 код состояния(200 ОК) Заголовки Тело ответа
Закрытие или переиспользование.
Стандартные методы HTTP: GET, POST, PUT, CRUD, OPTIONS(HEAD).
Коды:
100-103 - Информационные 200-206 - Успешные 300-308 - Сообщение о перенаправлениях 400-417 - Ошибки(со стороны клиента) 500-505 - Серверные ошибки
REST
API - интерфейс программирования(взаимодействия) приложений
REST - представление данных в удобном для клиента формате. Основная идея - каждое обращение к сервису переводит клиентское приложение в новое состояние. REST - не протокол и не стандарт, а подход, архитектурный стиль проектирования API(SOAP протокол).
SOAP - XML. Принципы:
клиент-серверная архитектура;
любые данные - ресурс - однозначно определяется URL
использует стандартные методы HTTP(GET, POST, PUT, CRUD)
сервер не хранить состояние(сервер не отделяет один вызов от другого, не сохраняет все сессии в памяти)
передача данных в том же виде, что и сами данные
REST Full API - сервис, отвечающий принципам REST.
RESTFul vs RESTlike
Last updated
Was this helpful?