c-cpp-http-server-library-analysis

  1. cpprestsdk
  • stars 6k
  • cross platform
  • http client/server, json, 비동기, websocket
  • difficult ( based boost asio )
  • linux performance issue
  • mininnum g++ 4.8, libboost:1.58
  1. crow
  • stars 6.2k ( 작성자는 한국인.. )
  • simple
  • high performance
  • last update : 3 years ago
  • minimum g++ 4.8, c++11(header-only)
  1. uWebSockets
  • start 12.2k
  • c++17 header-only
  • based uSockets
  • clang??
  1. Mongoose
  • 6.8k
  • event-driven non-blocking APIs for TCP,UDP,HTTP,WebSocket, MQTT
  • GNU GPL v.2, + 상업용 라이센스 ??
  • 임베디드용 http 서버?
  1. restbed
  • stars 1.4k
  1. Pistache

  2. ngrest

  3. beast

  4. libmicrohttpd

  5. libHTTP

  6. civetweb

부록. asio

부록. websocketpp

부록. json11

부록. uSockets

  • c++17
  • cross platform async networking
  • clang??

http 2

  1. nghttp2
  • start 3.6k
  • license : MIT Lisence c 언어로 만들어진 http2 라이브러리. c++ boost asio 와 래핑하여 사용 가능, libev, libevent 사용

nghttp, nghttpd, nghttpxx 및 h2load 를 빌드, 실행하려면 OpenSSL libev zlib libc-ares libxml2 libsystemd-dev jansson libevent-openssl jemalloc libboost-dev libboost-thread-dev

추가 ( c++ 도 사용할 경우)