标签: cache-control

Symfony 2缓存清除问题

我试图清除缓存时,我的Symfony 2网站最近给了我一些问题.我在终端中输入以下命令:

php app/console cache:clear --env=dev
Run Code Online (Sandbox Code Playgroud)

并得到以下错误:

[ErrorException]                                                                                                                                                                                                                                   
 Warning: rename(/var/www/corpsite/corpsite/app/cache/dev,/var/www/corpsite/corpsite/app/cache/dev_old): Directory not empty in /var/www/corpsite/corpsite/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php line 74  
Run Code Online (Sandbox Code Playgroud)

所以我将该文件的权限更改为777,并重新运行clear cache命令,这会给我这个错误:

  [ErrorException]                                                                                                                                                                                                                         
  Warning: unlink(/var/www/corpsite/corpsite/app/cache/dev_old/twig/6b/e9/4491e41b895786689b86f32f446f.php): Permission denied in /var/www/corpsite/corpsite/vendor/symfony/src/Symfony/Component/HttpKernel/Util/Filesystem.php line 100  
Run Code Online (Sandbox Code Playgroud)

我可以通过删除'dev_old'文件夹解决问题,但我想解决导致问题的问题.

PS - 我知道该网站正在开发模式下运行.该网站已经存在了10个月,这从来就不是问题.

任何帮助表示赞赏!

caching cache-control symfony

12
推荐指数
1
解决办法
3万
查看次数

是否可以有条件地设置标题?

如果http_referer来自谷歌(.com/.ru/.co.uk/english/etc.等),我想htaccess执行以下代码.这可能吗?

<filesMatch ".(jpg|jpeg|png|gif)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

apache .htaccess cache-control mod-headers

12
推荐指数
2
解决办法
2万
查看次数

Google Chrome不会反复重新验证etag

即使我发送"缓存控制:必须重新验证",Google Chrome在浏览器中使用来回按钮时也会使用本地缓存页面.

这是原始回复的一部分:

HTTP/1.1 200 OK
cache-control: private, must-revalidate
etag: "c9239b5d4b98949f8469a05062e05bb999d7512e"
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
Run Code Online (Sandbox Code Playgroud)

如果我刷新页面,我得到一个"HTTP/1.1 304 Not Modified"响应但是当我使用后退按钮时,我得到以下响应:

Request URL:example.com
Request Method:GET
Status Code:200 OK (from cache)
Run Code Online (Sandbox Code Playgroud)

我正在寻找的响应是304或200 OK,是否有可能实现这一目标?

etag http cache-control browser-cache

12
推荐指数
2
解决办法
1万
查看次数

JBoss7为RESTEasy的所有响应设置Cache-Control,Pragma到no-cache

我正在尝试使用RESTEasy框架将Cache-Control标头添加到JBoss 7中生成的响应中.但是,由于JBoss默认添加了no-cache标头,所有响应最终都会获得多个Cache-Control标头.

我找不到任何设置来删除它,并且添加拦截器也无法正常工作,因为稍后会添加no-cache标头.

有人能告诉我如何在JBoss 7中禁用默认的pragma和缓存控制头吗?

注意:我正在使用无状态EJB的resteasy.

@Path("/api")
@Local
public interface UCSRestServiceInterface
{
    @GET
    @Path("/token")
    @Produces("application/json")
    @Cache(maxAge = 3600, noTransform = true)
    public Response getToken();
}
Run Code Online (Sandbox Code Playgroud)

获取响应标头为,

{
  "pragma": "No-cache",
  "date": "Thu, 11 Feb 2016 20:16:30 GMT",
  "content-encoding": "gzip",
  "server": "Apache-Coyote/1.1",
  "x-frame-options": "SAMEORIGIN",
  "vary": "Accept-Encoding,User-Agent",
  "content-type": "application/json",
  "cache-control": "no-cache, no-transform, max-age=3600",
  "transfer-encoding": "chunked",
  "connection": "Keep-Alive",
  "keep-alive": "timeout=15, max=100",
  "expires": "Wed, 31 Dec 1969 19:00:00 EST"
}
Run Code Online (Sandbox Code Playgroud)

jboss jax-rs cache-control resteasy jboss7.x

12
推荐指数
1
解决办法
2755
查看次数

Chrome正在发送缓存控制:无缓存标头

我们已经配置了nginx服务器来将缓存控制头添加到公共和到期时间为1个月.但是当我们从浏览器发出请求时,客户端正在添加Cache-control:no-cache标头.因此,每次都是新鲜的内容,而不是提供缓存版本.

我怎样才能缓存静态文件?

如果我从终端触发请求,则服务器添加的缓存控制头在响应头中可见.

查看以下截图: 在此输入图像描述 在此输入图像描述

javascript google-chrome cache-control http-headers

12
推荐指数
2
解决办法
2780
查看次数

如何重新加载动态加载的 ES6 模块(使用 import() 作为函数)而不重新加载整个页面?

即使服务器上的模块已更改,以下代码也将始终记录相同的消息,无论发送的 Cache-Control 标头如何:

import('http://example.com/script.mjs').then(m => console.log(m.default))
Run Code Online (Sandbox Code Playgroud)

除非重新加载整个页面。是否有类似于delete require.cache[...]NodeJS 的编程方式来破坏动态导入缓存?

javascript cache-control ecmascript-6 es6-modules

12
推荐指数
1
解决办法
2542
查看次数

在单个Vary标头中列出多个字段是否有效?

我知道你可以做到这一点

Vary: Accept-Encoding
Vary: Accept-Language
Run Code Online (Sandbox Code Playgroud)

但你能做到吗

Vary: Accept-Encoding, Accept-Language
Run Code Online (Sandbox Code Playgroud)

http cache-control

11
推荐指数
1
解决办法
2342
查看次数

tomcat安全性约束影响缓存

我在缓存我的应用程序时遇到问题.

当此代码添加到tomcat的web.xml时:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>HTTPSOnly</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>
Run Code Online (Sandbox Code Playgroud)

我收到了这个回复:


Cache-Control   private
Date    Tue, 18 Feb 2014 01:18:17 GMT
Etag    W/"200-1391558564593"
Expires Thu, 01 Jan 1970 00:00:00 WET
Server  Apache-Coyote/1.1
Run Code Online (Sandbox Code Playgroud)

没有这个代码一切都很好:

Accept-Ranges   bytes
Cache-Control   max-age=604800
Content-Length  1496
Content-Type    text/css
Date    Tue, 18 Feb 2014 01:21:26 GMT
Etag    W/"1496-1391558561359"
Expires Tue, 25 Feb 2014 01:21:27 GMT
Last-Modified   Wed, 05 Feb 2014 00:02:41 GMT
Server  Apache-Coyote/1.1
Run Code Online (Sandbox Code Playgroud)

谁能说出问题的原因?以及为什么这段代码将cache-controle更改为我的应用程序的私有.非常感谢

Tomcat 7.0
JDK : 1.6
Run Code Online (Sandbox Code Playgroud)

tomcat cache-control security-constraint

11
推荐指数
1
解决办法
1030
查看次数

具有两个或更多存储视图的XML布局中的Magento静态CMS块

我有两个名为"promo_en"和"promo_de"的静态CMS块 - 翻译为现有的两个店铺视图"en"和"de".

我想使用模块的layout.xml文件将它们添加到某些模块的侧边栏中.

问题是,如果我使用以下语法添加它们 - 它们都显示忽略我当前所在的商店视图(我希望有一些自动过滤):

<block type="cms/block" name="Promo_de">
    <action method="setBlockId"><block_id>promo_de</block_id></action>
</block> 
<block type="cms/block" name="Promo_en">
    <action method="setBlockId"><block_id>promo_en</block_id></action>
</block> 
Run Code Online (Sandbox Code Playgroud)

如果我将它们重命名为"promo"并使用以下语法 - 它可以正常工作,直到我激活Magento的缓存 - 然后CMS块的输出冻结在任何存储视图首先缓存:

<block type="cms/block" name="Promo">
    <action method="setBlockId"><block_id>promo</block_id></action>
</block> 
Run Code Online (Sandbox Code Playgroud)

关于此事的想法或解决方法受到高度赞赏.

layout block cache-control magento content-management-system

10
推荐指数
3
解决办法
5万
查看次数

Apache:在.htaccess中为目录设置max-age或expires

我有一些内容永远不会改变的目录.

是否可以创建.htaccess文件,告诉浏览器该目录和子目录中的任何内容都可以缓存很长时间?

如果可能的话,我想在每个目录中复制相同的.htaccess文件.

如果这是可能的,你会建议max-age超过期限或两者兼而有之吗?

apache cache-control mod-expires

10
推荐指数
1
解决办法
2万
查看次数