apache - HTTPS 图片不缓存

标签 apache caching browser-cache

我在网络应用程序上缓存图像时遇到一些问题。刷新后图像会被缓存,但是当我重新打开浏览器时,它不再被缓存。我正在使用 HTTPS,但我不确定这是问题所在。这是服务器的响应:

Response Headers
Accept-Ranges: bytes
Cache-Control: public
Connection: close
Content-Length: 3711
Content-Type: image/png
Date: Mon, 21 May 2012 14:08:46 GMT
ETag: "446b5-e7f-4c0559b8c1c9f"
Expires: Wed, 20 Jun 2012 14:08:46 GMT
Last-Modified: Fri, 18 May 2012 20:43:41 GMT
Server: Apache/2.2.22 (Amazon)

还有我们的 httpd.conf

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:80>
    ServerName [REMOVED]

        RewriteEngine on
        ReWriteCond %{SERVER_PORT} !^443$
        RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>

<VirtualHost *:443>

ServerName [REMOVED]

#Force image type
AddType image/png .png
AddType image/jpeg jpeg jpg jpe
AddType font/x-woff .woff

#Cache
ExpiresActive On
ExpiresDefault A0
<FilesMatch "\.(png|jpg|jpeg|gif)$">
    ExpiresDefault "access plus 1 month"
    Header set Cache-Control "public"
</FilesMatch>

#Logs
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

#SSL
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile [REMOVED]
SSLCertificateKeyFile [REMOVED]
SSLCertificateChainFile [REMOVED]
SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

#Proxy
    DocumentRoot [REMOVED]

    ProxyPreserveHost On
    ProxyRequests Off

    ProxyPass [REMOVED] http://localhost:8081/[REMOVED]
    ProxyPassReverse [REMOVED] http://localhost:8081/[REMOVED]

    ProxyPassReverseCookiePath [REMOVED] /

    Alias [REMOVED] [REMOVED]

</VirtualHost>

有什么线索吗?谢谢!

最佳答案

标题很好。 Cache-Control: public 和 future 的 Expires 应该可以完成这项工作。

这似乎是浏览器决定不永久存储缓存(这种对 HTTPS 数据的偏执是典型的),我认为您对此无能为力。

关于apache - HTTPS 图片不缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10687008/

相关文章:

apache - 在 80 端口上的主机和 docker 容器中运行 apache

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

javascript - 为什么即使禁用缓存,服务器也会忽略代码文件中的更改?

algorithm - 自适应替换缓存算法

html - 使用 HTML5 的 AppCache 访问未缓存的文件?

PHP 7 - 不支持声明 'strict_types'

java - Axis2 Soap WS 客户端 : java. lang.NoClassDefFoundError: org/apache/ws/commons/schema/XmlSchema

apache - 调试 mod_rewrite

android - 如何从 okhttp3 缓存中删除条目

php - session VS 文件 VS Memcache 用于 PHP 中的缓存?