lighty的生活

lighty开发者博客

X-Sendfile

……或者lighty的隐藏秘密。X-Sendfile 是一个重要但却鲜为人知的功能。是时候聚焦它,看看你为什么会想使用它了。X-Sendfile 是一个特殊的头部选项,你可以在任何 FastCGI 后端中设置它,以告知 lighty 忽略响应内容,并将其替换为 X-Sendfile 头部中指定的文件。乍听之下似乎并不引人注目,但如果你在一些用例中思考这个想法,就会明白为什么这是一个好主意:“你正在使用基于应用程序的认证,然后才授权访问服务器上的文件。由于你不希望非授权用户获取文件,你必须将它们放置在一个文档根目录(document-root)无法访问的文件夹中。在你的应用程序中,你正在将文件(比如每个200Mb)流式传输到服务器,然后服务器再将其转发给客户端。”但等等:你基本上是在发送一个大型静态文件。那是 lighty 的工作。那是它最擅长的事情。X-Sendfile 正是为此而生。你告诉 lighty 将静态文件作为响应发送。来自后端的所有响应头都会被转发,只添加了 Content-Length。结果,你的整个应用程序将占用更少的内存,速度会快好几倍,并且你将花费更少的时间来优化你的应用程序。要使用它,你需要加载 mod_fastcgi 模块并在 fastcgi.server 配置中设置 "allow-x-sendfile" 选项。默认情况下,X-Sendfile 是禁用的,因为它允许发送 Web 服务器有权访问的任何文件。简而言之:只在受控环境中使用它。* "mod_fastcgi 文档"://lighttpd.ac.cn/documentation/fastcgi.html * "如何防止盗链"://trac.lighttpd.net/trac/wiki/HowToFightDeepLinking

请注意,我们不接受发布超过3个月的帖子评论! 另请使用我们的错误追踪器报告错误,并使用我们的 IRC 频道 #lighttpd@libera 进行交流。

« 我在 RailsConf 学到的 新的 mod_proxy_core »