Нарушает ли сжатие данных перед их шифрованием какие-либо веб-стандарты для выполнения заголовка Accept-Encoding: gzip, deflate в HTTP-запросе?

У нас есть интерфейс REST, который возвращает зашифрованные сообщения. Когда мы получаем запрос с заголовком Accept-Encoding: gzip, deflate, мы сжимаем данные. В настоящее время мы сжимаем данные ПОСЛЕ их шифрования, но мы заметили, что сжатие данных ПЕРЕД их шифрованием значительно уменьшает длину содержимого и повышает производительность. Нарушает ли сжатие данных перед их шифрованием какие-либо веб-стандарты?


person superdave    schedule 21.02.2012    source источник
comment
Вы можете использовать TLS для шифрования и http-сжатие для сжатия. Сжатие перед шифрованием иногда вызывает некоторые проблемы с безопасностью, сжатие после шифрования не работает (данные не будут меньше, чем несжатые)   -  person CodesInChaos    schedule 24.12.2012


Ответы (1)


Заголовок Accept-Encoding указывает на то, какие Content-Transfer-Encoding клиент примет. Вы не обязаны сжимать только потому, что кто-то сказал, что будет принимать сжатый контент при передаче, поэтому вы не делаете ничего плохого, если вообще не сжимаете после шифрования. (Что, если ваше шифрование чего-то стоит, вообще не будет сжиматься.)

Вы не можете установить C-T-E и ожидать, что клиент расшифрует его до распаковки, потому что заголовок C-T-E говорит: «Примените это преобразование, прежде чем делать что-либо еще с содержимым».

Однако сжатие перед шифрованием без заголовка C-T-E совершенно законно. Просто сделайте это и не устанавливайте C-T-E и не сжимайте после шифрования.

person Daniel Pittman    schedule 21.02.2012