jetty.project icon indicating copy to clipboard operation
jetty.project copied to clipboard

Support zstandard encoded request/response content

Open bjorncs opened this issue 3 years ago • 2 comments

From https://facebook.github.io/zstd/:

Zstandard is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression. The reference library offers a very wide range of speed / compression trade-off, and is backed by an extremely fast decoder (see benchmarks below). Zstandard library is provided as open source software using a BSD license. Its format is stable and published as IETF RFC 8878.

Zstandard has improved performance/compression ratio over gzip. It's already supported by some HTTP clients (e.g curl https://daniel.haxx.se/blog/2020/08/19/curl-7-72-0-more-compression/).

bjorncs avatar Aug 11 '21 13:08 bjorncs

Note, there is a 100% java implementation of zstd available at ...

https://github.com/airlift/aircompressor/tree/master/src/main/java/io/airlift/compress/zstd

Which is Apache 2.0 licensed - https://github.com/airlift/aircompressor/blob/master/license.txt

Available on maven central at https://search.maven.org/artifact/io.airlift/aircompressor

joakime avatar Aug 11 '21 18:08 joakime

This issue has been automatically marked as stale because it has been a full year without activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Aug 12 '22 00:08 github-actions[bot]

Any progress on this issue?

Mahdi-Seeker avatar Oct 26 '22 13:10 Mahdi-Seeker

Spec is at https://www.rfc-editor.org/rfc/rfc8878

This labeled as a "low priority" and "help wanted".

Do you even know of any 100% Java based implementations of this spec that can do compression & decompression?

joakime avatar Oct 26 '22 14:10 joakime

It looks like the airlift package you posted above will work. Are you still open to taking contributions on this? I can try to take a look.

georgew5656 avatar Dec 07 '22 21:12 georgew5656

@georgew5656 go for it, base your work on branch jetty-10.0.x please, we'll handle the merging to other branches from there (once approved).

joakime avatar Dec 07 '22 21:12 joakime

This issue has been automatically marked as stale because it has been a full year without activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Dec 08 '23 00:12 github-actions[bot]