C / C ++ HTTP库,只处理逻辑?

时间:2010-01-14 14:17:43

标签: c++ c http logic

我正在寻找一个用于C / C ++的HTTP库,它只处理协议逻辑,而不是实际的传输机制。我遇到的图书馆往往会涉及整个沟通过程,这不是我需要的。

但是,我正在寻找的东西不仅仅是一个HTTP解析器。理想情况下,它还会处理诸如会话/连接管理,多路复用等事情......只是它会留下实际执行通信细节以供应用程序执行。我正在查看客户端和服务器端,但它们中的任何一个都会有所帮助。

最好是我正在寻找免费的东西(非GPL,但是)。 HTTPS是一个加号。轻量级是一个加号。简单是一大优点。

有这样的吗?

4 个答案:

答案 0 :(得分:1)

我认为你要找到的最好的东西是以完全分离的方式实现它。没有套接字实现的HTML服务器对世界上大多数人来说都是无用的。我会寻找分离良好的代码。这是一个非常简约的html服务器的例子,似乎它可能很好地分开,不完全确定,因为我自己没有尝试过,但你可以用自己的实现和包装器替换套接字类,并以这种方式执行。

http://www.adp-gmbh.ch/win/misc/webserver.html

也可能有其他例子。一个好的谷歌搜索可能是你的朋友。无论如何,我认为你不会找到一个完全脱离的服务器和客户端,它们完全是从他们使用的套接字实现中抽象出来的。我以前必须自己做这个,编写一个没有使用套接字的html客户端,但是将串行io用于另一个设备,这会将数据传递到更广泛的互联网上。

答案 1 :(得分:0)

问题在于,一旦您希望它进行会话管理,编写库以直接包含传输(通常是套接字)处理就更简单了,而不是尝试定义应用程序可以实现的可用接口基础运输工作。特别是因为大多数(显然不是全部)用户无论如何都需要两个组件。

答案 2 :(得分:0)

如果您希望Web服务器的一个子集读取开源服务器的源代码并删除您不需要的内容。你可能想看看lighttpd和nginx。它们是简单的轻量级Web服务器。

答案 3 :(得分:0)

libsoup似乎做了你所描述的。 neon已接近。

  • 会话/连接管理
  • 复用
    • 我不确定你究竟是什么意思。你介意给我启发吗?
  • 留下实际执行的通信细节以供应用程序执行。
  • 客户端和服务器端都结束
  • 免费(非GPL,但)
    • libsoup:LGPL
    • neon:GPL
  • HTTPS
    • libsoup:是的
    • neon:是的
  • 轻量级是一个优点
    • 取决于
  • 简单是一大优点。
    • 取决于