Разница между POST и PUT заключается в том, что PUT является идемпотентным, то есть многократный вызов одного и того же запроса PUT всегда будет приводить к одному и тому же результату (без побочных эффектов), а с другой стороны, повторный вызов POST может иметь (дополнительные) побочные эффекты от создания одного и того же ресурса несколько раз.
GET
: Запросы с использованием GET извлекают только данные, то есть запрашивает представление указанного ресурса
POST
: отправляет данные на сервер для создания ресурса. Тип тела запроса указывается заголовком Content-Type. Часто вызывает изменение состояния или побочные эффекты на сервере
PUT
: создает новый ресурс или заменяет представление целевого ресурса полезной нагрузкой запроса
PATCH
: используется для частичного изменения ресурса
DELETE
: удаляет указанный ресурс
TRACE
: выполняет проверку обратной связи по пути к целевому ресурсу, обеспечивая полезный механизм отладки
OPTIONS
: используется для описания параметров связи для целевого ресурса, клиент может указать URL-адрес для метода OPTIONS или звездочку (*) для ссылки на весь сервер.
HEAD
: запрашивается ответ, идентичный ответу запроса GET, но без тела ответа
CONNECT
: устанавливает туннель для сервера, идентифицируемого целевым ресурсом, может использоваться для доступа к веб-сайтам, использующим SSL (HTTPS)