https://github.com/ntdls/httpd16
Webserver for Windows 3.11, because I can and I want to. So eat it! :P
https://github.com/ntdls/httpd16
cpp http legacy web-server windows-3 windows-3-x
Last synced: 23 days ago
JSON representation
Webserver for Windows 3.11, because I can and I want to. So eat it! :P
- Host: GitHub
- URL: https://github.com/ntdls/httpd16
- Owner: NTDLS
- License: mit
- Created: 2022-06-05T16:40:39.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-07-14T20:08:08.000Z (over 1 year ago)
- Last Synced: 2024-07-14T21:24:19.894Z (over 1 year ago)
- Topics: cpp, http, legacy, web-server, windows-3, windows-3-x
- Language: C++
- Homepage:
- Size: 140 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HTTPd16
Yeah, it’s a *new* 16-bit web server for Windows 3.11... so what?!
This project was built with **Borland C++ 5.02** which can be found all ove the internet, but I've placed it here for convenience: [Borland C++ 5.02](https://www.networkdls.com/Entity/borland-5-02)
In my case, Borland C++ 5.02 was installed on a Windows 2000 Virtual machine because some of the build tools are 16-bit and will not run on modern versions of windows.
Look, I didn’t put a ton of effort into this, so please don’t go digging through the code looking for elegance. This project exists because I genuinely enjoy retro-development. It’s the constraints that make it interesting: limited memory, practically no modern documentation (good luck Googling anything), and yet we still expect things like JSON support in 2025.
There’s something fun about pushing old operating systems to do things they were never meant to. The last time I went down this road, I spent a few hundred bucks just to throw 8MB of RAM at a problem. Totally worth it.
One often-forgotten challenge is memory allocation. Even if you have 16MB free, good luck accessing it conventionally—malloc() and free() just don’t cut it. You can use GlobalAlloc and lock memory, but that’s about as fast as Christmas morning when you're 80. So in this build, I included my own memory manager that grabs a configurable chunk of RAM and hands it out in paged segments. Honestly, that part was a blast.
Anyway, more may come. Or not. But hey—enjoy the weirdness.
