我有一个编程项目,我必须创建一个处理HTTP请求的多线程Web服务器。
我刚刚学习了套接字编程,并且运行了客户端和服务器。我想知道解析HTTP请求头的最佳方法是什么。我看到了这一点:how to parse http request in c++几分钟后。但我不想在此时转向C ++。那么如何在C中解析HTTP请求?
答案 0 :(得分:3)
您可以查看C中的Web服务器,例如mongoose(https://github.com/cesanta/mongoose/blob/master/mongoose.c),并且可以使用相同的方法来解析http请求。但我建议只是通过HTTP RFC 2616,因为这可以帮助您编写自己的http请求解析器。
顺便说一下哪种HTTP请求你的服务器处理(GET或POST或BOTH)?
在http post中请求HTTP标头&数据由“\ r \ n \ r \ n”分隔。 在收到的数据sscanf中,Content-Length形成http头,然后在你得到“\ r \ n \ r \ n”之后开始读取数据,直到得到与Content-Length中提到的数据量相同的数据。