Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 C++ HTTP Projects
-
aria2
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
drogon
Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
-
C++ REST SDK
The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Restbed
Corvusoft's Restbed framework brings asynchronous RESTful functionality to C++14 applications.
-
CppServer
Ultra fast and low latency asynchronous socket server & client C++ library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution
-
RESTinio
Cross-platform, efficient, customizable, and robust asynchronous HTTP(S)/WebSocket server C++ library with the right balance between performance and ease of use
-
IXWebSocket
websocket and http client and server library, with TLS support and very few dependencies
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
For sites with limited download speeds I usually use aria2 (via terminal) since it supports segmented/multi connection downloading. But I guess this wouldn't work with 1fichier, since with these sites you usually don't get direct link to the file and/or sites like these limit the number of parallel connections. I also used it for torrents for a while, but I wouldn't recommend doing this anymore.
They use (uWebSockets)[https://github.com/uNetworking/uWebSockets], which was written in C++, but has an interface to use in NodeJS. It's been really performant for me in my simple tests compared to other popular websocket libs that slow down fairly quickly.
Alternatives at the low to medium level of abstraction include civetweb and mongoose, which have a common ancestor. Both of these appear to be C rather than C++, but seem to be production quality and well-documented. Another C library is cpp-httplib, which is probably too low-level for me.
I looked at oatpp and drogon, which are both great, but feel too high-level for my purposes. I tried drogon and got something working, but it feels like too much for my requirements, as in particular I'd like to slot in my choice of Json and message-body handling. C.f. the simple approach in Crow, which I easily understand and build on.
Project mention: What is the industry standard today in C++ to deploy REST microservices in Kubernetes? | /r/cpp | 2023-09-06My favourite was Microsoft's cpprestsdk, but for some reason now is in maintenance mode, I don't know why, so it's hard to suggest it for new projects. A nice alternative is restc-cpp, that's has a good high-level interface, if this is what you want.
If you have never heard of Soketi, to give you a brief overview, it is a WebSocket server that was built on top of uWebSockets.js and has great compatibility with Pusher Protocol.
Project mention: What C++ library do you wish existed but hasn’t been created yet? | /r/cpp | 2023-07-08This one might fit the bill https://github.com/libcpr/cpr
I'm investigating using C++ to build a REST server, and would love to know of people's experiences with Crow-- or whether they would recommend something else as a "medium-level" abstraction C++ web server. As background, I started off experimenting with Python/FastAPI, which is great, but there is too much friction to translate from pybind11-exported C++ objects to the format that FastAPI expects, and, of course, there are inherent performance limitations using Python, which could impact scaling up if the project were to be successful.
They recently open sourced internal framework: https://github.com/userver-framework/userver
Project mention: What is the industry standard today in C++ to deploy REST microservices in Kubernetes? | /r/cpp | 2023-09-06Another good one is restclient-cpp.
Project mention: What is the industry standard today in C++ to deploy REST microservices in Kubernetes? | /r/cpp | 2023-09-06In my past job, we used https://github.com/Stiffstream/restinio and absolutely loved it. It's not as active but it honestly didn't need much.
Now I want to do this using C++. I came across libhttpserver. The documentation looks intuitive. I think once everything is properly setup I should be easily able to what I want.
C++ HTTP related posts
-
Squid: Optimising Web Delivery
-
I'm open-sourcing my game engine
-
Bypass download limits?
-
squid proxy cache server without systemd built and ready to serve
-
Experience using crow as web server
-
uWebSockets.js
-
What is the industry standard today in C++ to deploy REST microservices in Kubernetes?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 May 2024
Index
What are some of the best open-source HTTP projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | aria2 | 33,754 |
2 | µWebSockets | 16,875 |
3 | C++ Workflow | 12,506 |
4 | cpp-httplib | 11,959 |
5 | drogon | 10,796 |
6 | Apache Thrift | 10,171 |
7 | C++ REST SDK | 7,824 |
8 | uWebSockets.js | 7,458 |
9 | cpr | 6,191 |
10 | Boost.Beast | 4,191 |
11 | Crow | 2,819 |
12 | userver | 2,224 |
13 | Squid | 1,981 |
14 | Restbed | 1,885 |
15 | restclient-cpp | 1,530 |
16 | CppServer | 1,340 |
17 | RESTinio | 1,112 |
18 | sshttp | 861 |
19 | libhttpserver | 848 |
20 | UBoat | 846 |
21 | wfrest | 801 |
22 | Tufão | 581 |
23 | IXWebSocket | 500 |
Sponsored