from Hacker News

Kawipiko – fast static HTTP server in Go

by enduku on 8/28/22, 5:50 PM with 22 comments

  • by ngrilly on 8/28/22, 7:09 PM

    The fact it is using three different entirely HTTP libraries to be able to support HTTP/1, 2 and 3 is kind of telling on the complexity of modern HTTP.
  • by idoubtit on 8/29/22, 9:51 AM

    This looks like an fun project, but I fail to see where it could be useful outside of a proof of concept.

    The focus is on the performance, yet "kawipiko is at least on-par with NGinx". NGinx does require file open-read-close, but with the OS cache, I think the cost is very small. And Nginx is much more compliant, battle-tested and versatile. For example it can send the right pre-compressed file that suits the Accept-encoding header of the request, something that kawipiko does not support.

    So I guess the selling feature is that the web server is just a single static executable. It's probably useful in some cases, but I can't imagine them, even for a doc server embedded in hardware.

  • by RenThraysk on 8/28/22, 10:41 PM

    So from a quick glimpse, everything is served as immutable with 60 minutes max-age? So swapping out the cdb, will take 60 minutes for client caches to be fully updated?
  • by tuananh on 8/29/22, 1:51 AM

    > does not support per-request decompression / recompression;

    this sound like lots of headache as it doesn't support `Accept-Encoding` header.

  • by Panino on 8/28/22, 6:10 PM

    > the static content is served from a CDB file with almost no latency

    That is cool! I use CDB in some projects and love it.

  • by the_arun on 8/28/22, 7:23 PM

    Useful for proof of concepts & private content. I'm wondering, for public static content, do anyone use webservers these days when CDNs are available as a service?
  • by cosmotic on 8/28/22, 7:13 PM

    How does this compare to Caddy?