Название | REST-api: От теории к практике – полное руководство |
---|---|
Автор произведения | Разработчик |
Жанр | |
Серия | |
Издательство | |
Год выпуска | 2025 |
isbn |
2.4. Использование HTTP-статусов и заголовков
Когда мы проектируем REST-api, важно помнить, что HTTP-протокол предоставляет нам широкий спектр инструментов для передачи информации между клиентом и сервером. Одним из наиболее важных аспектов HTTP-протокола являются статусы заголовки, которые позволяют передавать дополнительную информацию о запросе ответе.
HTTP-статусы
HTTP-статусы – это трехзначные коды, которые указывают на результат обработки запроса сервере. Они могут быть разделены пять категорий:
1xx – Информационные: Эти статусы используются для передачи промежуточной информации о запросе. Например, статус 100 "Продолжить" указывает на то, что сервер принял запрос и готов его обработать.
2xx – Успешные: Эти статусы указывают на то, что запрос был успешно обработан. Например, статус 200 "OK" указывает обработан и ответ отправлен.
3xx – Перенаправления: Эти статусы используются для перенаправления клиента на другой URL. Например, статус 301 "Перемещено навсегда" указывает то, что ресурс был перемещен новый
4xx – Ошибки клиента: Эти статусы указывают на то, что клиент отправил неверный запрос. Например, статус 404 "Не найдено" указывает ресурс не найден.
5xx – Ошибки сервера: Эти статусы указывают на то, что сервер遇ил ошибку при обработке запроса. Например, статус 500 "Внутренняя ошибка сервера" указывает внутреннюю ошибку.
Использование правильных HTTP-статусов имеет важное значение для того, чтобы клиент мог правильно интерпретировать ответ сервера. Например, если сервер возвращает статус 404 "Не найдено", может отобразить сообщение об ошибке пользователю.
HTTP-заголовки
HTTP-заголовки – это пары ключ-значение, которые передаются в запросе или ответе. Они могут быть использованы для передачи дополнительной информации о Например, заголовок "Content-Type" указывает на тип содержимого ответа, а "Authorization" используется аутентификации клиента.
Некоторые из наиболее часто используемых HTTP-заголовков включают:
Content-Type: Указывает на тип содержимого ответа.
Authorization: Используется для аутентификации клиента.
Accept: Указывает на тип содержимого, который клиент может принять.
Cookie: Используется для хранения данных на стороне клиента.
ETag: Используется для кэширования ответов.
Использование правильных HTTP-заголовков имеет важное значение для того, чтобы клиент и сервер могли правильно общаться. Например, если отправляет запрос с заголовком "Accept: application/json", должен вернуть ответ в формате JSON.
Пример использования HTTP-статусов и заголовков
Допустим, мы проектируем REST-api для управления пользователями. Когда клиент отправляет запрос на создание нового пользователя, сервер должен вернуть ответ с статусом 201 "Создано" и заголовком