V 站的缓存机制是怎样的?

2017-07-13 10:40:03 +08:00
 dedmon

我正在刷 V 站,公司突然断网了。但是 V 站上面的所有贴子和个人空间都可以打开。

不过图片和跳转出去的外链是打不开的。

这个缓存机制是怎样的?

竟然还能发贴!

4663 次点击
所在节点    程序员
26 条回复
gesse
2017-07-13 11:04:00 +08:00
我觉得应该不至于吧?
dedmon
2017-07-13 11:10:40 +08:00
@gesse 我觉得这缓存时间很长-。-
hawklim
2017-07-13 12:34:09 +08:00
浏览器缓存吧
xAx
2017-07-13 12:54:42 +08:00
楼上两位对缓存的理解已突破天际
Reign
2017-07-13 12:58:12 +08:00
这种缓存,已经超过常规的缓存机制了,是平行宇宙的缓存,我们把他叫做薛定谔的缓存( Erwin Schrödinger's Cache ),我编不下去了
Shura
2017-07-13 13:00:56 +08:00
请具体描述一下怎么断网的。我感觉是你的 http 请求被强制 302 了,但是 https 没事。否则你描述的情况不可能成立。下次这样,你可以试试看 https://www.baidu.com 能不能打开。
paw
2017-07-13 13:01:08 +08:00
可能只是 DNS 服务器宕了,能访问 V2 是因为 DNS 解析还没失效.......
lepig
2017-07-13 13:01:35 +08:00
@Reign 666666666
ditel
2017-07-13 13:02:21 +08:00
dns 坏了吧,恰巧 v 站的 dns 没影响
Mutoo
2017-07-13 13:03:55 +08:00
tlday
2017-07-13 13:04:20 +08:00
我不知道 V 站的缓存机制,但是你说的这些,现在可以通过 ServiceWorker 实现。详见 PWA。
tlday
2017-07-13 13:05:57 +08:00
@Mutoo 你的这个下面有个 This technology is being deprecated in favor of Service Workers。
gnemux
2017-07-13 13:11:43 +08:00
@Reign 楼主应该是使用的浏览器都自带了 HTTP-PUC(Parallel-Universe-Cache) 平行宇宙缓存支持功能。您只需要确保每个服务器响应都提供正确的 HTTP 标头指令(注意: 需要带上本宇宙编号及备用平行宇宙编号),以指示浏览器何时可以缓存响应、从哪个时空加载缓存以及可以缓存多久。
楼上提到的 ESC(Erwin-Schrödinger's-Cache)只是其实一种实现方式,目前使用比较广泛。当服务器返回响应时,还会发出一组 HTTP 标头,用于描述响应的内容类型、长度、缓存指令、验证令牌等。例如,服务器返回一个 1024 字节的响应,指示客户端将其缓存最多 120 秒,并提供一个验证令牌(“ x234dff-Terra0012-Terra0015 ”),可在响应过期后用来检查资源是否被修改(注:这里的 Terra0917 就是本宇宙的编号,Terra0015 即备用平行宇宙编号)。由于量子不确定性,这种缓存方式不一定每次都能生效,生效后也可能加载到不符合期望的内容,因此该缓存机制只作为 HTTP 传统缓存的一种补充,用以提升用户的使用体验。
sunsulei
2017-07-13 13:52:49 +08:00
夭寿了.平行宇宙都来了,你们穿来穿去的,有本事别出 BUG 啊...
hzcxdgioa
2017-07-13 14:19:41 +08:00
完全成玄学了
dedmon
2017-07-13 14:33:20 +08:00
@Shura 断网就是没有网了 当时出了 v 站其他都打不开 顿时就觉得很厉害了
zhifeng
2017-07-13 15:43:32 +08:00
这个兄弟是平行宇宙发过来的吧,大家查水表肯定查不到这个人
Hypn0s
2017-07-13 16:24:09 +08:00
@gnemux 最近因为项目原因在研究浏览器缓存,准备上 ESC 试试,就是文献资料有点少。
huobazi
2017-07-13 16:27:05 +08:00
读书少的我一脸懵逼呀
b821025551b
2017-07-13 16:29:49 +08:00
@Hypn0s #18 2333333 收到资料了么?求共享一份。

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

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

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

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

© 2021 V2EX