标签: cache-control

将C/C++变量存储在处理器缓存中而不是系统内存中

在运行Linux的Intel x86平台上,在C/C++中,如何告诉操作系统和硬件在L1/L2缓存中存储值(例如uint32),而不是在系统内存中?例如,假设出于安全性或性能原因,我不想在DRAM中存储32位密钥(32位无符号整数),而是希望仅将其存储在处理器的缓存中.我怎样才能做到这一点?我在Intel Xeon处理器上使用Fedora 16(Linux 3.1和gcc 4.6.2).

非常感谢您的帮助!

c caching cache-control

6
推荐指数
3
解决办法
8382
查看次数

有些东西迫使响应具有缓存控制:IIS7中的私有

我在web.config中有这个:

<system.webServer>
      <httpProtocol>
          <customHeaders>
              <clear />
              <add name="Cache-Control" value="max-age=30,public" />
          </customHeaders>
      </httpProtocol>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

但是当我加载页面时,这是响应头:

Cache-Control: private,max-age=30,public
Run Code Online (Sandbox Code Playgroud)

它是一个ASP.NET MVC应用程序,控制器没有指定任何位置的缓存指令.

iis-7 web-config cache-control http-headers

6
推荐指数
1
解决办法
4117
查看次数

即使使用HTTP无缓存标头,Chrome也会进行缓存

我正在尝试使用配置的HTTP标头提供PHP文件输出,因此不会从Chrome中的缓存提供内容.

如果我转到Dev工具(在Chrome中),并标记"禁用缓存"选项,那么它可以工作.

但我不想依赖于此,我希望我可以设置HTTP标头,以便我可以强制Chrome每次重新加载页面.

这是我目前尝试的截图,请注意红色标记.

HTTP标头

您能否提供好的文件或我必须为此声明的标题?

提前致谢.

编辑

所以我也发现了另一个回复:Chrome缓存就像一个疯狂的浏览器,但由于我记得被告知Chrome需要特殊的标题Cache-Control,我会保留这个问题.

google-chrome cache-control browser-cache

6
推荐指数
1
解决办法
7624
查看次数

如果源站 Web 服务器将响应标头中的 expires 值设置为相对较早之前经过的时间,会发生什么情况?

如果源站 Web 服务器将响应标头中的 expires 值设置为相对较久以前传递的时间,会发生什么情况。

例如,考虑当前时间是格林威治标准时间 2013 年 1 月 25 日星期五,并且过期标头设置为 -->

到期:1994 年 12 月 1 日星期四 16:00:00 GMT

客户端将如何响应上述实例?

任何帮助,将不胜感激

caching http cache-control browser-cache http-headers

6
推荐指数
1
解决办法
7369
查看次数

Meta和.htaccess中的缓存控制优化

我们想要为我们的网站学习和优化缓存,我们有以下代码.

在meta中,我们有:

对于第1-10页,

    <meta http-equiv="Cache-control" content="max-age=2592000, public">
Run Code Online (Sandbox Code Playgroud)

对于第11-20页,

    <meta http-equiv="Cache-control" content="max-age=604800, private">
Run Code Online (Sandbox Code Playgroud)

对于第21-25页,

    <meta http-equiv="Cache-control" content="max-age=3600, private">
Run Code Online (Sandbox Code Playgroud)

对于第26-28页,

    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="expires" content="0" />
Run Code Online (Sandbox Code Playgroud)

在.htaccess文件中:

#### Expires By Type
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 60 seconds"
    ExpiresByType image/x-icon "access plus 29030400 seconds"
    ExpiresByType image/jpeg "access plus 29030400 seconds"
    ExpiresByType image/jpg "access plus 29030400 seconds"
    ExpiresByType image/png "access plus 29030400 seconds"
    ExpiresByType image/gif "access plus 29030400 seconds"
    ExpiresByType application/x-shockwave-flash "access plus 29030400 seconds"
    ExpiresByType text/css "access plus …
Run Code Online (Sandbox Code Playgroud)

.htaccess caching cache-control browser-cache meta-tags

6
推荐指数
0
解决办法
7751
查看次数

Etag和Expires标头有什么区别?

我知道这个问题有好几次了.但我仍然不清楚这个概念.在SO中阅读了很多博客和答案后,我得到的是,

Expiry headers are used when you don’t even want client (and proxies/caches) to make a request to  
the server. In ETAG, the client will check with the server for the update, but in expiry 
headers, the client will know, when to expire the file and check for an update, till then it
(browsers and proxies/caches) won’t bother server for checking the update.
Run Code Online (Sandbox Code Playgroud)

所以基本上它说如果我们使用expires/max-age标头,它甚至不会检查服务器是否有更新的文件.所以我想在本地进行测试.

所以我创建了简单的html文件,包括2个js文件和1个图像文件.在IIS中,我已将图像文件夹的Expires标头设置为2天.因此,根据我的理解,在从服务器获取图像文件一次后,对于下一个请求,它不应该向服务器发送请求以检查图像文件是否被修改.

但我得到的是每次刷新页面时,我看到发送到服务器的请求,服务器返回304 not modified状态.但根据我阅读的规格/博客它不应该向服务器发送请求.

有人请解释一下.

在此输入图像描述

etag http cache-control http-caching browser-cache

6
推荐指数
1
解决办法
1640
查看次数

用于 webp 图像的 htaccess 缓存控制

这是我的 htaccess 缓存控制策略:

<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico)$"> Header set Cache-Control "max-age=31536000" </FilesMatch>

<FilesMatch "\.(js|css|pdf|swf)$"> Header set Cache-Control "max-age=31536000" </FilesMatch>

<FilesMatch "\.(html|htm|txt)$"> Header set Cache-Control "max-age=600" </FilesMatch>

<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> 

<FilesMatch "\.(eot|otf|ttf|woff|woff2|svg)$"> Header set Cache-Control "max-age=31536000" </FilesMatch>
Run Code Online (Sandbox Code Playgroud)

现在,对于 webp 图像是否可以设置缓存控制指令?

非常感谢

.htaccess cache-control webp

6
推荐指数
1
解决办法
1560
查看次数

Cache-Control的优先级:max-age和ETag

我使用AWS S3存储桶保存图像文件.我max-age=315360000为每个文件添加一个元数据.

图像文件的响应头如下.在标题中,Cache-Control:max-age = 315360000和etag都已设置.

Cache-Control:max-age=315360000
Date:Thu, 15 Sep 2016 11:03:31 GMT
ETag:"326ae27d85f6d847f819e19955c0f0aa"
Last-Modified:Tue, 06 Sep 2016 03:23:26 GMT
Server:AmazonS3
x-amz-id-2:O/kt/JoZ/hmxSXUWGvkVLudMs6H4MDk8vgS2hIuZvAgGKMdYJsqSiqx/PnpT5AGsJ6FH8O3MGb4=
x-amz-request-id:9289AFE7D3BACB96
x-amz-version-id:P7bZwWZ9PO4I__ZHzwk5tXeiaU6QLSWJ
Run Code Online (Sandbox Code Playgroud)

问题1:哪一个控制缓存的优先级更高?

如果Cache-Control:max-age=315360000具有更高的吸引力,则应该是下一个请求的响应200 from cache.如果ETag具有更高的吸引力,则应该是下一个请求的响应304.

我在Mac chrome(版本53.0.2785.89(64位))上进行测试.我得到一个奇怪的行为.

  • 测试1 - 访问图像URL到浏览器.回应是304.
  • 测试2 - 访问包含图像元素的html文件以引用图像.回应是200 from cache

我使用chrome dev工具将这两个请求复制为curl命令行.

Test 1 curl command lines

curl 'http://s3.cn-north-1.amazonaws.com.cn/xxxx/xxxx.jpg' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.89 Safari/537.36' -H 'Referer: http://pano.shejijia.com/?locale=zh-CN&data=http%3A%2F%2Fjuran-prod-contents.s3.cn-north-1.amazonaws.com.cn%2FAsset%2Fpanos%2F9b57a2b1-0ff7-4c79-ad3d-3343d95f2ad9%2F2702d299-c269-442f-804b-49d94296454e.json&mode=navipano&designId=9b57a2b1-0ff7-4c79-ad3d-3343d95f2ad9' -H 'Origin: http://pano.shejijia.com' …
Run Code Online (Sandbox Code Playgroud)

cache-control browser-cache

6
推荐指数
0
解决办法
583
查看次数

Ionic - 在浏览器缓存中强制缓存图像

出于性能原因,将某些图像缓存在我的应用程序的浏览器缓存中非常重要。仅仅将它们存储在文件系统中是不够的,因为这太慢了。

不幸的是,这些图像是从具有Cache-control我无法控制的响应标头的远程源获取的,并且不利于我的目的。

我的问题:

  1. 有没有办法告诉浏览器强制缓存这些图像,并理想地控制图像的过期时间?
  2. 有没有办法覆盖缓存控制标头?我读到 javascript 是不可能的,但也许离子框架中有一个技巧?

该应用程序是用 ionic 编写的,仅适用于 android,因此理论上我应该能够控制浏览器设置。

cache-control cordova ionic-framework angular

6
推荐指数
0
解决办法
354
查看次数

Angular Service Worker和index.html缓存

尽管有类似的帖子,但是如果index.html应该使用Cache-Control标头来缓存,我找不到明确的答案。

纠正我,如果我错了,但现在我回来Cache-Control: no-storeindex.html,以避免散失配误差进入降级模式哪支部队服务工作人员。

我认为,如果index.html已将Cache-Control: max-age=3600其缓存在CDN服务器上,并且该应用程序将在缓存过期之前进行更新,ngsw.json则与脚本文件相比,该文件将返回不同的文件哈希值,其中包含的index.html坏消息将会发生。对?

另外,为了清楚起见,我注意到有些人添加index.htmlngsw-config.json,这也没有意义,因为它index.html是在服务工作者之前加载的。

caching cache-control service-worker angular angular-service-worker

6
推荐指数
1
解决办法
397
查看次数