Почему HTTP-сообщение POST называется POST?

Другие глаголы имеют для меня смысл, но у меня нет большого контекста для "post" в качестве глагола. Это похоже на пост, как в почтовом отделении (что имеет какой-то смысл, хотя похоже на растяжку) или сообщение, подобное сообщению на доске объявлений (имеет меньше смысла для меня)? Кто-нибудь знает, кто решил "POST" и почему он был выбран?

Ответы

Ответ 1

Ну, "post post, как сообщение на доске объявлений", похоже, довольно близко к ответу, я думаю. В конце концов, что именно одна из тех функций, для которых этот метод был разработан. POST всегда предназначен для публикации материалов для какого-либо "factory", который должен обрабатываться им, иначе вы могли бы просто использовать PUT. Давайте посмотрим на RFC2616, раздел 9.5:

Метод POST используется для запроса, чтобы сервер происхождения принимал объект, заключенный в запросе, в качестве нового подчиненного ресурс, идентифицированный Request-URI в строке запроса. POST - предназначенный для обеспечения единообразного метода для покрытия следующих Функции:

  - Annotation of existing resources;

  - Posting a message to a bulletin board, newsgroup, mailing list,
    or similar group of articles;

  - Providing a block of data, such as the result of submitting a
    form, to a data-handling process;

  - Extending a database through an append operation.

Конечно, это не точное определение того, почему оно называется POST, но я думаю, что это может дать некоторые подсказки об этой идее.

Возможно, мы могли бы также взглянуть на некоторые значения слова "пост" (http://www.thefreedictionary.com/Post, третье определение) - согласно что пост в виде глагола может означать

  • Чтобы отправить письмо (письмо или пакет)
  • Чтобы сообщить о последних новостях
  • Перенос (элемент) в бухгалтерскую книгу
  • Чтобы сделать необходимые записи в (книге)

И это именно то, что POST делает (метафорически). Если вы хотите отправить электронное письмо, вы позволяете своему почтовому провайдеру обращаться с ним, а затем сообщать вам о состоянии. И это также разница между PUT и POST: если клиент отвечает за обработку ресурса, вы используете PUT (потому что вы знаете, что положить и куда его поместить).

Итак, теоретически, если бы вы знали IP-адрес человека, которому хотите отправить электронное письмо, вам не нужен ваш провайдер, чтобы найти этот материал для вас. Но теперь вы знаете, что ставить, но не точно. Поэтому в этом случае вы используете POST. Вы информируете сервер о последних новостях, и сервер решает, куда его поместить. Таким образом, вы можете думать о нем как о "переносе элемента" на ресурс, который уже присутствует (например, поток на форуме или что-то еще) - вы просто хотите что-то добавить.

Надеюсь, это имеет смысл...

Ответ 2

Метод POST используется для запроса, чтобы исходный сервер принял объект, заключенный в запросе, в качестве нового подчиненного ресурса, идентифицированного Request-URI в строке запроса. POST предназначен для обеспечения единообразного метода для покрытия следующих функций:

  • Аннотация существующих ресурсов;
  • Размещение сообщения на доске объявлений, в новостной группе, в списке рассылки или в подобной группе статей;
  • Предоставление блока данных, например, результата отправки формы, процессу обработки данных;
  • Расширение базы данных с помощью операции добавления.

W3/POST

REST просит разработчиков использовать HTTP-методы явно и в соответствии с определением протокола. Этот базовый принцип проектирования REST устанавливает взаимно однозначное сопоставление между операциями создания, чтения, обновления и удаления (CRUD) и методов HTTP. Согласно этому отображению:

  • Чтобы создать ресурс на сервере, используйте POST.
  • Чтобы получить ресурс, используйте GET.
  • Чтобы изменить состояние ресурса или обновить его, используйте PUT.
  • Чтобы удалить или удалить ресурс, используйте DELETE.

IBM/REST

Когда мы выполняем POSTING, мы действительно отправляем новые данные (создаем ресурс), но не собираемся получать его или не вызываем обновления, или просим измельчить наши старые documnets.

Ответ 3

Я не думаю, что пост, как в ', чтобы опубликовать письмо', в значительной степени растягивается. Запрос POST - это сообщение, содержащее данные в конце концов. Что касается того, кто, глаголы приходят из HTTP, поэтому происхождение будет спецификацией Html, написанной Тимом Бернерсом-Ли в 1995 году.