- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 mod_cache 来缓存动态生成的内容。这是我的 Apache 配置:
CacheEnable mem /
MCacheSize 4096
MCacheMaxObjectCount 100
MCacheMinObjectSize 1
MCacheMaxObjectSize 2048
CacheIgnoreCacheControl On
CacheIgnoreNoLastMod On
CacheStorePrivate On
CacheStoreNoStore On
<Location /cgi-bin>
SetHandler cgi-script
Options +ExecCGI
</Location>
这是一个 CGI 脚本(仅用于测试):
#!/opt/app/phantomjs/bin/phantomjs
var date = new Date('Sun, 01 Jan 2012 00:00:00 GMT');
console.log('Last-Modified: '+ date.toUTCString());
console.log('Cache-Control: max-age=' + (365 * 24 * 60 * 60)+ ', public');
date.setDate(date.getDate() + 365);
console.log('Expires: '+ date.toUTCString() + '\n\n');
// lengthy operation here...
console.log(content);
这基本上有效。但是会发生的情况是,如果客户端请求带有If-Modified-Since
header 的cgi-bin:
这对我来说毫无意义。 Apache 在发送未修改的响应之前等待整个响应。
我的预期:
有什么办法可以做到吗?
最佳答案
CGI 脚本应更改如下。
不要使用静态的上次修改日期。动态资源的Last-Modified应该设置为当前执行时间。
缓存控制指令包含类型错误 'pulic' 应该是 'public'
不需要 Expires 指令,因为 Cache-Control 的优先级高于 Expires。
发送 header 后您预期的行为“终止 CGI 脚本”是不可能的。如果您的缓存有效,则在缓存条目失效之前不会执行 CGI 脚本。
关于apache - 如何使 mod_cache 与动态内容一起正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12155876/
我正在尝试使用 mod_cache 来缓存动态生成的内容。这是我的 Apache 配置: CacheEnable mem / MCacheSize 4096 MCacheMaxObjectCount
当前,我正在使用mod_cache来缓存Web应用程序的页面详细信息。 我有基于User-Agent和Accept-Language的缓存Vary,因为在这些情况下有不同的有效负载。 Vary: Us
我想知道 mod_cache 和 memcached 之间有什么区别。我在 django 站点工作,所以我在 apache2 中使用 mod_wsgi。 我的问题是应该缓存在 apache 还是 dj
我正在考虑使用 mod_cache。但是,我希望由 Apache 缓存的页面(由 php 生成)通常包含该用户的登录名(“您以...登录”)。所以我不能只为所有用户缓存一个页面。 登录状态由 cook
我在 tomcat 服务器前使用 apache2 作为 loadbalancer 和 frontend-proxy,通过 mod_ajp 连接。现在,我想添加缓存。 不幸的是,tomcat 服务器的应
我对 mod_cache 和 ETags 有疑问。这是我的场景: 环境:Firefox、Apache 2.2.22(Mac OSX 默认)、任何 Web 应用程序,Apache 是 Web 应用程序的
我配置了以下系统: Tomcat -> Apache 现在,我有一些设置了 Max-Age、LastModified 和 Etags 的 URL。我的期望是当 Client1 调用服务器时,页面应该从
我是一名优秀的程序员,十分优秀!