#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 .