From top-down, you’ll need to know about:
- HTTP Protocol
- TCP server – BSD socket programming
- writing a basic Unix daemon (persistent service)
- process management (fork)
- parsing text (read a configuration text file)
- file handling (I/O)
- debugging C / C++ programming 🙂
So you will have to learn about writing a basic Unix application, BSD socket programming for the TCP/IP network programming, and the HTTP protocol.
Commonly used texts include:
Unix application development:
- Advanced Programming in the Unix Environment, Stevens & Rago
- Advanced Unix Programming
TCP/IP (sockets) programming:
- Unix Network Programming, Volume 1 Stevens et all
- TCP/IP Illustrated, Stevens
- Ineternetworking with TCP/IP, Volume 3, Comer
HTTP Protocol
- RFCs including
- RFC 2616 for HTTP v1.1,
- RFC 2068 for pre-v1.1
- plus others depending on support (compression, URI / URL) and completeness