我认为使用 HTTPS 时无法进行公共缓存,因为每个响应都不同(由于加密),但现在我意识到至少可以缓存未加密的响应,服务器唯一需要做的工作就是为每个新用户加密它。
默认情况下就是这样做的吗?如果不是,可以做到吗?
我正在使用带有 fastcgi_cache 的 nginx。
答案1
是的,您可以缓存通过 https 提供的页面。
缓存决策由 HTTPCache-Control
和Expires
标头驱动,仅此而已。
但是,通常它们不会被缓存,因为Cache-Control
设置为,private
因为用户已登录到站点。如果没有用户登录,您可以将其设置为public
,然后它就会变为可缓存的。