Поддержка Nginx /Webdav /Put-Content-Range

#nginx #http-headers #webdav

#nginx #http-заголовки #webdav

Вопрос:

Я установил расширения WebDAV (—with-http_dav_module,nginx-dav-ext-module) для Nginx, и теперь я могу записывать, читать файлы, используя этот протокол.

Но мне нужно записывать данные по частям с PUT помощью метода, я обнаружил, что могу использовать Content-Range header для этого, но я не могу найти никакого расширения для Nginx для работы Content-Range .

Как я могу этого добиться? Есть предложения?

Я не могу считывать данные с сервера и добавлять новые данные к текущим, а затем записывать их (данные слишком большие).

Ответ №1:

Использование Content-Range для PUT явно запрещено стандартом HTTP, и это действительно плохая идея.

https://www.rfc-editor.org/rfc/rfc7231#section-4.3.4

Я написал простую спецификацию, которая позволяет добавлять данные:

http://sabre.io/dav/http-patch/

Но это означает, что вам нужно запускать sabre / dav, а не модуль webdav nginx.

Комментарии:

1. спасибо за ответ, но я не могу использовать sabre / dav, потому что в проекте, над которым я работаю, было написано много кода другими разработчиками (моими коллегами), использующими nginx и webdav, вероятно, я попытаюсь достичь своей цели другим способом

2. Если вы просто общаетесь с nginx, используя протокол WebDAV, вы должны иметь возможность использовать его в качестве замены. Это неверно только в том случае, если вы написали пользовательский код nginx, предположительно на C .