V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dedmon
V2EX  ›  程序员

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

  •  
  •   dedmon ·
    daoyi7 · 2017-07-13 10:40:03 +08:00 · 4675 次点击
    这是一个创建于 2691 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    这个缓存机制是怎样的?

    竟然还能发贴!

    26 条回复    2017-07-14 13:21:23 +08:00
    gesse
        1
    gesse  
       2017-07-13 11:04:00 +08:00
    我觉得应该不至于吧?
    dedmon
        2
    dedmon  
    OP
       2017-07-13 11:10:40 +08:00
    @gesse 我觉得这缓存时间很长-。-
    hawklim
        3
    hawklim  
       2017-07-13 12:34:09 +08:00
    浏览器缓存吧
    xAx
        4
    xAx  
       2017-07-13 12:54:42 +08:00
    楼上两位对缓存的理解已突破天际
    Reign
        5
    Reign  
       2017-07-13 12:58:12 +08:00   ❤️ 6
    这种缓存,已经超过常规的缓存机制了,是平行宇宙的缓存,我们把他叫做薛定谔的缓存( Erwin Schrödinger's Cache ),我编不下去了
    Shura
        6
    Shura  
       2017-07-13 13:00:56 +08:00 via Android
    请具体描述一下怎么断网的。我感觉是你的 http 请求被强制 302 了,但是 https 没事。否则你描述的情况不可能成立。下次这样,你可以试试看 https://www.baidu.com 能不能打开。
    paw
        7
    paw  
       2017-07-13 13:01:08 +08:00
    可能只是 DNS 服务器宕了,能访问 V2 是因为 DNS 解析还没失效.......
    lepig
        8
    lepig  
       2017-07-13 13:01:35 +08:00
    @Reign 666666666
    ditel
        9
    ditel  
       2017-07-13 13:02:21 +08:00 via Android
    dns 坏了吧,恰巧 v 站的 dns 没影响
    Mutoo
        10
    Mutoo  
       2017-07-13 13:03:55 +08:00
    tlday
        11
    tlday  
       2017-07-13 13:04:20 +08:00 via Android
    我不知道 V 站的缓存机制,但是你说的这些,现在可以通过 ServiceWorker 实现。详见 PWA。
    tlday
        12
    tlday  
       2017-07-13 13:05:57 +08:00 via Android
    @Mutoo 你的这个下面有个 This technology is being deprecated in favor of Service Workers。
    gnemux
        13
    gnemux  
       2017-07-13 13:11:43 +08:00   ❤️ 14
    @Reign 楼主应该是使用的浏览器都自带了 HTTP-PUC(Parallel-Universe-Cache) 平行宇宙缓存支持功能。您只需要确保每个服务器响应都提供正确的 HTTP 标头指令(注意: 需要带上本宇宙编号及备用平行宇宙编号),以指示浏览器何时可以缓存响应、从哪个时空加载缓存以及可以缓存多久。
    楼上提到的 ESC(Erwin-Schrödinger's-Cache)只是其实一种实现方式,目前使用比较广泛。当服务器返回响应时,还会发出一组 HTTP 标头,用于描述响应的内容类型、长度、缓存指令、验证令牌等。例如,服务器返回一个 1024 字节的响应,指示客户端将其缓存最多 120 秒,并提供一个验证令牌(“ x234dff-Terra0012-Terra0015 ”),可在响应过期后用来检查资源是否被修改(注:这里的 Terra0917 就是本宇宙的编号,Terra0015 即备用平行宇宙编号)。由于量子不确定性,这种缓存方式不一定每次都能生效,生效后也可能加载到不符合期望的内容,因此该缓存机制只作为 HTTP 传统缓存的一种补充,用以提升用户的使用体验。
    sunsulei
        14
    sunsulei  
       2017-07-13 13:52:49 +08:00
    夭寿了.平行宇宙都来了,你们穿来穿去的,有本事别出 BUG 啊...
    hzcxdgioa
        15
    hzcxdgioa  
       2017-07-13 14:19:41 +08:00
    完全成玄学了
    dedmon
        16
    dedmon  
    OP
       2017-07-13 14:33:20 +08:00
    @Shura 断网就是没有网了 当时出了 v 站其他都打不开 顿时就觉得很厉害了
    zhifeng
        17
    zhifeng  
       2017-07-13 15:43:32 +08:00
    这个兄弟是平行宇宙发过来的吧,大家查水表肯定查不到这个人
    Hypn0s
        18
    Hypn0s  
       2017-07-13 16:24:09 +08:00
    @gnemux 最近因为项目原因在研究浏览器缓存,准备上 ESC 试试,就是文献资料有点少。
    huobazi
        19
    huobazi  
       2017-07-13 16:27:05 +08:00 via iPhone
    读书少的我一脸懵逼呀
    b821025551b
        20
    b821025551b  
       2017-07-13 16:29:49 +08:00
    @Hypn0s #18 2333333 收到资料了么?求共享一份。
    chanssl
        21
    chanssl  
       2017-07-13 18:18:24 +08:00
    我试了一下断网(禁用网卡),然后直接就废了啊
    Dvel
        22
    Dvel  
       2017-07-13 18:47:05 +08:00
    @Hypn0s #18 23333333 所有的文献资料都在这里了
    SingeeKing
        23
    SingeeKing  
       2017-07-13 19:11:04 +08:00
    @Hypn0s 找到资料了请 At 我共享😂
    mytsing520
        24
    mytsing520  
       2017-07-13 19:32:45 +08:00
    乱猜没用,让 @Livid 大佬来解答下的比较好
    WheatField
        25
    WheatField  
       2017-07-14 03:43:45 +08:00 via iPhone
    应该没断网吧,可能是你糊涂了
    orderc
        26
    orderc  
       2017-07-14 13:21:23 +08:00
    有鬼
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2873 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:17 · PVG 17:17 · LAX 01:17 · JFK 04:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.