简单的HTTP服务器库
Simple HTTP Server lib
对于一个简单的http服务器库,什么是好的选择?它不需要高性能。我更愿意为一些REST/JSON通信("API")寻找一些简单的东西。
它必须能够在多线程环境中工作,并且必须能够处理大型POST请求。
有什么建议吗?我已经尝试过cpp-netlib,但对于如此简单的任务来说,这似乎太复杂了。。。
编辑:我正在寻找一些非常轻便和简单的东西。比如Ruby世界里的Sinatra。对我来说,Poco是一个过于沉重的图书馆的又一个例子。
首先想到的是Poco Library(http://pocoproject.org/)
跨平台、稳定、有据可查。虽然库本身提供的内容可能超出了您的需要,但您可以构建并省略您不打算使用的部分,以减少膨胀。
他们有一个功能齐全的Net库,其中包括几个重要的类和实用程序。
以下是该库中幻灯片的pdf格式,特别感兴趣的是HTTPServer类:http://pocoproject.org/slides/200-Network.pdf
不确定是否有大的POST数据,但我以前使用过猫鼬:https://github.com/cesanta/mongoose/.
如果LGPL许可证是不需要的,那么项目是MIT时的MIT分支也会添加C++APIhttps://github.com/bel2125/civetweb
我鼓励您从boost.asio中的http服务器示例开始。它们非常简单易懂,您应该能够根据需要轻松扩展它们。
然而,如果你想跳到比示例代码更精致的东西上,我知道C++中有3个http服务器,你可能喜欢尝试:
- "x0-HTTP Web服务器框架"对我个人来说,这似乎是最有前途的,因为它重量轻且简单
- "highpower/xiva"是一个简单的http服务器框架,用于向浏览器发送通知
- "Pion,原子实验室的一个项目"是处理大量数据的精细框架的一部分
答案很晚;但希望这能有所帮助
为了您对能够处理REST的服务器感兴趣,这里是最容易使用的HTTP服务器库(在我看来):https://github.com/yhirose/cpp-httplib.
对于JSON解析,您可以搜索另一个库来将其结合使用。
就我个人而言,我会选择Arachnida,但那可能是因为我写的。
- 如何在C++中使用带有SFML的http reqest从节点.js服务器获取数据?
- 在 MySQL 中运行 HTTP 服务器以从客户端接收数据
- boost beast websocket服务器也接受http连接
- 我不明白异步操作如何使HTTP服务器并发
- 将文件发送到 HTTP 服务器 (C++ Wininet)
- 从主机向在VirtualBox linux机器上运行的服务器发送http请求
- 浏览器将随机HTTP消息正文发送到我的boost.asio服务器.我可以更改此设置吗?
- boost::asio http 服务器无法向 Postman 返回有效响应
- 如果C/C Python3扩展托管HTTP服务器并将Python代码称为请求处理程序,则如何处理并发
- 有没有人知道如何终止ESP8266 http Web服务器/接入点
- 为什么这C++ASIO,当执行HTTP / SSL请求时,BEAST服务器会进入错误状态
- QT-简单的HTTP服务器
- Apache HTTP服务器 - 如何在模块上打印到控制台
- web服务器如何知道何时完全接收到HTTP请求
- 使用C HTTP请求将文件上传到服务器
- Windows HTTP服务器API HTTPS服务器
- 在多线程HTTP服务器中发送后,如何干净地关闭套接字
- Boost Asio 示例 HTTP 服务器 -- 以这个例子为例,让它变得"production ready"
- AJAX与C HTTP服务器断开连接
- 使用带有gsoap代理类的gsoap独立服务器实现http-get