Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brotli compression support? #2609

Closed
1 task done
mboelen opened this issue Apr 14, 2024 · 4 comments · Fixed by #2612
Closed
1 task done

Brotli compression support? #2609

mboelen opened this issue Apr 14, 2024 · 4 comments · Fixed by #2612
Labels

Comments

@mboelen
Copy link

mboelen commented Apr 14, 2024

With Brotli support (introduced in 2013) being more common now in browsers, is this something you would consider adding to Miniflux?

Background:

In our logs we noticed that Miniflux already uses compression (Gzip). The file might be further reduced when using Brotli. Example from our log below:

2024-04-13T13:30:02+00:00 200 1.2.3.4 "GET /feed/ HTTP/1.1" 17183 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/50.0.2661.75 Safari/537.36" TLSv1.3/TLS_AES_256_GCM_SHA384 0.000 .
2024-04-13T13:31:22+00:00 200 2.3.4.5 "GET /feed/ HTTP/2.0" 20621 "-" "Mozilla/5.0 (compatible; Miniflux/2.1.2; +https://miniflux.app)" TLSv1.3/TLS_AES_256_GCM_SHA384 0.000 .

Thanks for your consideration.

@fguillot
Copy link
Member

Brotli could be added. However, a third-party library is required because it's not part of the Go standard library. It's unfortunate that the Go team rejected the proposal in this issue.

Zstandard (zstd) could also be considered now that Chrome ships it since version 123. Apparently, it's better than Brotli and might become more popular.

@mboelen
Copy link
Author

mboelen commented Apr 15, 2024

What a shame that they rejected it, as it is already (besides Gzip) the second "default" option available in browsers. So each web server that implements it, will have a benefit from it (and the client as well).

Zstd is definitely a good addition as well, although the implementation rates will be much lower at thismoment. For example, Brotli is typically easier to install as there are packages available to add the module to something like nginx.

If the implementation time is limited, adding both will be a safe bet. In the short time it will then benefit from Brotli, at the long(er) time period zstd.

@mboelen
Copy link
Author

mboelen commented Apr 19, 2024

That's awesome @fguillot !

I made a blog post to share these improvements and updated it. 👍

@jvoisin
Copy link
Collaborator

jvoisin commented Sep 25, 2024

golang/go#62513 (comment) zstandard will likely land in go's stdlib \o/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 participants