在 Rails 上的 Ruby 中默认未启用 Rack::Deflater gzip 的原因是什么?
Is any reason why Rack::Deflater gzip is not enabled by default in Ruby on Rails?
在 Rails 上的 Ruby 中默认未启用 Rack::Deflater gzip 是什么原因? rails 的 gzip 缺点是什么?
我不知道这背后的官方原因,但最明显的是他们没有这样做,因为有更好的地方可以对响应进行 gzip 压缩。就像前端代理或负载均衡器或您的 CDN。例如,我使用 AWS Elastic Beanstalk 部署 Rails 应用程序,并在 Elastic Load Balancer (ELB) 上配置 gzip 压缩,而不是在 Rails 应用程序内。您希望减轻应用程序的压缩负担,让它专注于核心业务逻辑。由于压缩 HTML、CSS 和 JS 是一项任何代理都可以完成的微不足道的任务,因此您希望将应用程序的负载转移到负载均衡器上。我认为没有人让 Rack 中间件在生产中进行压缩。可能仅适用于 运行 在前面没有负载均衡器的单个实例上的非常简单和小型的应用程序。对于更大更复杂的应用程序,您希望您的代理来处理这个 "work".
在 Rails 上的 Ruby 中默认未启用 Rack::Deflater gzip 是什么原因? rails 的 gzip 缺点是什么?
我不知道这背后的官方原因,但最明显的是他们没有这样做,因为有更好的地方可以对响应进行 gzip 压缩。就像前端代理或负载均衡器或您的 CDN。例如,我使用 AWS Elastic Beanstalk 部署 Rails 应用程序,并在 Elastic Load Balancer (ELB) 上配置 gzip 压缩,而不是在 Rails 应用程序内。您希望减轻应用程序的压缩负担,让它专注于核心业务逻辑。由于压缩 HTML、CSS 和 JS 是一项任何代理都可以完成的微不足道的任务,因此您希望将应用程序的负载转移到负载均衡器上。我认为没有人让 Rack 中间件在生产中进行压缩。可能仅适用于 运行 在前面没有负载均衡器的单个实例上的非常简单和小型的应用程序。对于更大更复杂的应用程序,您希望您的代理来处理这个 "work".