当前位置: 首页 > 知识库问答 >
问题:

Cache-S3中设置的控制键,并出现在响应头中,但图像不缓存

艾自强
2023-03-14

我用以下值在bucket上设置了cache-control键:public,max-age=86400。这显示在响应标头中,但是图像没有被缓存。有200张照片回来了。我使用的是active storage、s3和CloudFront。

Accept-Ranges: bytes
Cache-Control: public, max-age=86400
Content-Disposition: inline; filename="xhbtr_ba6c7e14-cab0-44c2-8701-e48aa75ab3f7_w1200.jpg"; filename*=UTF-8''xhbtr_ba6c7e14-cab0-44c2-8701-e48aa75ab3f7_w1200.jpg
Content-Length: 1444501
Content-Type: image/jpeg
Date: Mon, 14 Sep 2020 15:15:21 GMT
ETag: "18c45e75803b2a82c0a85dc4dde7bba4"
Last-Modified: Mon, 14 Sep 2020 14:00:44 GMT
Server: AmazonS3
x-amz-id-2: /6ynYC2FE4QwOaVJe1uJOBeCsJhfKFzNbMu+X7r0L5pRyax2JoxzJ5qoyO0Sb7dr09yFxZYj5/iE=
x-amz-request-id: 415DC4198F2ED5F1

共有1个答案

郑翰海
2023-03-14
Server: AmazonS3

您正在查询S3。S3没有缓存。(cache-control指令用于客户端,而不是服务器

您可能希望使用Cloudfront作为边缘缓存。Cloudfront松散地遵循用于ege缓存的cache-control指令(取决于您如何配置它)。既然您在问题中提到了Cloudfront,我想您已经设置好了。因此,不要调用S3 URL,而是使用在Cloudfront配置中设置的URL。

 类似资料:
  • 控制器能处理带有'Cache-Control'、'ETag'及/或'If-Modified-Since'头的请求,如果服务端在响应中设置了'Cache-Control'响应头,那么我们推荐在控制器内对这些请求头进行处理。这涉及一些工作:计算最后更改时间long和/或请求的ETag值、与请求头的'If-Modified-Since'值做比较,并且在资源未更改的情况下在响应中返回一个304(资源未更改

  • 在col-2中,我试图将“WHAT”文本置于图像的中心。 当我们调整浏览器的大小时,行的高度会改变,以便col-10中的所有内容都适合。我使用对象拟合:包含来保持图像比例正确。我需要"stack-Txt"div来调整图像的大小,以便文本将保持在图像的中心 或者你知道一个更好的方法来实现这一点? 目前的想法:把什么放在另一个子div,使flex,居中的文本证明内容/对齐项目 这些是css类在某一点上

  • 问题内容: 这是我的代码: 但是,当我从浏览器向服务器发出请求时,出现此错误: 我也尝试过这种方法,在请求之后设置响应头: 没有骰子。我犯了同样的错误。有没有一种方法可以只在route函数中设置响应头?这样的事情将是理想的: 但我还是找不到这样做。请帮忙。 编辑 如果我使用POST请求卷曲URL,如下所示: 我得到这个回应: 有任何想法吗? 问题答案: 你可以很容易地做到这一点: 查看和 但是有些

  • 我已经在一台主机上安装了一个带有NGINX的Ubuntu实例,并将其配置为另一台主机上我的应用程序的转发代理。我的应用程序正在向NGINX发出GET请求,NGINX正在向外部服务器发出另一个GET请求(请求中指定了指向此服务器的URL),并将响应返回给应用程序。NGINX应该缓存来自外部服务器的响应。我需要尊重响应中的缓存控制头(缓存该头所说的响应),但是!当响应中没有缓存控制头时,必须缓存12小

  • 我有一个无服务器API,它与无服务器框架版本1.25一起工作 由于安全原因,我想添加响应头。请帮助我如何通过serverless.yml文件设置下面的标题。出于安全考虑,有必要添加此标题吗? 内容-安全-策略:包括默认-src“自我” •严格的交通安全最大年龄=31536000;包括子域;预载 •X-Content-Type-Options:nosniff •X-XSS-保护:1 •缓存控制:最大

  • 我对编码相当陌生,需要帮助。 我正在创建一个响应式网站,我被标题图像卡住了。在桌面上,它看起来很好。当我使用移动设备时,我喜欢它的大小,但是图像从容器中跳出来,显示了一个水平滚动条。我尝试(overflow-x:隐藏;)它做了隐藏滚动条的工作,但它最终在移动视图中弄乱了图像。 然后我给了图像容器100%的宽度,它完全适合屏幕上没有水平条,但是图像太小了。 我想知道如何让图像保持不变,但适合容器?