在加密之前压缩数据是否违反任何网络标准来满足“接受编码:gzip、deflate”要求HTTP 请求中的标头?

发布于 2025-01-07 18:12:54 字数 149 浏览 1 评论 0原文

我们有一个返回加密消息的 REST 接口。当我们收到带有 Accept-Encoding: gzip, deflate 标头的请求时,我们会压缩数据。目前,我们在加密数据之后压缩数据,但我们注意到在加密之前压缩数据会大大减少内容长度并提高性能。在加密之前压缩数据是否违反任何网络标准?

We have a REST interface that returns encrypted messages. When we receive a request with the Accept-Encoding: gzip, deflate header, we compress the data. Currently, we compress the data AFTER we encrypt the data, but we noticed that compressing the data BEFORE encrypting it drastically reduces the content length and would increase performance. Does compressing the data before encrypting it violate any web standards?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

末が日狂欢 2025-01-14 18:12:54

Accept-Encoding 标头是关于客户端将接受哪种 Content-Transfer-Encoding 的。您没有义务仅仅因为有人说他们会接受传输中的压缩内容而进行压缩,因此,如果您在加密后根本不进行压缩,那么您并没有做错任何事情。 (如果您的加密有价值,则根本不会压缩。)

您不能设置 CTE 并期望客户端在解压缩之前解密,因为 CTE 标头表示“在对 CTE 执行任何其他操作之前应用此转换”内容”。

然而,在没有 CTE 标头的加密之前进行压缩是完全合法的。就这样做,加密后不要设置 CTE 或压缩。

The Accept-Encoding header is about which Content-Transfer-Encoding the client will accept. You are not obliged to compress just because someone says they will accept compressed content in transit, so you are not doing anything wrong if you don't compress after encryption at all. (Which, if your encryption is worth anything, will not compress at all.)

You can't set a C-T-E and expect the client to decrypt before they decompress, because the C-T-E header says "apply this transformation before you do anything else with the content".

However, compressing before encrypting without the C-T-E header is perfectly legal. Just do that, and don't set a C-T-E or compress after encryption.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文