Ответ
HTTP-методы (или "глаголы") указывают, какое действие клиент хочет выполнить с ресурсом на сервере. Каждый метод имеет свою семантику.
Основные методы:
GET
: Запрашивает представление ресурса. Является безопасным (не изменяет состояние сервера) и идемпотентным (повторные запросы дают тот же результат).POST
: Отправляет данные на сервер для создания нового ресурса (например, нового пользователя). Не является идемпотентным.PUT
: Полностью заменяет (обновляет) существующий ресурс данными из тела запроса. Идемпотентный.PATCH
: Частично изменяет ресурс. В отличие отPUT
, отправляются только изменяемые поля. Не является идемпотентным.DELETE
: Удаляет указанный ресурс. Идемпотентный.HEAD
: АналогиченGET
, но сервер возвращает только заголовки без тела ответа. Используется для проверки метаданных ресурса (например,Content-Type
илиLast-Modified
) без загрузки всего содержимого.OPTIONS
: Запрашивает информацию о параметрах соединения для целевого ресурса, например, какие HTTP-методы поддерживаются (Allow
заголовок).
Пример использования с библиотекой requests
в Python:
import requests
# Получение списка пользователей
response_get = requests.get('https://api.example.com/users')
print(f"GET Status: {response_get.status_code}")
# Создание нового пользователя
new_user_data = {'name': 'John Doe', 'email': 'john.doe@example.com'}
response_post = requests.post('https://api.example.com/users', json=new_user_data)
print(f"POST Status: {response_post.status_code}")
# Удаление пользователя
response_delete = requests.delete('https://api.example.com/users/123')
print(f"DELETE Status: {response_delete.status_code}")