- Can I just use Bitty HTTP in my product?
- How do I compile this thing?
- What is the most useful uses of Bitty HTTP?
- What about SSL/TLS?
- Why is this web site running under Bitty HTTP instead of a real web server?
1Can I just use Bitty HTTP in my product?
Yes. You don't have to any thing except keep the Copyright message at the top of the files.
It would be nice if you linked back to this web site from your web site, but it isn't a requirement
2How do I compile this thing?
There are only two C files needed (plus your code for main() and what files to serve).
See the hello world example for a full example of compiling, but it is basically:
gcc src/SocketsCon.c src/WebServer.c YOURFILE.c
3What is the most useful uses of Bitty HTTP?
Bitty HTTP was originally build to be used in small micro controller embedded systems with odd TCP/IP stacks, however it turns out that embedding it in small utility programs (written in C) has be very useful.
For example if you had a simple program that listens on a socket and sends every thing that comes in out a serial port, it is very useful to add a web server on another port to be able see current status and even monitor traffic sent though the connection.
This is the kind of program that you normally wouldn't bother with a UI for (especially if it was on a remove computer), but having a simple way to throw a status page on it is very useful (no external files are needed keeping it simple).
4What about SSL/TLS?
The web server will work with SSL. However you would need to change SocketsCon.c to add calls the the SSL library and register your cert.
In fact SocketsCon.c was inspired by a design that was used to provide SSL/Normal socket access dynamically without having to change the main code.
It was setup so when you opened your socket with SocketsCon_InitSockCon() you provided if you wanted to use SSL or not.
At some point I may release a version of SocketsCon.c that supports SSL
5Why is this web site running under Bitty HTTP instead of a real web server?
Mostly because I could.
Also it provides a larger example (albeit not the cleanest one).