9.3 GET
Метод GET означает получение любой информации (в форме объекта), идентифицированной Запросом.-uri.Если Request-URI относится к процессу создания данных, то именно полученные данные должны быть возвращены в качестве объекта в ответе, а не как исходный текст процесса, если только этот текст не является выходом процесса.
Семантика метода GET изменяется на «условное GET», если сообщение запроса включает в себя If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match или If-Rangeполе заголовкаУсловный метод GET запрашивает, чтобы объект передавался только при обстоятельствах, описанных в поле (ах) условного заголовка.Условный метод GET предназначен для уменьшения ненужного использования сети, позволяя обновлять кэшированные объекты, не требуя многократных запросов или передачи данных, уже удерживаемых клиентом.
Семантика метода GET изменяется на «частичный GET»если сообщение запроса содержит поле заголовка Range.Частичное GET запрашивает, чтобы была передана только часть объекта, как описано в разделе 14.35.Метод частичного GET предназначен для уменьшения ненужного использования сети за счет того, что частично извлеченные объекты могут быть завершены без передачи данных, уже хранящихся у клиента.
Ответ на запрос GET кэшируется тогда и только тогда, когда он удовлетворяеттребования к кешированию HTTP описаны в разделе 13.
Сведения о безопасности при использовании форм см. в разделе 15.1.3.
9.5 POST
Метод POST используется для запросаисходный сервер принимает объект, включенный в запрос, в качестве нового подчиненного ресурса, идентифицируемого Request-URI в строке запроса.POST предназначен для того, чтобы единообразный метод охватывал следующие функции:
- Annotation of existing resources;
- Posting a message to a bulletin board, newsgroup, mailing
список или аналогичная группа статей;- Предоставление блока данных, такого как результат отправки формы, процессу обработки данных;- Расширение базы данных с помощью операции добавления.Фактическая функция, выполняемая методом POST, определяется сервером и обычно зависит от Request-URI.Размещаемая сущность подчиняется этому URI так же, как файл подчиняется каталогу, в котором он находится, новостная статья подчиняется группе новостей, в которой она размещена, или запись подчиняется базе данных.
Действие, выполняемое методом POST, может не привести к ресурсу, который может быть идентифицирован по URI.В этом случае либо 200 (ОК), либо 204 (Нет содержимого) - это соответствующий статус ответа, в зависимости от того, содержит ли ответ объект, описывающий результат.
Если ресурс был создан нана исходном сервере ответ ДОЛЖЕН быть 201 (Создан) и содержать объект, который описывает состояние запроса и ссылается на новый ресурс, а также заголовок Location (см. раздел 14.30).
Ответы на этот метод:не кэшируется, если ответ не включает в себя соответствующие поля заголовка Cache-Control или Expires.Однако ответ 303 (см. «Другое») может использоваться для того, чтобы пользовательский агент мог извлечь кэшируемый ресурс.
POST-запросы ДОЛЖНЫ соответствовать требованиям к передаче сообщений, изложенным в разделе 8.2.
раздел 15.1.3 по соображениям безопасности.
Как указано, ответ может измениться с GET, если сообщение запроса имеет условия, основанные на определенных критериях.POST требует, чтобы сервер принял запрос, несмотря ни на что.