HTTP MODIFY глагол для REST?
Насколько я вижу, нет RESTful способа применить модификацию к ресурсу. Чтобы сделать это, вы должны поместить ресурс в целом, переписав предыдущее представление. Я думаю, что это является источником проблем, в частности, когда ресурс имеет большое представительство.
Я считаю, что это намекает на отсутствие глагола в HTTP1.1: что-то вроде MODIFY или PATCH. Даже у WebDAV нет этого глагола (у него есть PROPPATCH, концепция которого похожа, но не для ресурсов).
Разве текущий набор глаголов HTTP 1.1 не слишком ограничен для RESTing реального мира?
редактировать: Я нашел предложение в IETF о глаголе PATCH
http://tools.ietf.org/html/draft-dusseault-http-patch-15
Эта спецификация определяет новый метод PATCH HTTP / 1.1 [RFC2616], который используется для частичного изменения ресурса.
Новый метод необходим для улучшения взаимодействия и предотвращения ошибок. Метод PUT уже определен для перезаписи ресурса новым телом и не может использоваться повторно для частичных изменений. В противном случае прокси-серверы и кэши, а также клиенты и серверы могут запутаться в результате выполнения операции. PATCH упоминался в более ранних спецификациях HTTP, но не был полностью определен.
Насколько я вижу, единственная проблема такого глагола - отсутствие идемпотентности.
Редактировать: По состоянию на март 2010 года существует RFC 5789 (Метод PATCH для HTTP).