На моем сайте пользователи могут загружать свои файлы. Но файлы генерируются с помощью PHP. Итак, какой метод HTTP я должен использовать для отправки запроса для загрузки в виде вложения файла? GET или POST?Какой HTTP-метод используется для загрузки файлов?
ответ
GET
От http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
GET запросов представления указанного ресурса. Запросы с использованием GET должны только извлекать данные и не должны иметь никакого другого эффекта. (Это также относится к некоторым другим методам HTTP.) [1] W3C опубликовал принципы руководства по этому различию, заявив: «Дизайн веб-приложений должен быть проинформирован вышеуказанными принципами, но также и соответствующими ограничениями». [11] См. Безопасные методы ниже.
POST Просит, чтобы сервер принял объект, заключенный в запросе, в качестве нового подчиненного веб-ресурса, идентифицированного URI. Данные POSTed могут быть, в качестве примера, аннотацией для существующих ресурсов; сообщение для доски объявлений, группы новостей, списка рассылки или комментариев; блок данных, который является результатом отправки веб-формы процессу обработки данных; или элемент для добавления в базу данных. [12]
GET предназначен для пассивного извлечения файлов, POST для , изменяя информацию на сервере. Это видно из клиента, неважно, что сервер делает или не делает в этом процессе.
Поэтому, если вы не изменяете какое-либо состояние сервера в запросе: GET.
Что вы имеете в виду, когда говорите о состоянии сервера? – Legends
Буквально состояние, в котором находится сервер (для чего-либо, что имеет отношение к поведению приложения, исключая случайные вещи, такие как кеши или журналы). Если вы изменяете данные в базе данных, это * изменение состояния *. – deceze