我有兴趣在C中创建一个简单的HTTP服务器(当然我只是希望了解服务器如何工作并从中获得一些知识)。我看到了一些关于同一问题以及提供代码的主题,但这并没有帮助。是否有任何书籍供我查找?
答案 0 :(得分:3)
首先,有很多HTTP服务器C代码。至少,看看其中的一些。
还有几个库可以为您的软件添加HTTP服务器功能。我喜欢onion库,但还有其他(libmicrohttpd,Wt用于C ++等等。)。
你需要精通
我不确定重新实现简单的HTTP服务器是否值得。在合理的时间内,你可能不会比现有的东西做得更好。
您可以通过研究和改进现有代码来了解更多信息。
最后,你的问题可能是偏离主题的。您是否考虑在programmers的论坛上提问?
实际上,由于HTTP是一个复杂的协议(在TCP / IP之上,它本身很复杂,例如在Posix或Linux等操作系统上实现很复杂),你将无法做出简单但标准的兼容实现(如果你想要足够强大,这是HTTP规范所要求的)。它必须很复杂!
通过实施简单的方法,你一定会学到很多东西。只需阅读一点关于HTTP(例如wikipedia's page on HTTP),然后开始实现一些简单的 GET
和HEAD
请求);但是你应该对...基本的Linux网络编程。但是,您将只实现HTTP的一个子集。