为什么 CloudFront 不 GZIP 我的 HTML/JSP 页面
Why doesn't CloudFront GZIP my HTML/JSP pages
我已经在我的 Elastic Beanstalk/load-balanced Web 应用程序前面配置了 CloudFront,静态内容规则(Png 图像等)正在缓存并提供 GZIPPED。
但是我的 JSP 页面没有 Gzipped。
请注意,我已通过将最小 TTL 设置为 0 将我的默认规则明确设置为不缓存,但这可能是 un-necessary,因为我的原始服务器未返回 Content-Length header 用于 JSP 页面,因此它永远不会被缓存。
CloudFront will only cache if...
- Filetype is supported (text/html is)
- Response is 1,000 -> 10,000,000 bytes (it is)
- Content-Length header must be provided (it is NOT)
- Content-Encoding must not be set (it is not)
这就解释了为什么它没有被缓存,很公平。
但是 为什么我的 HTML 页面没有 GZIPPED?仅供参考,我的 HTML 和 JSP 文件扩展名都是通过 JSP 处理器处理的。
看来我是对的,直到我的页面被修改为 return Content-Length 响应 header,CloudFront 既没有缓存也没有 GZIP 内容。
我已经在我的 Elastic Beanstalk/load-balanced Web 应用程序前面配置了 CloudFront,静态内容规则(Png 图像等)正在缓存并提供 GZIPPED。
但是我的 JSP 页面没有 Gzipped。
请注意,我已通过将最小 TTL 设置为 0 将我的默认规则明确设置为不缓存,但这可能是 un-necessary,因为我的原始服务器未返回 Content-Length header 用于 JSP 页面,因此它永远不会被缓存。
CloudFront will only cache if...
- Filetype is supported (text/html is)
- Response is 1,000 -> 10,000,000 bytes (it is)
- Content-Length header must be provided (it is NOT)
- Content-Encoding must not be set (it is not)
这就解释了为什么它没有被缓存,很公平。
但是 为什么我的 HTML 页面没有 GZIPPED?仅供参考,我的 HTML 和 JSP 文件扩展名都是通过 JSP 处理器处理的。
看来我是对的,直到我的页面被修改为 return Content-Length 响应 header,CloudFront 既没有缓存也没有 GZIP 内容。