我认为我在这里有点傻,但是我一直在抱怨env哈希中缺少SERVER_NAME密钥的错误,而且我在Rack :: SendFile上找不到任何实质性的文档..
所以我如何提供文件?
答案 0 :(得分:0)
如果您要提供大型文件供下载,我建议让网络服务器提供大量数据。这样,您不会浪费宝贵的资源来运行您的Rack应用程序,只是为了让用户进行长时间的下载。
如果您使用特殊标头(Apache X-Sendfile
,Nginx X-Accel-Redirect
)进行响应,则网络服务器将使用作为响应正文的文件内容。这样,您的Rack应用程序就可以为下一个请求做好准备,而Web服务器负责向用户发送数据的漫长过程。您可能需要先为您的网络服务器启用此功能。