Gernar
HTTP, API и сеть

Какие знаешь методы запросов

Разбор вопроса «Какие знаешь методы запросов» для Frontend Developer: что проверяет интервьюер, ключевые тезисы, практические примеры и частые ошибки.

Вопрос

Какие знаешь методы запросов

Профессия

Frontend Developer

Что хочет услышать интервьюер

Интервьюер хочет убедиться, что кандидат понимает базовые HTTP-методы и их назначение, особенно в контексте веб-разработки и взаимодействия с API.

Ключевые тезисы

  • Основные HTTP-методы: GET (получение данных), POST (отправка данных), PUT (обновление данных), DELETE (удаление данных), PATCH (частичное обновление).
  • Дополнительные методы: HEAD (аналогичен GET, но без тела ответа), OPTIONS (информация о поддерживаемых методах для ресурса).
  • Примеры использования: GET для загрузки страницы, POST для отправки формы, PUT/DELETE для работы с API.

Подробный ответ

HTTP-методы — это набор команд, которые определяют действия, выполняемые на сервере. Основные методы включают GET, POST, PUT, DELETE и PATCH. GET используется для получения данных с сервера, например, при загрузке веб-страницы. POST применяется для отправки данных на сервер, например, при заполнении формы. PUT и DELETE используются для обновления и удаления данных соответственно. Метод PATCH отличается от PUT тем, что он обновляет только часть ресурса, а не весь ресурс целиком. Дополнительные методы, такие как HEAD и OPTIONS, также играют важную роль. HEAD аналогичен GET, но возвращает только заголовки ответа без тела, что полезно для проверки состояния ресурса. OPTIONS предоставляет информацию о поддерживаемых методах для указанного ресурса.

Практические примеры

Пример 1

Пример использования GET: запрос к серверу для получения списка пользователей. Например, GET /api/users.

Пример 2

Пример использования POST: отправка данных формы регистрации на сервер. Например, POST /api/register с телом запроса, содержащим имя и пароль пользователя.

Пример 3

Пример использования PUT: обновление данных пользователя. Например, PUT /api/users/1 с телом запроса, содержащим новое имя пользователя.

Пример 4

Пример использования PATCH: частичное обновление данных пользователя. Например, PATCH /api/users/1 с телом запроса, содержащим только новую почту пользователя.

Частые ошибки

  • Путаница между PUT и PATCH. PUT обновляет весь ресурс, а PATCH только его часть.
  • Использование GET для отправки данных, что может привести к утечке информации через URL.

Связанные темы

  • HTTP-заголовки
  • REST API
  • Статус-коды HTTP

Follow-up вопросы

В чем разница между PUT и PATCH?

Уровень: intermediate

PUT полностью заменяет ресурс новыми данными, тогда как PATCH применяет частичные изменения к ресурсу. PUT требует отправки всех полей, даже если они не меняются, а PATCH — только изменяемых.

Какой метод HTTP запроса идемпотентен и почему?

Уровень: intermediate

Идемпотентные методы (GET, PUT, DELETE, HEAD, OPTIONS) при повторном выполнении не изменяют состояние сервера. Например, несколько GET-запросов к одному ресурсу дадут одинаковый результат.

Когда используют метод OPTIONS?

Уровень: basic

OPTIONS применяют для проверки поддерживаемых методов на сервере для конкретного URL (CORS-запросы). Например, перед отправкой PUT-запроса клиент может уточнить, разрешен ли он.

Какие методы HTTP безопасны (safe) и почему?

Уровень: intermediate

Безопасные методы (GET, HEAD, OPTIONS) только читают данные и не изменяют состояние сервера. Они не должны иметь побочных эффектов, в отличие от POST, PUT, DELETE.

Как метод TRACE используется в веб-разработке?

Уровень: advanced

TRACE возвращает полученный запрос обратно клиенту, что полезно для отладки цепочки прокси-серверов. Однако из-за уязвимостей (например, XST) его часто отключают в production.

Содержание