dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.43k stars 10.02k forks source link

Support zstd Content-Encoding #50643

Open manandre opened 1 year ago

manandre commented 1 year ago

Is there an existing issue for this?

Is your feature request related to a problem? Please describe the problem.

No response

Describe the solution you'd like

Zstandard, or zstd, is a data compression mechanism described in RFC8878. It is a fast lossless compression algorithm, targeting real-time compression scenarios at zlib-level and better compression ratios. The "zstd" token was added as an IANA-registered Content-Encoding token as per https://datatracker.ietf.org/doc/html/rfc8878#name-content-encoding.

The Facebook/Zstd team has published some of their research on compression level vs. CPU vs. compression ratio.

Current support

Additional context

No response

ghost commented 1 year ago

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

iamcarbon commented 9 months ago

Chrome has committed to shipping Zstd Content-Encoding in v123, and Safari and Firefox have both indicated a positive position toward the proposal.

YohanSciubukgian commented 7 months ago

Chrome 123 release support zstd

Could you consider it for .NET 9 ?

rgueldenpfennig commented 3 months ago

Chrome 123 release support zstd

* https://developer.chrome.com/blog/new-in-chrome-123#more

* https://github.com/facebook/zstd/releases/tag/v1.5.6

Could you consider it for .NET 9 ?

Since the 126 release Mozilla Firefox also supports zstd compression: https://www.mozilla.org/en-US/firefox/126.0/releasenotes/

rgueldenpfennig commented 3 months ago

In case anyone wants to implement zstd compression support in your ASP.NET Core pipeline, I just merged a pull request in my side project by utilizing the OSS ZstdSharp library. It's a suitable way until the .NET team releases an own implementation.

Works splendid on major browsers.

QuinnDamerell commented 3 months ago

@rgueldenpfennig very nice work!