A mini web server with C++
HTTP/1.1 (RFC 2616)
HTTP/1.1 : Message Syntax and Routing (RFC 7230)
HTTP/1.1 : Semantics and Content (RFC 7231)
HTTP/1.1 : Conditional Requests (RFC 7232)
HTTP/1.1 : Range Requests (RFC 7233)
HTTP/1.1 : Caching (RFC 7234)
HTTP/1.1 : Authentication (RFC 7235)
HTTP Semantics (RFC 9110)
mdn web docs - HTTP resources and specifications
Wikipedia - Hypertext Transfer Protocol
HTTP Server: Everything you need to know to Build a simple HTTP server from scratch
differences among select()
, kqueue()
, poll()
, epoll()
-
Synchronous
select and poll -
Asynchronous
epoll and kqueue -
epoll is supported on Linux system
-
kqueue is supported on BSD/MacOS system
./Desktop/siege/bin/siege -t 20S -c 10 -v 127.0.0.1:8080/index.html
telnet 127.0.0.1 8080
GET /index.html HTTP/1.1
Host: 127.0.0.1
GET /get_php.php HTTP/1.1
Host: 127.0.0.1
curl --resolve example.com:8080:127.0.0.1 http://example.com:8080/