brotli VS haproxy

Compare brotli vs haproxy and see what are their differences.

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
brotli haproxy
24 16
13,048 4,385
1.1% 2.7%
8.3 9.9
3 days ago 6 days ago
TypeScript C
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

brotli

Posts with mentions or reviews of brotli. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-06.
  • Compression efficiency with shared dictionaries in Chrome
    3 projects | news.ycombinator.com | 6 Mar 2024
    The brotli repo on github has a dictionary generator: https://github.com/google/brotli/blob/master/research/dictio...

    I have a hosted version of it on https://use-as-dictionary.com/ to make it easier to experiment with.

  • The Full-Stack development experience
    2 projects | dev.to | 12 Oct 2023
    An additional element that we can finally remove from our stack is the minification of JavaScript and CSS files. Thanks to algorithms like brotli (with a very Swiss flavour) we no longer need to minify and compress our files before distributing them. Cloudflare, Nginx, or Apache will take care of everything for us.
  • How Much Faster Is Making a Tar Archive Without Gzip?
    8 projects | news.ycombinator.com | 10 Oct 2022
    For anyone who wants to try this, zstd -T0 uses all your threads to compress, and https://github.com/facebook/zstd has a lot more description. Brotli, https://github.com/google/brotli, is another modern format with some good features for high compression levels and Content-Encoding support in web browsers. You might also want to play with the compression level (-1 to -11 or more, zstd's --fast=n).

    One reason these modern compressors do better is not any particular mistake made defining DEFLATE in the 90s, but that new algos use a few MB of recently seen data as context instead of 32KB, and do other things impractical in the 90s but reasonable on modern hardware. The new algorithms also contain logs of smart ideas and have fine-tuned implementations, but that core difference seems important to note.

  • Troubling Launching Duckstation
    2 projects | /r/macgaming | 5 Sep 2022
    It seems to be using a lib called brotli - https://github.com/google/brotli. Can you compile from source?
  • 2000’s Winamp/WMP-ish skins?
    9 projects | /r/foobar2000 | 26 Jul 2022
    (++) Play Youtube videos and playlistsRelease date: Feb 3 20223dyd, [email protected] libraries: brotli https://github.com/google/brotli (1.0.7)
  • Stop delaying. Share knowledge on a blog built with Eleventy.
    7 projects | dev.to | 19 Jul 2022
    Alright, the minifying is done. What else? Did you know you can serve HTML, CSS and JS compressed? A lot of websites still use gzip, but there’s also Brotli. Brotli is specifically made for the web and compresses a lot better than gzip in most cases.
  • Configuring CloudFront to compress objects in AWS CDK
    2 projects | dev.to | 1 Jun 2022
    You can use CloudFront to automatically compress certain types of objects (files) and serve the compressed objects when viewers (web browsers or other clients) support them. Viewers indicate their support for compressed objects with the Accept-Encoding HTTP header. CloudFront can compress objects using the Gzip and Brotli compression formats. When the viewer supports both formats, CloudFront prefers Brotli.
  • Looking for maintainer for jvm-brotli
    7 projects | /r/java | 18 Apr 2022
    Hi /r/java! Jetty is considering implementing dynamic Brotli compression, but the current JVM wrapper for Google's Brotli (jvm-brotli) is somewhat ... abandoned.
    7 projects | /r/java | 18 Apr 2022
  • dabbling @epilot-dev with ______
    3 projects | dev.to | 21 Mar 2022
    Year 2022 marked an amazing start for me with a new stint with epilot GmbH based out of Cologne, Germany. I joined the team to be working on their micro-frontend architecture, with my primary focus going to be on the performance aspects of the applications. Like the first recent addition we did after I started was to add brotli compression to each of our micro-frontend (MFEs) bundles.

haproxy

Posts with mentions or reviews of haproxy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-11.
  • HAProxy is not affected by the HTTP/2 Rapid Reset Attack (CVE-2023-44487)
    2 projects | news.ycombinator.com | 11 Oct 2023
    I wanted to try it out just now but hit a roadblock immediately - it cannot automatically obtain and maintain TLS certificates. You have to use an external client (e.g. acme.sh), set up a cron to check/renew them, and poke HAProxy to reload them if necessary. I'm way past doing this in 2023.

    https://www.haproxy.com/blog/haproxy-and-let-s-encrypt

    https://github.com/haproxy/haproxy/issues/1864

  • minexmr2.com updated to p2pool v3.1, monerod v0.18.2.0, and ready for Mar 18 p2pool (not monero) hardfork
    6 projects | /r/MoneroMining | 12 Mar 2023
    I turn on 1 relatively cheap cloud server to process DNS, https and stratum connections and route them via haproxy to one of N miner servers described above.
  • Update to haproxy 2.4.18 breaks WebDAV
    2 projects | /r/haproxy | 11 Dec 2022
  • HAProxy 2.7
    5 projects | news.ycombinator.com | 2 Dec 2022
    With the recent discussions about memory safe languages, HAProxy is still surprisingly written in C [0].

    [0]: https://github.com/haproxy/haproxy

  • 35M Hot Dogs: Benchmarking Caddy vs. Nginx
    11 projects | news.ycombinator.com | 16 Sep 2022
    It does not, because HAProxy does not perform any disk access at runtime and thus would be unable to persist the certificates anywhere. Disks accesses can be unpredictably slow and would block the entire thread which is not something you want when handling hundreds of thousands of requests per second.

    See this issue and especially the comment from Lukas Tribus: https://github.com/haproxy/haproxy/issues/1864

    Disclosure: Community contributor to HAProxy, I help maintain HAProxy's issue tracker.

  • The perils of the “real” client IP
    2 projects | news.ycombinator.com | 5 Mar 2022
    :+1: for the effort to document this, and coordinating the disclosure with the vendors. This mainly talks about rate-limiting bypass/DoS, but if XFF is also used for audit trail logging of IP addresses and/or IP-based access lists, then the security implications can be even more severe, with falsified audit logs and bypassed security controls.

    Setting up an application server behind a reverse proxy to use the "real" client IP is unfortunately very typically just a trial-and-error based process, with very little room for this kind of nuanced security-conciousness, because the configuration and exact behavior is all so non-standardized across different implementations of reverse-proxies and application servers... Typically users will just try different configuration settings until they find a combination that seems to work, and you would actually need to dig in with curl and tshark to understand the edge cases, because the documentation of the application-specific implementation is typically just one brief sentence...

    Getting XFF working correctly through a complicated HTTP stack with multiple layers of nginx/haproxy/apache proxies (yes, they have different non-overlapping feature sets), custom backends implementing custom XFF handling/forwarding, and jetty/spring backends upgraded across a major version bump that changed the implementation and configuration properties related to XFF handling was insanely difficult. And of course it broke when migrating from a F5 LB to an AWS ALB, because it behaved differently for that one edge-case for an important customer... highly recommended to just override the entire XFF header with a single value at the appropriate point in your stack, if at all possible.

    If just the naive leftmost-first vs rightmost-ish-with-configurable-list-of-trusted-upstream-proxies wasn't enough, then yeah, HAProxy does the thing where it adds a new 100% standards-compliant header continuation line [1] that maybe 1% of backend application developers have ever tested with. And trying to configure HAProxy to interpret the incoming XFF headers for logging/access-control ~is~/was even more weird [2].

    [1] https://github.com/haproxy/haproxy/issues/44

  • Ask HN: What are the best the publicly available FAMANG code repos?
    16 projects | news.ycombinator.com | 23 Aug 2021

What are some alternatives?

When comparing brotli and haproxy you can also consider the following projects:

Snappy - A fast compressor/decompressor

LZ4 - Extremely Fast Compression algorithm

zstd - Zstandard - Fast real-time compression algorithm

LZMA - (Unofficial) Git mirror of LZMA SDK releases

ZLib - A massively spiffy yet delicately unobtrusive compression library.

ClickHouse - ClickHouse® is a free analytics DBMS for big data

3proxy - 3proxy - tiny free proxy server

zlib-ng - zlib replacement with optimizations for "next generation" systems.

Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

brotlicffi - Python bindings to the Brotli compression library

Jool - SIIT and NAT64 for Linux