PHP 或 js 能否在后台实现自动 CTRL+F5 刷新

2017-02-27 16:05:20 +08:00
 peesefoo
网站用了 cdn 服务,要刷新指定链接的缓存,有两种方式,一个是登录他们的后台,输入链接提交刷新;一个是在浏览器中打开页面,然后按 CTRL + F5 来刷新缓存。
这两种方式不管怎么说都要手动,想知道是否可以通过 php 或什么方式自动执行 js 来自动刷新缓存,在发布文章等操作后自动刷新页面缓存。
由于cdn网站登录框使用了验证码,php直接登录后台提交链接的方式不可行。
4276 次点击
所在节点    PHP
31 条回复
jarlyyn
2017-02-27 16:07:36 +08:00
一般不都是链接后面加个时间戳吗?
jarlyyn
2017-02-27 16:08:04 +08:00
如果是要通知 cdn 清缓存。
应该是调用 api
peesefoo
2017-02-27 16:08:59 +08:00
@jarlyyn 加时间戳就直接回源了
peesefoo
2017-02-27 16:09:29 +08:00
并不提供 api
jarlyyn
2017-02-27 16:11:32 +08:00
@peesefoo

我的意思是加更新的时间戳啊,不是说当前的。

我的理解你不就是要能够控制回源吗?
batnss
2017-02-27 16:13:25 +08:00
模拟登入 输入链接 刷 手工版 api
oott123
2017-02-27 16:14:52 +08:00
浏览器按 Ctrl+F5 本质上就是发 HTTP 请求
所以你把那个 HTTP 请求抓出来自己用 php 发就好了
jarlyyn
2017-02-27 16:19:12 +08:00
@peesefoo

如果觉得加时间戳太 low 或者不方便,那加个 md5 hash?
peesefoo
2017-02-27 16:30:40 +08:00
@jarlyyn 目的是通知 cdn ,源站内容已更新,请速来抓取最新内容,替换 cdn 服务器上旧的内容。访客访问到的是缓存在 cdn 上的内容。加时间戳的是不缓存的,失去 cdn 的作用。
humxman
2017-02-27 16:34:53 +08:00
Ctrl+F5 这个是无缓存重新请求, Curl 按标准 http 请求带上有效登录 cookie 就行。
peesefoo
2017-02-27 16:38:33 +08:00
@humxman 这个可以,试试
zi
2017-02-27 16:59:56 +08:00
@peesefoo #9 加修改那一刻的时间戳,而不是实时时间戳,这样 CDN 也就回源一次,实现你想要的效果
yangweijie
2017-02-27 17:00:54 +08:00
location.reload(true)
anyforever
2017-02-27 17:11:53 +08:00
你要更新的是整个页面,还是单个图片或者 JS 文件?
整个页面最好走 CDN 的接口通知更新缓存
单个图片或者 JS ,直接在文件名后变换尾巴就好了。
binux
2017-02-27 17:15:08 +08:00
CTRL-F5 怎么可能能刷新 CDN 缓存?难道每个新用户访问都会导致 CDN 重新缓存吗,那要他何用?
langmoe
2017-02-27 17:16:05 +08:00
等等, ctrl+F5 能把 cdn 的缓存也刷了?那要是有个用户按着 ctrl+F5 不撒手你家 cdn 的缓存功能不直接失效了
jianzhiyao020
2017-02-27 17:31:57 +08:00
可以用 console ?直接执行脚本
Zzzzzzzzz
2017-02-27 17:35:28 +08:00
ctrl+F5
wenzichel
2017-02-27 17:35:46 +08:00
1. 在你修改完上传到 cdn 后,修改页面中引用该静态资源后面的时间戳,只在你修改文件时才改时间戳
2. 将上传的每个静态资源都进行 hash 命名,然后替换页面中的静态资源路径
Zzzzzzzzz
2017-02-27 17:36:13 +08:00
(自动回了, 接上)清的是本地浏览器缓存, 正规点的 CDN 服务应该有 purge 的 API 吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/343559

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX