php - 尽管有缓存响应标头,但不可变缓存未命中
问题描述
为了掌握 HTTP 缓存,我目前正在尝试制作一个 HTTP 响应,说“一旦你得到它,就永远缓存它”。这是它的样子(PHP):
<?php
header('Cache-Control: max-age=31536000, immutable, only-if-cached');
sleep(2);
echo date('H:i:s');
exit;
不幸的是,Chrome(直接命中时)和 Cloudflare(代理时)都不想从缓存中提供服务。
从源接收的完整响应标头:
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Mon, 30 Mar 2020 16:54:17 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=31536000, immutable, only-if-cached
Content-Encoding: gzip
我究竟做错了什么?
解决方案
推荐阅读
- sql - 用于更改表添加复合主键的批量 SQL 语句
- python - 无法在cmd中下载numpy
- c# - 使用类继承的文档中的重复元素
- java - 拖放在 ChromeDriver 2.45.615291 Selenium 中不起作用
- r - 在 R 中保存密钥对值的最佳数据结构是什么?
- python - 如何在两层多层感知器中更新学习率?
- c++ - 如何修复错误:g++.exe:不能用 -c 或 -S 指定 -o 和多次编译
- r - 选择R中两列的部分字符串匹配的行?
- c# - 无法添加服务器引用:合同需要 Duplex,但绑定“BasicHttpBinding”不支持它或未正确配置以支持它
- javascript - 如何计算存储在 LocalStorage 中的数字的总和?