Difference between revisions of "WCHTTPServer"

From Free Pascal wiki
(WCHTTPServer - HTTP/2+HTTP1.1 server)
 
m (Fixed typos; categorised page; added author, licence)
Line 1: Line 1:
 
== What is WCHTTPServer ==
 
== What is WCHTTPServer ==
WCHTTPServer is the HTTP/2+1.1 server writed in Lazarus.[[File:wclogo.png|right|300px|WCHTTPServer logo]]
 
  
The project builds on [[fcl-web]] library and extends it to increase functionality:
+
WCHTTPServer is an HTTP/2 + HTTP/1.1 server written in Free Pascal.[[File:wclogo.png|right|300px|WCHTTPServer logo]]
 +
 
 +
The project builds on the [[fcl-web]] library and extends it to increase functionality:
  
 
* Client management using cookies (saving and maintaining sessions).
 
* Client management using cookies (saving and maintaining sessions).
 
* Saving information about clients and sessions in SQLite database.
 
* Saving information about clients and sessions in SQLite database.
 
* Saving information about the latest requests and saving logs 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.
+
* Multithreading preparation and execution of requests based on thread pools.
* Clients ranking based on clients frequency of requests.
+
* Client rankings based on the frequency of client requests.
 
* Built-in support for gzip and deflate compression methods.
 
* 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.
 
* 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.
 
* 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).
 
* 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.
+
* Works under both Windows and Linux.
 +
 
 +
== Author ==
 +
 
 +
* Ilya Medvedkov
 +
 
 +
== Licence ==
  
== References ==
+
* GNU Lesser General Public License v2.1
 +
 
 +
== Download ==
  
 
* [https://github.com/iLya2IK/wchttpserver WCHTTPServer project on github]
 
* [https://github.com/iLya2IK/wchttpserver WCHTTPServer project on github]
 +
 +
[[Category:FPC]]
 +
[[Category:Libraries]]
 +
[[Category:Networking]]

Revision as of 23:42, 10 January 2021

What is WCHTTPServer

WCHTTPServer is an HTTP/2 + HTTP/1.1 server written in Free Pascal.

WCHTTPServer logo

The project builds on the 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 thread pools.
  • Client rankings based on the frequency of client 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).
  • Works under both Windows and Linux.

Author

  • Ilya Medvedkov

Licence

  • GNU Lesser General Public License v2.1

Download