Ответ
POST — это HTTP-метод для отправки данных на сервер, обычно для создания нового ресурса или выполнения операции с данными.
Ключевые отличия от GET:
- Тело запроса: Данные передаются в теле запроса, а не в URL.
- Безопасность: Более подходит для конфиденциальных данных (пароли, платежные реквизиты), так как они не отображаются в истории браузера или логах сервера в URL.
- Идемпотентность: Не является идемпотентным — многократный вызов одного и того же POST-запроса может создавать дублирующиеся ресурсы.
- Кэширование: По умолчанию ответы не кэшируются.
Типичные сценарии использования:
- Отправка данных формы (логин, регистрация).
- Загрузка файла.
- Создание новой записи через REST API (например, нового пользователя).
Пример POST-запроса с использованием Fetch API:
fetch('https://api.example.com/users', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
name: 'John Doe',
email: 'john@example.com'
})
})
.then(response => response.json())
.then(data => console.log('Success:', data))
.catch(error => console.error('Error:', error));
На сервере (например, в Node.js с Express) данные извлекаются из req.body после соответствующего парсинга (с помощью middleware, такого как express.json()).