9.5 POST.
Метод POST используется для запроса, при котором адресуемый сервер
принимает объект, включенный в запрос, как новое подчинение
ресурса, идентифицированного запрашиваемым URI (Request-URI) в
строке запроса (Request-Line). POST разработан для того, чтобы
общим методом реализовать следующие функции:
o Аннотация существующих ресурсов;
o Регистрация сообщения на электронной доске объявлений
(bulletin board), в конференции новостей (newsgroup), списке
рассылки (mailing list), или подобной группе статей;
o Передача блока данных, например результат ввода в форме,
процессу обработки;
o Расширение базы данных посредством конкатенирующей операции
(append operation).
Фактически функция, выполняемая методом POST, определяется
сервером и обычно зависит от запрашиваемого URI (Request-URI).
Объект, передаваемый методом POST, относится к этому URI таким же
образом, как файл относится к каталогу, в котором он находится,
статья относится к конференции новостей (newsgroup), в которой она
зарегистрирована, а запись относится к базе данных.
Действие, выполняемое методом POST может не давать в качестве
результата ресурс, который можно было бы идентифицировать URI. В
этом случае, в зависимости от того, включает ли ответ объект,
описывающий результат, или нет, код состояния в ответе может быть
как 200 (OK), так и 204 (Нет содержимого, No Content).
Если ресурс был создан на первоначальном сервере, ответу СЛЕДУЕТ
содержать код состояния 201 (Создан, Created) и включать объект,
который описывает состояние запроса и ссылается на новый ресурс,
а также заголовок Location (смотрите раздел 14.30).
Ответы на этот метод не кэшируемы, если ответ не включает
соответствующие поля заголовка Cache-Control или Expires. Однако,
ответ с кодом состояния 303 (Смотреть другой, See Other) может
использоваться для перенаправления агента пользователя для
загрузки кэшируемого ресурса.
Запросы POST должны отвечать требованиям передачи сообщения,
изложенным в разделе 8.2.