标签: browser-cache

GWT缓存概念

有人可以用简单的术语向我解释GWT中的缓存概念.我在很多地方都读到了这个,但可能是由于我的知识有限,我无法理解它.

比如nocache.js,cache.js

或者其他一些事情,例如永久地使客户端缓存文件或如何使客户端缓存文件,然后如果文件在服务器上更改,则客户端再次下载这些文件

gwt caching browser-cache

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

使用Play框架和Java进行缓存

我正在使用Play和Java运行应用程序,我需要为各种类型的资产设置到期日期:images,css,javascript等.

我在conf/routes文件中有以下内容:

GET     /assets/*file               controllers.Assets.at(path="/public", file)
Run Code Online (Sandbox Code Playgroud)

我能够在一个单独的文件中设置到期日期application.conf:

"assets.cache./public/js/pages/validation.js"="max-age=7200"
Run Code Online (Sandbox Code Playgroud)

但我无法将其设置为整个文件夹.我试过了

"assets.cache./public/js/pages/*.js"="max-age=7200"
"assets.cache./public/js/pages/*"="max-age=7200"
Run Code Online (Sandbox Code Playgroud)

但没有任何反应.我希望为/ js/pages文件夹中的所有内容设置到期日期.

我也试过了

assets.defaultCache="max-age=7200"
Run Code Online (Sandbox Code Playgroud)

根据http://www.jamesward.com/2014/04/29/optimizing-static-asset-loading-with-play-framework上的说明

以及

http.cacheControl=7200
Run Code Online (Sandbox Code Playgroud)

根据文档http://www.playframework.com/documentation/1.2.3/configuration#http

这些都不起作用.上面的更改是在application.conf中完成的.

我知道有一种方法可以通过定义控制器来改变我想要设置过期日期的路由的响应(): 静态内容的远期Expires标头

但我想知道如何从application.conf文件配置资产的到期日期.

我们的应用程序在S3 Linux实例上运行,因此无法在服务器上配置过期日期.

谢谢!

java browser-cache playframework expires-header playframework-2.0

8
推荐指数
1
解决办法
2529
查看次数

优化文件缓存和HTTP2

我们的网站正在考虑切换到http2.

我的理解是http2渲染文件连接等优化技术已经过时,因为使用http2的服务器只发送一个请求.

相反,我看到的建议是,最好保持较小的文件大小,以便它们更有可能被浏览器缓存.

它可能取决于网站的大小,但如果网站的文件使用http2并希望专注于缓存,它应该有多小?

在我们的例子中,我们的许多单独的js和css文件都在1kb到180kb的范围内.Jquery和bootstrap可能更多.累积起来,我们网站上新下载的页面通常不到900 kb.

所以我有两个问题:

这些文件大小是否足够小,可以被浏览器缓存?

如果它们小到可以缓存,那么对于使用不支持http2的浏览器的用户来说,连接文件是否合适.

在这种情况下拥有更大的文件大小并使用HTTP2会不会有害?这样,运行任一协议的用户都会受益,因为站点可以针对http和http2进行优化.

performance browser-cache pagespeed http2

8
推荐指数
1
解决办法
383
查看次数

用于在Windows上清除C​​hrome或Firefox缓存的脚本

使用Internet Explorer,您可以创建一个.bat文件来清除缓存.

例:

RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

REM History:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1

REM Cookies:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2

REM Temp Internet Files:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

REM Form Data:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16

REM Passwords:
REM RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32

REM OR

REM All:
rundll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351
Run Code Online (Sandbox Code Playgroud)

有没有办法用Chrome和/或Firefox做到这一点?

也就是说,使用.bat在Windows计算机上运行的文件或powershell脚本,清除Chrome或Firefox的缓存?

我保证,我看了.

powershell firefox google-chrome browser-cache windows-7

7
推荐指数
1
解决办法
5万
查看次数

为什么浏览器不从缓存中加载cdn文件?

这是一个非常简单的例子来说明我使用CDN中的JQuery修改页面的问题:

<html>
  <body>
    <p>Hello Dean!</p>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>$("p").html("Hello, Gabe!")</script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当您使用互联网连接加载此页面时,页面将显示"Hello Gabe".当我关闭互联网连接时,页面显示"Hello Dean"并显示错误 - JQuery不可用.

我的理解是CDN的有很长Cache-Control并且Expire在头响应,这是我理解的意思是,浏览器本地缓存文件.

$ curl -s -D - https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js | head

HTTP/1.1 200 OK
Server: cloudflare-nginx
Date: Fri, 17 Apr 2015 16:30:33 GMT
Content-Type: application/javascript
Transfer-Encoding: chunked
Connection: keep-alive
Last-Modified: Thu, 18 Dec 2014 17:00:38 GMT
Expires: Wed, 06 Apr 2016 16:30:33 GMT
Cache-Control: public, max-age=30672000
Run Code Online (Sandbox Code Playgroud)

但这似乎并没有发生.有人可以解释一下发生了什么吗?另外 - 我怎样才能让浏览器在某个地方的缓存中使用JQuery的副本?

出现这个问题是因为我们希望使用CDN来服务外部库,但也希望能够离线开发页面 - 就像在飞机上一样.

我使用Chrome和Firefox获得了类似的行为.

html5 caching cdn browser-cache offline-caching

7
推荐指数
1
解决办法
2458
查看次数

单击文件上传按钮后延迟?

当我点击“选择要上传的文件”(即输入类型=文件)时,我点击按钮并选择文件到在按钮旁边显示所选文件之间存在延迟。浏览器是否尝试将文件加载到浏览器中?为什么会有延迟。

后续,如何在选择文件后立即显示“请稍候..”消息。我尝试了各种 JQ 选项,似乎所有选项都在初始延迟后触发(正如我所说的,可能是浏览器正在尝试加载不确定的文件)我想用加载器小部件/消息来覆盖延迟。

请帮忙。

javascript jquery browser-cache

7
推荐指数
1
解决办法
4029
查看次数

如何使用浏览器缓存配置ETag

.htaccess通过设置以下方式为静态站点设置了浏览器缓存:

# BROWER CACHING - 1 Day for images
<filesMatch ".(jpg|jpeg|gif|ico)$">
Header set Cache-Control "max-age=86400, public"
</filesMatch>
Run Code Online (Sandbox Code Playgroud)

我对这些具有1天缓存的图像很好,但网站经常更改,因此我不想缓存CSS和JS文件.

我读过ETag,据我所知,它允许你缓存一个文件,但也设置了它的创建日期,所以如果它在下次客户访问网站时得到更新,它将检查创建日期是否匹配.

  1. 我是否正确理解了ETag?
  2. 我该如何配置?我环顾四周,但找不到有关其配置的任何信息.

.htaccess etag caching browser-cache

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

Chrome缓慢加载资源`(来自磁盘缓存)`

我的网站http://www.front-end.io配置HTTP请求以从第一优先级的缓存加载资源.所以我的标题将是:

cache-control:max-age=315360000
ETag:W/"11913b-ks0rwRQM+ijHcl1HDuse3g"
Run Code Online (Sandbox Code Playgroud)

Chrome确实没有向服务器发起任何请求(甚至304),它直接从缓存加载:

在此输入图像描述

我的Windows10 Chrome> 400毫秒从本地磁盘加载js文件.

我的Ubuntu Chromium也需要> 100ms.

但是FireFox只需要大约10毫秒!

我也发现了这个问题,谷歌Chrome从缓存加载图像比下载慢,但没有解释.

有人可以帮忙吗?谢谢.

performance caching google-chrome browser-cache

7
推荐指数
1
解决办法
5380
查看次数

Safari 浏览器不缓存图像,网站是用 Angular 构建的

我有一个使用 Angular 6 构建的站点。我们在 safari 浏览器上缓存图像时遇到问题。

图片在 safari 浏览器上不断下载,即使图片 URL 相同。Chrome 在不下载相同图像的情况下运行良好,但仅在 Safari 浏览器上出现问题。

您能分享一下您遇到此类问题的经验吗?

safari google-chrome image browser-cache angular

7
推荐指数
1
解决办法
707
查看次数

防止页面缓存?

我注意到,当我使用 nginx 部署我的 flutter web 项目时,在执行“flutter build web”之后,如果我不删除缓存,旧文件仍然在我的 chrome 浏览器中。如果我部署更新,是否有办法强制用户自动刷新?

browser-cache flutter flutter-web

7
推荐指数
1
解决办法
3947
查看次数