У меня нет личного мнения по этому вопросу, но вот некоторые ресурсы, которые могут вам помочь:
PUT - намного более ограниченная операция, которая никогда не делает ничего, кроме PUT одной страницы по указанному URL. Это идемпотент, и это причудливый способ сказать, что делать это дважды - это то же самое, что делать это один раз. И PUT, и POST можно использовать для создания новых страниц. Однако PUT следует использовать, когда клиент указывает местоположение страницы. PUT обычно является правильным протоколом для веб-редактора, такого как DreamWeaver или BBEdit. POST используется, когда клиент отправляет страницу серверу, а затем сервер сообщает клиенту, где он ее поместил. POST, как правило, является правильным протоколом для редактора блога, такого как TypePad или всего, что вводится в систему управления контентом. В аналогии с SQL POST - это INSERT с автоматически сгенерированным первичным ключом, а PUT - это INSERT, который указывает первичный ключ в операторе INSERT.
- PUT против POST для загрузки файлов RESTful API, который будет построен с использованием Zend Framework
- PUT против POST в REST
- http://upload.thinfile.com/docs/put.php
Метод PUT, хотя и не так широко используемый, как метод POST, возможно, является более эффективным способом загрузки файлов на сервер. Это связано с тем, что при POST-загрузке файлы, которые необходимо объединить в однокомпонентное сообщение, должны быть декодированы на сервере. В отличие от этого, метод PUT позволяет просто записать содержимое файла в соединение с сокетом, которое установлено с сервером.
Из моего понимания прочтения вышеуказанных ссылок скимминг по разделам сети говорит о том, что методы PUT в основном используются для необработанных данных без организации контента, которые не кодируются или не разбиваются на сообщения, состоящие из нескольких частей.
PUT выглядит как соединение сокета с сокетом, такое как Telnet <> Почтовый сервер , поэтому использование POST может предоставить больше базовой структуры для загрузки нескольких файлов в одном пакете, так как границы уже построены по моему метод POST