a http file server implemented in C++20, only supports windows platform and no dependencies on other libraries.
The original intention of writing this program was to demonstrate to my friends how to use C++ to write network programs that work on the Windows platform. The HTTP file server is clearly a qualified example. This program is based on synchronous blocking model and provides a simple thread pool to handle each request. Due to the fact that file servers must display directory lists, and the combination of various Unicode and ASCII character encoding issues in Windows systems with the default utf8 in HTML can become very obscure, this program also demonstrates how to handle these issues. This program is currently being written and tested on Visual Studio 2022 and clang++. If you choose to compile it on the command line, you must first ensure that you have a supported C++20 compiler, and the compilation option should include -l ws2_ 32, like: clang++ HttpFileServer.cpp -std=c++20 -lws2_32