Когда отправляется POST-запрос с сайта?

«Когда отправляется POST-запрос с сайта?» — вопрос из категории Сети, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

POST-запрос отправляется браузером или JavaScript-кодом при необходимости передать данные на сервер для обработки, что обычно приводит к изменению состояния на сервере (создание, обновление данных). Основные сценарии:

  1. Отправка HTML-формы: Когда пользователь нажимает кнопку отправки в форме с атрибутом method="POST".
    <form action="/api/users" method="POST">
      <input type="text" name="username">
      <input type="email" name="email">
      <button type="submit">Зарегистрироваться</button>
    </form>
  2. Вызов API из JavaScript: При использовании fetch(), axios или XMLHttpRequest для взаимодействия с backend API.
    // Отправка JSON данных
    fetch('/api/orders', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ productId: 123, quantity: 2 })
    });
  3. Загрузка файлов: Через форму с enctype="multipart/form-data" или с помощью FormData API в JavaScript.

На стороне сервера (например, в Node.js с Express) данные из POST-запроса извлекаются из тела запроса (request body).