2. 简介

phhttpd 是一个 HTTP 加速器。它从本地文件系统快速提供静态 HTTP 获取,并将较慢的动态请求传递回等待的服务器。它具有精简的网络 I/O 核心和积极的内容缓存,有助于其高效地执行工作。

2.1. 架构概述

phhttpd 具有非常精简的 I/O 核心。它使用非阻塞系统调用完成所有的网络工作,这些调用由最适合宿主操作系统的事件模型驱动。这允许单个执行上下文处理事件模型决定的尽可能多的客户端连接。

phhttpd 的工作是以尽可能快的速度提供静态内容。为此,它维护一个内存中的内容缓存。当请求被服务时,phhttpd 保存对磁盘上内容的引用以及任何依赖于内容的 HTTP 标头。下次收到对此内容的请求时,phhttpd 可以非常快速地为其提供服务。此缓存可以预先填充(在运行时填充),也可以在请求进入时动态构建。其大小也可以由管理员限制,以使其不会压垮系统。

phhttpd 是一个线程化的独立守护进程。线程数目前在运行时静态定义。传入的连接在运行的线程之间均匀分配,无论它们可能正在服务什么内容。连接由接受它们的线程服务,直到传输完成。

2.2. 支持的系统

phhttpd 目前预计仅在 Linux 系统上构建和运行,这些系统使用 glibc2.1,内核支持通过实时 SIGIO 信号传递 POLL* 信息。这意味着更高版本的 2.3.x 内核或已打补丁的 2.2.x 内核。

我非常希望这种情况改变。如果您有兴趣为其他操作系统进行移植工作,请告诉我。