如何通过机架提供二进制文件?

时间:2010-05-06 16:21:02

标签: ruby file rack

我认为我在这里有点傻,但是我一直在抱怨env哈希中缺少SERVER_NAME密钥的错误,而且我在Rack :: SendFile上找不到任何实质性的文档..

所以我如何提供文件?

1 个答案:

答案 0 :(得分:0)

如果您要提供大型文件供下载,我建议让网络服务器提供大量数据。这样,您不会浪费宝贵的资源来运行您的Rack应用程序,只是为了让用户进行长时间的下载。

如果您使用特殊标头(Apache X-Sendfile,Nginx X-Accel-Redirect)进行响应,则网络服务器将使用作为响应正文的文件内容。这样,您的Rack应用程序就可以为下一个请求做好准备,而Web服务器负责向用户发送数据的漫长过程。您可能需要先为您的网络服务器启用此功能。