All Projects → awwit → Httpserver

awwit / Httpserver

Licence: agpl-3.0
Http server is written on C++14 language. Dynamic libraries act as applications for the server (*.so - linux, *.dll - windows).

Projects that are alternatives of or similar to Httpserver

Https Localhost
HTTPS server running on localhost
Stars: ✭ 122 (-13.48%)
Mutual labels:  http2, https
Xmnetworking
A lightweight but powerful network library with simplified and expressive syntax based on AFNetworking.
Stars: ✭ 980 (+595.04%)
Mutual labels:  http2, https
Farwest
Framework for building RESTful HATEOAS-driven applications.
Stars: ✭ 18 (-87.23%)
Mutual labels:  http2, https
Symfony Docker
A Docker-based installer and runtime for Symfony. Install: download and `docker-compose up`.
Stars: ✭ 732 (+419.15%)
Mutual labels:  http2, https
Ymhttp
基于 libcurl 的 IO 多路复用 HTTP 框架,适用于 iOS 平台,支持 HTTP/HTTPS/HTTP2/DNS(SNI)
Stars: ✭ 127 (-9.93%)
Mutual labels:  http2, https
Cowboy
Small, fast, modern HTTP server for Erlang/OTP.
Stars: ✭ 6,533 (+4533.33%)
Mutual labels:  http2, https
Shgf
Simple HTTP golang framework
Stars: ✭ 13 (-90.78%)
Mutual labels:  http2, https
Echo
High performance, minimalist Go web framework
Stars: ✭ 21,297 (+15004.26%)
Mutual labels:  http2, https
Okurl
OkHttp Kotlin command line
Stars: ✭ 77 (-45.39%)
Mutual labels:  http2, https
Esa Restlight
ESA Restlight is a lightweight and rest-oriented web framework.
Stars: ✭ 67 (-52.48%)
Mutual labels:  http2, https
Gun
HTTP/1.1, HTTP/2 and Websocket client for Erlang/OTP.
Stars: ✭ 710 (+403.55%)
Mutual labels:  http2, https
Serve
Simple http server for localhost development with a flags for enabling gzip and http2
Stars: ✭ 93 (-34.04%)
Mutual labels:  http2, https
Fast Android Networking
🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀
Stars: ✭ 5,346 (+3691.49%)
Mutual labels:  http2, https
Armor
Uncomplicated, modern HTTP server
Stars: ✭ 1,629 (+1055.32%)
Mutual labels:  http2, https
Blinksocks
A framework for building composable proxy protocol stack.
Stars: ✭ 587 (+316.31%)
Mutual labels:  http2, https
Golang Tls
Simple Golang HTTPS/TLS Examples
Stars: ✭ 857 (+507.8%)
Mutual labels:  http2, https
Kurly
kurly is an alternative to the widely popular curl program, written in Golang.
Stars: ✭ 319 (+126.24%)
Mutual labels:  http2, https
Isahc
The practical HTTP client that is fun to use.
Stars: ✭ 338 (+139.72%)
Mutual labels:  http2, https
Katwebx
An extremely fast static web server and reverse proxy for the modern web.
Stars: ✭ 39 (-72.34%)
Mutual labels:  http2, https
Piaf
Client library for HTTP/1.X / HTTP/2 written entirely in OCaml.
Stars: ✭ 86 (-39.01%)
Mutual labels:  http2, https

httpserver

Http server is written on C++14 language.

Dynamic libraries act as applications for the server (*.so - linux, *.dll - windows). Library connection takes place in the configuration file samples/apps.conf by using the parameter server_module.

Sample application code: https://github.com/awwit/httpserverapp

Features

This http server support:

  • HTTP v1.1
  • HTTPS (TLS)
  • HTTP v2 (need optimize cleanup of streams)
  • Keep-Alive
  • WebSocket
  • X-Sendfile (header)
  • Get-Parted requests

Dependencies

Common:

Linux: dl, pthread, rt, gnutls

Windows: ws2_32.lib, libgnutls.dll.a

Build

Linux:

git clone https://github.com/awwit/httpserver.git
cd httpserver
make

or

git clone https://github.com/awwit/httpserver.git
cd httpserver
mkdir build
cd build
qbs build -f ./../projects/qt-creator/httpserver.qbs release

Windows:

git clone https://github.com/awwit/httpserver.git
cd httpserver
mkdir build
cd build
devenv ./../projects/msvs/httpserver.sln /build

Server start

./httpserver --start

Configuration files must be located in the working (current) directory. Or input a parameter --config-path=<path> to set the directory with configuration files.

Use the parameter --server-name=<name> to define the name of web-server's instance. Instances can be used to run web-servers with different settings.

Server configuration

Server (and its applications) setting is made using config-files. Examples of settings are located in the folder samples.

License

The source codes are licensed under the AGPL, the full text of the license is located in the LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].