From Free Pascal wiki
What is WCHTTPServer
WCHTTPServer is the HTTP/2+1.1 server writed in Lazarus.
The project builds on fcl-web library and extends it to increase functionality:
- Client management using cookies (saving and maintaining sessions).
- Saving information about clients and sessions in SQLite database.
- Saving information about the latest requests and saving logs in SQLite database.
- Multithreading preparation and execution of requests based on threads pools.
- Clients ranking based on clients frequency of requests.
- Built-in support for gzip and deflate compression methods.
- Ability to start the server both in HTTP/2 mode and in HTTP 1.1 mode.
- Modified OpenSSL modules (added necessary TLS extensions) in order to create and maintain HTTP/2 connections.
- Added the ability to save the master key and a random set of client data on the server side (necessary for debugging TLS dumps using WireShark).
- Working both under Windows and Linux.