Какова цель использования метода "PUT" в форме с PHP?

Я хотел знать, почему метод формы PUT используется?

  • Какова точная цель?

  • Каков будет сценарий реального времени, в котором мы можем его использовать?

  • Это более безопасно, чем GET или POST?

1 ответ

Решение

Если вы посмотрите на страницу 55 RFC 2616 (“Hypertext Transfer Protocol – HTTP/1.1”), Section 9.6 (“PUT”)вы увидите, для чего фактически используется PUT:

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

Принципиальное различие между запросами POST и PUT отражается в различном значении Request-URI. URI в запросе POST идентифицирует ресурс, который будет обрабатывать вложенную сущность. Этот ресурс может быть процессом приема данных, шлюзом к другому протоколу или отдельным объектом, который принимает аннотации. Напротив, URI в запросе PUT идентифицирует объект, заключенный в запросе - пользовательский агент знает, для чего предназначен URI, и сервер НЕ ДОЛЖЕН пытаться применить запрос к какому-либо другому ресурсу.

Когда мы должны использовать PUT и когда мы должны использовать POST?

Используйте PUT, когда вы можете полностью обновить ресурс через определенный ресурс. Например, если вы знаете, что статья находится по адресу http://example.org/article/1234, вы можете поместить новое представление ресурса этой статьи непосредственно через PUT на этот URL-адрес.

Если вы не знаете фактического местоположения ресурса, например, когда добавляете новую статью, но не знаете, где его хранить, вы можете отправить его по URL-адресу и позволить серверу определить фактический URL-адрес.

Используйте метод HTTP PUT, когда:

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

В обоих случаях эти операции могут выполняться несколько раз с одинаковыми результатами. То есть ресурс не будет изменен путем запроса операции более одного раза. Следовательно, истинная идемпотентная операция.

Рекомендации

Другие вопросы по тегам