REST API

0.0(0)
studied byStudied by 0 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/7

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

8 Terms

1
New cards

Что такое REST?

REST (Representational State Transfer) - это архитектурный стиль взаимодействия компонентов распределенной системы, определяющий правила обмена данными между клиентом и сервером через HTTP-протокол.


REST (Representational State Transfer) - это архитектурный стиль, описывающий принципы взаимодействия компонентов в распределенных системах, где обмен данными происходит посредством запросов и ответов по протоколу HTTP. REST основан на шести ключевых принципах: клиент-серверная архитектура, отсутствие состояния между запросами, возможность кэширования, единообразный интерфейс, многоуровневая система и возможность передачи кода по требованию (опционально). Приложения, построенные с учетом этих принципов, называются RESTful. Такой подход обеспечивает надежность, высокую производительность, масштабируемость и простоту взаимодействия между различными компонентами системы, где клиент может быть любым устройством - от браузера до мобильного приложения, а сервер обрабатывает запросы и возвращает соответствующие ответы.

2
New cards

Чем отличается GET от POST? (API)

GET используется для получения данных с сервера без изменения информации, в то время как POST применяется для отправки данных на сервер с целью создания новых ресурсов.


GET и POST - это два основных метода HTTP-запросов, которые выполняют разные функции в API. GET предназначен для получения информации с сервера и является безопасным методом, который не изменяет данные. Все параметры при GET-запросе передаются через URL и видны в адресной строке браузера. В отличие от этого, POST используется для отправки данных на сервер с целью создания новых ресурсов, таких как добавление записи в базу данных или загрузка файла. POST-запросы не кэшируются и могут содержать большой объем данных в теле запроса, что делает их более подходящими для операций, изменяющих состояние сервера. При этом многократное выполнение одного и того же GET-запроса всегда возвращает одинаковый результат, тогда как повторные POST-запросы создают новые ресурсы.

3
New cards

Что такое JWT? (API)

JWT (JSON Web Token) - это открытый стандарт для создания токенов доступа, который используется для безопасной передачи данных между клиентом и сервером в клиент-серверных приложениях.


JWT (JSON Web Token) - это компактный формат передачи информации между участниками взаимодействия в виде JSON-объекта, который состоит из трёх частей: заголовка, полезной нагрузки и подписи. Токены JWT обычно используются для аутентификации и обмена данными между клиентом и сервером, где сервер создаёт токен, подписывает его секретным ключом и передаёт клиенту. При каждом последующем запросе клиент включает JWT в заголовок HTTP-запроса, что позволяет серверу верифицировать пользователя без необходимости повторного входа. JWT может содержать важную информацию о пользователе (claims), такую как роли, права доступа и другие атрибуты, что делает его удобным для реализации механизмов авторизации и аутентификации в современных веб-приложениях.

4
New cards

Как работает OAuth2? (API)

OAuth2 - это протокол авторизации, который позволяет сторонним приложениям получать ограниченный доступ к данным пользователя на других сервисах, используя специальные токены доступа.


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

5
New cards

Что такое Swagger? (API)

Swagger - это инструмент для создания интерактивной документации и тестирования REST API, который автоматически генерирует наглядное описание всех доступных методов и параметров.


Swagger - это набор инструментов для работы с API, который позволяет автоматически создавать подробную и интерактивную документацию для REST API. С помощью Swagger разработчики могут наглядно увидеть структуру API, доступные методы, параметры запросов и ответы, а также сразу протестировать работу каждого эндпоинта прямо в браузере. Инструмент включает в себя редактор документации, визуализатор UI для взаимодействия с API и генератор клиентского кода. Swagger активно используется не только разработчиками для создания и поддержки API, но и системными аналитиками для анализа структуры API, тестировщиками для проверки работоспособности методов, а также менеджерами проектов для демонстрации возможностей API заказчикам. Это делает его универсальным решением для всей команды разработки.

6
New cards

Какие есть ответы сервера

  • 1XX - информационные коды. Показывают, что запрос принят и обрабатывается. Обычно не видны пользователям, используются для внутренних процессов браузеров.

  • 2XX - успешные ответы. Подтверждают, что запрос был успешно обработан сервером.

  • 3XX - коды перенаправления. Требуют выполнения дополнительных действий, например, перехода по редиректу.

  • 4XX - ошибки на стороне пользователя. Появляются при неправильном запросе или истечении времени ожидания.

  • 5XX - ошибки сервера. Возникают, когда сервер не может обработать корректный запрос.

Наиболее важные коды для SEO:

  • 301 Moved Permanently - страница навсегда перемещена на новый адрес. Используется при переносе сайта на HTTPS, склейке зеркал, изменении домена.

  • 200 OK - запрос успешно обработан. Идеальный ответ для новых страниц и первого посещения.

  • 304 Not Modified - страница не изменилась с последнего посещения. Выдается при повторных запросах, если контент не изменился.

  • 403 Forbidden - доступ к странице запрещен. Появляется при неправильном доступе к закрытым разделам или ошибках в индексных файлах.

  • 410 Gone - страница удалена навсегда. Используется при окончательном удалении контента.

  • 503 Service Unavailable - сервис временно недоступен. Появляется при перегрузке сервера, техническом обслуживании или DDoS-атаках.

  • Ошибка 404 (Not Found или «Не найдено») — это стандартный HTTP-статус, который указывает на отсутствие запрашиваемого ресурса на сервере.

7
New cards

Метод HEAD в контексте CRUD

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

Основные характеристики метода HEAD

  • Тип операции: получение информации о ресурсе

  • Аналог в CRUD: можно рассматривать как облегченную версию метода GET

  • Цель использования: получение только заголовков ответа без тела сообщения

Сравнение с методом GET

  • Основное отличие: HEAD возвращает только заголовки, а GET - полное содержимое

  • Производительность: HEAD более эффективен при проверке существования ресурса

  • Использование: HEAD применяется когда нужно узнать только информацию о ресурсе

Когда использовать метод HEAD

  • Проверка существования ресурса без загрузки его содержимого

  • Получение метаданных файла (размер, дата изменения, тип контента)

  • Проверка актуальности кэшированных данных

  • Получение информации о доступных методах для ресурса

  • Мониторинг состояния ресурса без загрузки

Примеры использования

  • Проверка статуса файла перед его загрузкой

  • Получение информации о доступных форматах медиафайлов

  • Проверка прав доступа к ресурсу

  • Мониторинг изменений ресурса без его загрузки

Ответы сервера при использовании HEAD

  • 200 OK: ресурс существует, заголовки отправлены

  • 304 Not Modified: ресурс не изменился с последнего запроса

  • 404 Not Found: ресурс не существует

  • 403 Forbidden: доступ запрещен

  • 500 Internal Server Error: ошибка на сервере

    Преимущества использования HEAD

    • Экономия трафика: не загружается само содержимое

    • Быстрая проверка: меньше времени на обработку

    • Оптимизация: идеально для проверок и валидации

    • Безопасность: меньше данных передается по сети

    Ограничения метода HEAD

    • Не подходит для получения самого содержимого

    • Некоторые серверы могут игнорировать HEAD-запросы

    • Не все API поддерживают этот метод

    • Может быть менее производительным на некоторых конфигурациях серверов

    Рекомендации по использованию

    • Используйте HEAD для проверки существования ресурсов

    • Применяйте для получения метаданных перед загрузкой

    • Проверяйте поддержку метода на целевом API

    • Сравнивайте производительность с методом GET в вашем конкретном случае

    Метод HEAD является важным инструментом для оптимизации работы с API и веб-сервисами, особенно когда требуется только информация о ресурсе без его содержимого.

Запрос
HEAD /api/users/123 HTTP/1.1
Host: example.com
Ответ
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1024
Last-Modified: Wed, 28 May 2025 21:48:27 GMT
ETag: "abc123"

8
New cards

Роуты (маршруты) в веб-разработке

это система путей и URL-адресов на сайте, которая определяет, как обрабатываются различные запросы пользователей.

Роуты позволяют создавать гибкие и масштабируемые веб-приложения, обеспечивая удобную навигацию как для пользователей, так и для разработчиков.

  • Организация навигации

    • Создание понятных и удобных URL-адресов для пользователей

    • Пример: mysite.ru/articles/2008/november/13

    • Позволяет получать контент по конкретным параметрам