1/7
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Что такое REST?
REST (Representational State Transfer) - это архитектурный стиль взаимодействия компонентов распределенной системы, определяющий правила обмена данными между клиентом и сервером через HTTP-протокол.
—
REST (Representational State Transfer) - это архитектурный стиль, описывающий принципы взаимодействия компонентов в распределенных системах, где обмен данными происходит посредством запросов и ответов по протоколу HTTP. REST основан на шести ключевых принципах: клиент-серверная архитектура, отсутствие состояния между запросами, возможность кэширования, единообразный интерфейс, многоуровневая система и возможность передачи кода по требованию (опционально). Приложения, построенные с учетом этих принципов, называются RESTful. Такой подход обеспечивает надежность, высокую производительность, масштабируемость и простоту взаимодействия между различными компонентами системы, где клиент может быть любым устройством - от браузера до мобильного приложения, а сервер обрабатывает запросы и возвращает соответствующие ответы.
Чем отличается GET
от POST
? (API)
GET используется для получения данных с сервера без изменения информации, в то время как POST применяется для отправки данных на сервер с целью создания новых ресурсов.
—
GET и POST - это два основных метода HTTP-запросов, которые выполняют разные функции в API. GET предназначен для получения информации с сервера и является безопасным методом, который не изменяет данные. Все параметры при GET-запросе передаются через URL и видны в адресной строке браузера. В отличие от этого, POST используется для отправки данных на сервер с целью создания новых ресурсов, таких как добавление записи в базу данных или загрузка файла. POST-запросы не кэшируются и могут содержать большой объем данных в теле запроса, что делает их более подходящими для операций, изменяющих состояние сервера. При этом многократное выполнение одного и того же GET-запроса всегда возвращает одинаковый результат, тогда как повторные POST-запросы создают новые ресурсы.
Что такое JWT? (API)
JWT (JSON Web Token) - это открытый стандарт для создания токенов доступа, который используется для безопасной передачи данных между клиентом и сервером в клиент-серверных приложениях.
—
JWT (JSON Web Token) - это компактный формат передачи информации между участниками взаимодействия в виде JSON-объекта, который состоит из трёх частей: заголовка, полезной нагрузки и подписи. Токены JWT обычно используются для аутентификации и обмена данными между клиентом и сервером, где сервер создаёт токен, подписывает его секретным ключом и передаёт клиенту. При каждом последующем запросе клиент включает JWT в заголовок HTTP-запроса, что позволяет серверу верифицировать пользователя без необходимости повторного входа. JWT может содержать важную информацию о пользователе (claims), такую как роли, права доступа и другие атрибуты, что делает его удобным для реализации механизмов авторизации и аутентификации в современных веб-приложениях.
Как работает OAuth2? (API)
OAuth2 - это протокол авторизации, который позволяет сторонним приложениям получать ограниченный доступ к данным пользователя на других сервисах, используя специальные токены доступа.
—
OAuth2 - это протокол авторизации, который обеспечивает безопасный способ для приложений получать доступ к ресурсам пользователя на других сервисах без передачи паролей. Процесс работы включает несколько шагов: приложение запрашивает у пользователя разрешение на доступ к серверу ресурсов, передает свои идентификационные данные на авторизационный сервер, после проверки которого генерируется токен доступа. Этот токен затем используется приложением для обращения к серверу ресурсов и получения необходимых данных. Протокол поддерживает различные типы авторизации (явный и неявный поток, пароль для конфиденциальных приложений), позволяет ограничивать права доступа и области видимости, а также обеспечивает возможность обновления токенов. OAuth2 широко применяется в социальных сетях, облачных сервисах и других веб-приложениях для безопасной интеграции между различными сервисами.
Что такое Swagger? (API)
Swagger - это инструмент для создания интерактивной документации и тестирования REST API, который автоматически генерирует наглядное описание всех доступных методов и параметров.
—
Swagger - это набор инструментов для работы с API, который позволяет автоматически создавать подробную и интерактивную документацию для REST API. С помощью Swagger разработчики могут наглядно увидеть структуру API, доступные методы, параметры запросов и ответы, а также сразу протестировать работу каждого эндпоинта прямо в браузере. Инструмент включает в себя редактор документации, визуализатор UI для взаимодействия с API и генератор клиентского кода. Swagger активно используется не только разработчиками для создания и поддержки API, но и системными аналитиками для анализа структуры API, тестировщиками для проверки работоспособности методов, а также менеджерами проектов для демонстрации возможностей API заказчикам. Это делает его универсальным решением для всей команды разработки.
Какие есть ответы сервера
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-статус, который указывает на отсутствие запрашиваемого ресурса на сервере.
Метод 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"
Роуты (маршруты) в веб-разработке
это система путей и URL-адресов на сайте, которая определяет, как обрабатываются различные запросы пользователей.
Роуты позволяют создавать гибкие и масштабируемые веб-приложения, обеспечивая удобную навигацию как для пользователей, так и для разработчиков.
Организация навигации
Создание понятных и удобных URL-адресов для пользователей
Пример: mysite.ru/articles/2008/november/13
Позволяет получать контент по конкретным параметрам