c++ - 可移植网络服务器过滤器

原文 标签 c++ c apache web-services nginx

我正在从事一个项目,该项目涉及在内容流经网络服务器时对其进行修改(而不是生成),并且想要一种可移植的方式来执行此操作。

为了谨慎起见,假设这个项目在发送给客户端之前自动缩小 HTML/JS/CSS(这实际上不是项目所做的,但足以理解基本概念)。

目前,我们为每个网络服务器使用不同的模块;这种方法适用于少数密切相关的 Web 服务器(具有讽刺意味的是,Apache 和 Nginx 具有非常相似的 API,可以轻松包装),但是随着项目的扩展,这种方法显然会变得越来越站不住脚。

所以,我正在寻找一种轻量级的方法,一种:

  • 不需要过滤器来加载内容本身(完整的网络服务器在这方面比我好得多)。
  • 不需要过滤器将内容传输到终端客户端(同上)
  • 可在(至少)主要 Web 服务器之间移植

  • 第一个要求删除我的过滤器是一个内容生成器,第二个删除是一个 HTTP 过滤器。我曾研究过 FastCGI,但它的过滤器模式并未得到广泛支持(如果我错了,或者有一种简单的方法可以将 FastCGI 配置为大多数 Web 服务器上的过滤器,这是首选)。 SCGI 看起来很简单,但我找不到关于使用 SCGI 模块作为过滤器的文档。

    是否有提供 Web 服务器过滤器的可移植和轻量级解决方案?

    最佳答案

    我认为您最好的选择是使用可以跨操作系统独立编译并位于任何网络服务器前面(或后面)的 TCP 代理。您可以在其中设计自己的过滤器机制。
    寻找一个适用于所有网络服务器的插件需要大量的开发。

    关于c++ - 可移植网络服务器过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25234430/

    相关文章:

    PHP readfile()永无止境,并使Apache服务器挂起

    Apache 多部分请求 mod_proxy

    c - 为什么将指针作为输入参数传递允许 "swapping"和其他可能意外的副作用?

    apache - .htaccess使用子文件夹重写规则强制使用SSL

    c++ - OpenGL - 简单 3D 游戏的低 FPS

    c++ - 未在此范围内声明“T”

    c - 路线定位在二维数组之类的盒子中

    c - 使用c中的指针将2d数组传递给函数

    c++ - C++错误 “expected initialiser before ' [宏名]'”

    c++ - 我可以将nullptr用作Linux系统调用参数吗?