Найти тему

HTTP-методы (глаголы). Что рассказать о них на собеседовании?

HTTP* (HyperText Transfer Protocol) имеет несколько методов (иногда называемых "verbs" (глаголы)), которые определяют тип действия, которое клиент хочет выполнить на сервере. Вот основные HTTP-методы:

  1. GET:
    Описание: Метод используется для запроса данных о сущности с сервера.
    Идемпотентность*: Идемпотентен. Повторные GET-запросы к одной и той же сущности не изменяют ее состояние на сервере, а только возвращают данные.
    Пример: Получение информации о пользователе с идентификатором 123.
  2. POST:
    Описание: Метод используется для создания новой сущности на сервере или для обработки данных, которые могут изменять состояние сервера.
    Идемпотентность: Не идемпотентен. Повторные POST-запросы могут привести к созданию дублирующихся сущностей или другим изменениям состояния системы.
    Пример: Создание нового пользователя в системе.
  3. PUT:
    Описание: Метод используется для замены существующей сущности на сервере или создания новой, если она не существует.
    Идемпотентность: Идемпотентен. Повторный PUT-запрос на одну и ту же сущность приведет к тому же результату, что и первый запрос.
    Пример: Обновление данных пользователя с идентификатором 123.
  4. PATCH:
    Описание: Метод используется для частичного обновления сущности на сервере.
    Идемпотентность: Теоретически PATCH может быть идемпотентным, если повторный запрос изменяет сущность одинаково. Однако на практике это зависит от реализации на сервере, и PATCH часто считается неидемпотентным.
    Пример: Частичное обновление информации пользователя с идентификатором 123.
  5. DELETE:
    Описание: Метод используется для удаления сущности с сервера.
    Идемпотентность: Идемпотентен. Повторные DELETE-запросы к одной и той же сущности не изменят состояния системы, если сущность уже была удалена.
    Пример: Удаление пользователя с идентификатором 123.
  6. HEAD:
    Описание: Аналогичен методу GET, но сервер возвращает только заголовки ответа, без тела.
    Идемпотентность: Идемпотентен. Повторные HEAD-запросы не изменяют состояние сущности на сервере.
    Пример: Проверка существования пользователя с идентификатором 123.
  7. OPTIONS:
    Описание: Метод возвращает информацию о поддерживаемых сервером HTTP-методах для конкретной сущности.
    Идемпотентность: Идемпотентен. Повторные OPTIONS-запросы не изменяют состояние сущности на сервере.
    Пример: Получение списка поддерживаемых методов для сущности "пользователь".
  8. CONNECT:
    Описание: Используется для установления туннеля для связи через прокси-сервер, обычно для HTTPS.
    Идемпотентность: Неидемпотентен. Повторные CONNECT-запросы могут инициировать повторное установление соединения.
    Пример: Установление туннеля для безопасного соединения через прокси.
  9. TRACE:
    Описание: Метод возвращает запрос, который был отправлен на сервер, чтобы клиент мог видеть, что действительно было отправлено и как это было преобразовано сервером.
    Идемпотентность: Идемпотентен. Повторные TRACE-запросы не изменяют состояние сущности на сервере.
    Пример: Диагностика запроса к серверу.

*HTTP (HyperText Transfer Protocol) — это протокол прикладного уровня, используемый для передачи гипертекста (веб-страниц) и других видов данных через Интернет. HTTP является основой для обмена данными в Всемирной паутине (World Wide Web) и широко используется для взаимодействия между клиентами (например, веб-браузерами) и серверами.

*Идемпотентность — это свойство операции, при котором повторное выполнение операции не приводит к изменению состояния системы. В контексте HTTP это означает, что при повторном отправлении запроса с одним и тем же методом состояние сущности на сервере не изменится (или изменится одинаково, как при первом запросе).

Не забудьте подписаться на канал, чтобы не пропустить полезную информацию: QA Helper - справочник тестировщика

Пишите в комментариях какой пункт было бы интересно рассмотреть более подробно.

Также будет интересно почитать: Вопросы которые задают на собеседовании тестировщикам