【发布时间】:2016-12-28 10:26:47
【问题描述】:
为什么 Rack::Deflater gzip 在 Ruby on Rails 中默认没有启用? gzip 对 rails 有什么缺点(如果有的话)?
【问题讨论】:
标签: ruby-on-rails gzip deflate
为什么 Rack::Deflater gzip 在 Ruby on Rails 中默认没有启用? gzip 对 rails 有什么缺点(如果有的话)?
【问题讨论】:
标签: ruby-on-rails gzip deflate
我不知道这背后的官方原因,但最明显的是他们没有这样做,因为有更好的地方可以对响应进行 gzip 压缩。就像前端代理或负载均衡器或您的 CDN。例如,我使用 AWS Elastic Beanstalk 部署 Rails 应用程序,并在 Elastic Load Balancer (ELB) 上配置 gzip 压缩,而不是在 Rails 应用程序内部。您希望减轻您的应用程序进行压缩的工作,并让它专注于其核心业务逻辑。由于压缩 HTML、CSS 和 JS 是任何代理都可以完成的一项微不足道的任务,因此您希望将应用程序的负载放到负载均衡器上。我认为没有人让 Rack 中间件在生产中进行压缩。可能仅适用于在单个实例上运行且前面没有负载均衡器的非常简单和小型的应用程序。对于更大更复杂的应用程序,您希望您的代理来处理这项“工作”。
【讨论】: