#HTTP Server

Open-source projects categorized as HTTP Server | Edit details

Top 23 HTTP Server Open-Source Projects

  • GitHub repo Caddy

    Fast, multi-platform web server with automatic HTTPS

    Project mention: Running Ghost in Production With Docker and Caddy Server | reddit.com/r/docker | 2021-05-11

    It will also use SSL/TLS, using Caddy (still with Docker).

  • GitHub repo actix-web

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

    Project mention: How to run a pre-release cargo | reddit.com/r/rust | 2021-05-15

    In this specific case, you can just specify a pre-release version like "4.0.0-beta.6". You can see all the versions of actix-web here.

  • GitHub repo http client/server for asyncio

    Asynchronous HTTP client/server framework for asyncio and Python

    Project mention: Building an API with FastAPI | dev.to | 2021-04-13

    I executed the script 3 times making 20 requests on each execution. Ok now lets replace the synchronous requests library by the asynchronous aiohttp library. Furthermore, we add the async/await keywords on the right positions. Our final code will look like this:

  • GitHub repo gunicorn

    gunicorn 'Green Unicorn' is a WSGI HTTP Server for UNIX, fast clients and sleepy applications.

  • GitHub repo hug

    Embrace the APIs of the future. Hug aims to make developing APIs as simple as possible, but no simpler.

  • GitHub repo cowboy

    Small, fast, modern HTTP server for Erlang/OTP.

    Project mention: Ti hogy implementálnátok a https://vakcinareg.neak.gov.hu/regisztracio oldalt? | reddit.com/r/programmingHungary | 2021-03-25
  • GitHub repo Iron

    An Extensible, Concurrent Web Framework for Rust

    Project mention: Building a shared vision for Async Rust | news.ycombinator.com | 2021-03-18

    Your comment touches on a few misconceptions I see a lot.

    Firstly, `reqwest` exposes both an async and a synchronous API, allowing the developer to choose which one to use. They are largely interchangeable code-wise. [1]

    Secondarily, and more broadly, async is possible to opt out of. You must understand that most web and network related libraries will be async by default for performance, because people who write in Rust and people who write web servers typically care greatly about performance. This is the intersection of those two groups. That being said, there are options outside of that ecosystem. [2]

    If you truly want to use an asynchronous library without migrating your application to run entirely on an async runtime like tokio, you can run it inside of a synchronous function without much trouble. I've put together a playground link for you. [3]

    1. https://docs.rs/reqwest/0.11.2/reqwest/blocking/index.html

    2. Iron: https://github.com/iron/iron

  • GitHub repo drogon

    Drogon: A C++14/17 based HTTP web application framework running on Linux/macOS/Unix/Windows

    Project mention: How to use C++ as backend | reddit.com/r/cpp_questions | 2021-04-20

    You can use Drogon, which is currently the fastets framework in the TechEmpower benchmark.

  • GitHub repo swoft

    🚀 PHP Microservice Full Coroutine Framework

  • GitHub repo POCO

    The POCO C++ Libraries are powerful cross-platform C++ libraries for building network- and internet-based applications that run on desktop, server, mobile, IoT, and embedded systems.

    Project mention: Higher level threading in C++ | dev.to | 2021-04-29

    This is why I generally prefer Threadpools, or a producer-consumer pattern. Both these patterns require a queue that contains the jobs or units of work. Worker threads will continually try to read items from such a queue and process the item. There are some libraries that offer threadsafe queue's and/or threadpools, such as poco, QT or boost, but it's actually fairly simple to implement your own, using only the STL. So let's implement one now!

  • GitHub repo uvicorn

    The lightning-fast ASGI server. 🦄

    Project mention: Turn Any Website Into An API with AutoScraper and FastAPI | dev.to | 2021-04-24

    Uvicorn - to serve the API

  • GitHub repo neutralinojs

    Portable and lightweight cross-platform desktop application development framework

    Project mention: Neutralinojs - Build native apps for Linux, Windows, macOS, and Web with JavaScript | reddit.com/r/programming | 2021-04-12
  • GitHub repo Gizmo

    A Microservice Toolkit from The New York Times (by nytimes)

  • GitHub repo oak

    A middleware framework for Deno's native and std/http server 🐿️ 🦕

    Project mention: Deno v1.10 Released | news.ycombinator.com | 2021-05-12
  • GitHub repo statik

    Embed files into a Go executable

    Project mention: Belajar dan Berkenalan dengan Go Embed | dev.to | 2021-05-05
  • GitHub repo Tide

    Fast and friendly HTTP server framework for async Rust

    Project mention: Portal - full-text search web service | reddit.com/r/rust | 2021-04-05

    I just released portal a full-text search web service that is a competitor for ElasticSearch and MeiliSearch written in Rust. It is simple, blazing fast, and under 500 LOC! Portal supports 87 natural languages, JWTs, SSL, and JSON clients. It is built on Sonic, Broker, Tide, and RocksDB.

  • GitHub repo Jetty

    Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more

    Project mention: Can someone help me understand ring's async handlers (specifically, with Jetty) | reddit.com/r/Clojure | 2021-03-30

    I've now got this working, sort of, so thank you for that! The sort of is because I'm getting the response I expected, but I'm also getting an exception from Jetty for every request. I've followed your pattern as given above, and when I curl the server I get the expected data back. But the REPL I'm running it in for local dev also gives the error Exception in thread "async-dispatch-[0-9]+" org.eclipse.jetty.http.BadMessageException: 500: No version. Googling that leads me to https://github.com/eclipse/jetty.project/issues/650, which seems to suggest that something else is attempting to handle the message a second time, while my handler is parked for a response in the go block? If I wrap the (a/go ...) in (a/, to effectively force it to be synchronous again, the error goes away.

  • GitHub repo Armeria

    Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.

    Project mention: sttp now suppots Armeria backend | reddit.com/r/scala | 2021-02-23

    Armeria which fully supports Reactive Streams and non-blocking IO now powers sttp as a backend.

  • GitHub repo Boost.Beast

    HTTP and WebSocket built on Boost.Asio in C++11

    Project mention: Building HTTP Service in C++ (Using Modern Tools) | dev.to | 2020-12-05

    The HTTP service and is mostly based on this particular example from Boost Beast library. I modified it, replacing plaintext responses with json, and adding Boost Log library.

  • GitHub repo Nickel

    An expressjs inspired web framework for Rust

  • GitHub repo evpp

    A modern C++ network library for developing high performance network services in TCP/UDP/HTTP protocols.

  • GitHub repo miniserve

    🌟 For when you really just want to serve some files over HTTP right now!

    Project mention: Big list of HTTP static server one-liners | news.ycombinator.com | 2021-05-12

    I'm a big fan of miniserve[0]. It can do files, directories (including on the fly tgz or zip downloading), authentication and upload

    [0]: https://github.com/svenstaro/miniserve

  • GitHub repo Http4s

    A minimal, idiomatic Scala interface for HTTP

    Project mention: Is there a library which allows to manage websocket connections? | reddit.com/r/scala | 2021-03-01

    The other day I was also trying to get rid of akka stack and replaced it with http4s for server and sttp for client (http4s websocket client support is in open state for more than 5 years for now: https://github.com/http4s/http4s/issues/330). It still works pretty well, especially since they both can be built from fs2 steams.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-05-15.

Index

What are some of the best open-source HTTP Server projects? This list will help you:

Project Stars
1 Caddy 33,339
2 actix-web 11,250
3 http client/server for asyncio 11,184
4 gunicorn 7,625
5 hug 6,496
6 cowboy 6,327
7 Iron 5,900
8 drogon 5,445
9 swoft 5,319
10 POCO 5,182
11 uvicorn 3,852
12 neutralinojs 3,633
13 Gizmo 3,398
14 oak 3,219
15 statik 3,183
16 Tide 3,131
17 Jetty 3,110
18 Armeria 3,105
19 Boost.Beast 3,001
20 Nickel 2,834
21 evpp 2,668
22 miniserve 2,439
23 Http4s 2,020