2 ms·
I think that every software developer should implement an HTTP server from nothing more than sockets as part of their learning journey. It's a great way to vali
by toomanybeersies 6y ago
I think that every software developer should implement an HTTP server from nothing more than sockets as part of their learning journey. It's a great way to validate what you've learned, and gives you good experience with implementing usable software to a specification (in this case, RFC 2616).
I have fond memories of implementing one in C (complete with multithreading and request queuing) at university. I found it immensely satisfying, I felt like I was Tim Berners-Lee back in 1990!
That knowledge came in handy some years later when I worked building a TLS intercepting proxy (basically mitmproxy, but not) as part of an automated testing tool. That job really validated why I studied computer science; I had all the prerequisite understanding to jump straight into the task from day 1.
- dylanz 6y ago... and a good resource for network programming is the classic "Beej's Guide to Network Programming": https://beej.us/guide/bgnet/ https://beej.us/guide/bgnet/