请问有人用过腾讯云的 cos 吗,我这边做了个图片上传,最终是转发到腾讯 cos 的。想问一下为什么 https 和 http 获取到的资源不一样?

2019-12-12 11:41:43 +08:00
 devwolf
[问题描述] :用 cosbrowser 打开存储桶,对公有读私有写的图片点复制链接是可以获取外链的。<br/>
这里想请教一下为什么 https 获取到的资源和 http 获取到的不同呢。<br/>
比如 https://ggtg-10067852.cos.ap-shanghai.myqcloud.com/acghometest/comicCover/0000000003.jpg
http://ggtg-10067852.cos.ap-shanghai.myqcloud.com/acghometest/comicCover/0000000003.jpg
1369 次点击
所在节点    问与答
4 条回复
devwolf
2019-12-12 13:19:36 +08:00
看文档中心有这段描述
devwolf
2019-12-12 13:21:19 +08:00
"静态网站
开启了静态网站功能,但是仍无法显示图片?
请检查是否有浏览器、CDN 缓存。可以通过 curl、wget 命令来避免浏览器缓存。若使用 CDN 域名访问,可以在 CDN 控制台 进行缓存刷新操作"
--可能是这方面的原因
devwolf
2019-12-13 08:09:48 +08:00
emmm......果然腾讯家产品还是问腾讯家社区好被回答一点,虽然也可能因为那儿的描述更详尽一点。这是在云+社区的提问 https://cloud.tencent.com/developer/ask/230601
有人回答“这个情况是因为浏览器的缓存哈,你可以 F12 看看,是不是此时请求提示的 200 是 from disk cache”
然后查了一下,这好像是浏览器策略的问题(这也是为啥切换浏览器后没问题了)。
搬用 https://blog.csdn.net/garrettzxd/article/details/80684880 里的话:
在 Firefox 下并没有 from memory cache 以及 from disk cache 的状态展现,
相同的资源在 chrome 下是 from disk/memory cache,但是 Firefox 统统是 304 状态码,
即 Firefox 下会缓存资源,但是每次都会请求服务器对比当前缓存是否更改,chrome 不请求服务器,直接拿过来用。
逼乎也有篇相关的文章 https://www.zhihu.com/question/64201378?sort=created
具体解决法子待我抽空看看有啥能修改谷歌策略的 orz,大概是改响应头?
devwolf
2019-12-17 17:09:51 +08:00
今天遇到个别的问题,也和谷歌的策略有关,一直报错。
The 'Access-Control-Allow-Origin' header has a value that is not equal to the supplied origin
查到最后大腿一拍,这不是“Code 200 OK (from disk cache)”吗,意思是'Access-Control-Allow-Origin'甚至也是缓存的值,而不是本地项目的 localhost 啥啥。
====总之,解决法子我是这样的,axios.get(url,{headers: {'Cache-Control': 'no-cache'}})
也就是禁用这个缓存

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

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

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

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

© 2021 V2EX