Назад к вопросам
Middle
5
Базовые HTTP методы GET, POST, PUT, PATCH, DELETE — чем отличаются?
Компании, где спрашивали
СБК ПАРУС
Ответ от нейросети
sobes.tech AI
HTTP методы определяют тип операции, которую клиент хочет выполнить на сервере:
- GET — запрашивает данные с сервера. Не изменяет состояние, идемпотентен и безопасен. Используется для получения информации.
- POST — отправляет данные на сервер для создания нового ресурса или выполнения операции. Не идемпотентен, может изменять состояние.
- PUT — заменяет существующий ресурс или создает его, если не существует. Идемпотентен, т.е. повторные запросы с одинаковыми данными дают тот же результат.
- PATCH — частично обновляет ресурс, изменяя только указанные поля. Не обязательно идемпотентен, зависит от реализации.
- DELETE — удаляет ресурс. Идемпотентен, повторное удаление того же ресурса не меняет результат.
Пример на C# с использованием HttpClient:
var client = new HttpClient();
// GET
var response = await client.GetAsync("https://api.example.com/items/1");
// POST
var content = new StringContent(jsonData, Encoding.UTF8, "application/json");
response = await client.PostAsync("https://api.example.com/items", content);
// PUT
response = await client.PutAsync("https://api.example.com/items/1", content);
// PATCH (через HttpMethod)
var method = new HttpMethod("PATCH");
var request = new HttpRequestMessage(method, "https://api.example.com/items/1") { Content = content };
response = await client.SendAsync(request);
// DELETE
response = await client.DeleteAsync("https://api.example.com/items/1");