Для PUT
стиснення даних на сервері потрібно стиснути тіло запиту та встановити Content-Encoding: gzip
заголовок. Сам заголовок повинен бути нестисненим. Це задокументовано в mod_deflate :
Модуль mod_deflate також забезпечує фільтр для декомпресії стисненого тіла запиту gzip. Для активації цієї функції вам потрібно вставити фільтр DEFLATE у ланцюг вхідних фільтрів за допомогою SetInputFilter або AddInputFilter.
...
Тепер, якщо запит містить заголовок Content-Encoding: gzip, тіло буде автоматично декомпресовано. Небагато веб-переглядачів мають можливість gzip-тел запитів. Однак деякі спеціальні програми насправді підтримують стиснення запиту, наприклад, деякі клієнти WebDAV.
А стаття, що описує це, тут :
То як же це зробити? Ось розмиття, знову ж таки, з вихідного коду mod_deflate: працюйте лише за основним запитом / без підзапитів. Це означає, що все тіло запиту має бути стиснутим gzip, якщо ми вирішили використовувати це, неможливо стиснути лише ту частину, що містить файл, наприклад, у запиті з декількома частинами.
Окремо браузер може вимагати стиснення вмісту відповіді сервера, встановивши Accept-Encoding
заголовок, як описано тут :
GET /index.html HTTP/1.1
Host: www.http-compression.com
Accept-Encoding: gzip
User-Agent: Firefox/1.0
Це поверне стислі дані в браузер.
you must compress the whole request, inclusive of header
. Однак заголовки http не повинні стискатися . Єдине, що потрібно стиснути (повністю, як правильно зазначено у статті, яку ви цитуєте), це тіло http.