ПОСТАВИТЬ или ПАТЧАТЬ, что быстрее и почему?

Согласно информации, доступной в Интернете, PATCH быстрее, чем PUT в REST API. Но если мы ничего не проверяем перед обновлением, PUT должен быть быстрее.

Определения:

  • Метод PATCH — правильный выбор, если вы обновляете существующий ресурс.
  • PUT следует использовать только в том случае, если вы полностью заменяете ресурс.

В частности, метод PUT описан в RFC 5789 следующим образом:

Для некоторых приложений, расширяющих протокол передачи гипертекста (HTTP), требуется функция частичной модификации ресурсов. Существующий метод HTTP PUT допускает только полную замену документа. Это предложение добавляет новый метод HTTP, PATCH, для изменения существующего ресурса HTTP.


person Siddharth Jain    schedule 12.06.2020    source источник


Ответы (1)


что быстрее и почему?

Я не думаю, что любой из них обязательно быстрее - PUT ( определено в RFC 7231) и PATCH (определено в RFC 5789) являются ограничениями на семантика сообщений, а не производительность реализации.

В тех случаях, когда представление ресурса намного больше, чем заголовки HTTP, а представление документа исправления намного меньше, чем представление ресурса, сетевая задержка может быть намного лучше, чем дополнительное время, необходимое для выполнения исправления. .

То есть, я думаю, вы должны измерять профили задержки в вашем контексте, а не ожидать применения какого-то универсального порядка.

person VoiceOfUnreason    schedule 12.06.2020
comment
Как и при отправке данных, мы не уверены, сколько полей мы обновили, тогда использование PATCH может быть дорогостоящим с точки зрения PATCH. - person Siddharth Jain; 15.06.2020