From Free Pascal wiki
Revision as of 18:07, 10 January 2021 by ILya2IK (talk | contribs) (WCHTTPServer - HTTP/2+HTTP1.1 server)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

What is WCHTTPServer

WCHTTPServer is the HTTP/2+1.1 server writed in Lazarus.

WCHTTPServer logo

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.