• KrystalJake
    2019-06-19
    老师可否详细解释一下最后这个例子,now1,now2,now3,还有初试age,age的计算,感觉和给的公式哪个都对不上,比较胡乱的一个计算,谢谢🙏

    作者回复: 很好的问题,我这里做了很多简化,应该在PPT上加个注释比较好:-)
    1、now是响应2发出时的当前时间,因此请求2的Age=response_time1-date1+now-response_time1=now-date1。这个你应该没有问题。
    2、now2是代理接收到响应2的时间,也就是response_time2,
    故Age=now-date1+response_time2-request_time2+now2-response_time2=now-date1-request_time2+now2,
    这里我把now替换为response_time2,故
    Age=response_time2-date1-request_time2+now2,我又把它整理为now2-date1+response_time2-request_time2,是为了方便大家理解,now2-date1才是最关键的,因为response_delay可能只是一个极小值。
    3、now3是响应3发出的时间,此时重复第2步,把response_time2改成now3即可。

    
     1
  • 一步
    2019-06-07
    对于代理服务器的初始 Age ,怎么一会用 response_time -date1,一会用 now-date1 的?
    对于Current-age 计算这一块,看了2遍没有看懂怎算的,麻烦老师在讲解一下的

    作者回复: 有个前提:now2=response_time2。
    1、now是响应2发出时的当前时间,因此请求2的Age=response_time1-date1+now-response_time1=now-date1。
    2、now2是代理接收到响应2的时间,也就是response_time2,
    故Age=now-date1+response_time2-request_time2+now2-response_time2=now-date1-request_time2+now2,
    这里我把now替换为response_time2,故
    Age=response_time2-date1-request_time2+now2,我又把它整理为now2-date1+response_time2-request_time2,是为了方便大家理解,now2-date1才是最关键的,因为response_delay可能只是一个极小值。
    3、now3是响应3发出的时间,此时重复第2步,把response_time2改成now3即可。

    
     1
  • 子杨
    2020-02-10
    老师,为啥要把 now 替换成 response_time2 啊,这样反而造成难以理解了。
    我理解上,正向代理服务器的初始 Age=now-date1+now2-response_time2+response_time2-request_time2
    发出响应时的 Age=now-date1+now2-response_time2+response_time2-request_time2+now3-now2
    这样分开来看反而更容易理解
    
    
  • 洛河
    2019-08-30
    老师,您好:
        在 代理服务器缓存中的age头部 这个模块
        请求3部分 age值的计算中:怎么获取date1的?

    作者回复: 你是说响应3么?它实际计算时不会用到date1,而是用它收到时的Age来计算 。我特意对照出源服务器中的date1,只是为了说明:Age决定性的数值是从源服务生成响应那个时间算起。

    
    
  • 无名
    2019-08-20
    预估过期时间 = (DownloadTime - LastModified) * 10%
    resident_time = now - response_time(接收到响应的时间)
    DownloadTime和response_time是同一个值吗?

    作者回复: 是的。参见RFC文档:“If the response has a Last-Modified header field, caches are encouraged to use a heuristic expiration value that is no more than some fraction of the interval since that time.
       A typical setting of this fraction might be 10%.”

    
    
  • 无名
    2019-08-18
    chrome浏览器怎么查看默认的缓存大小?缓存是否又分为内存缓存和磁盘缓存?

    作者回复: google把查看chrome缓存的命令从最新版本移除了。你可以在65老版本之前的chrome浏览器上用chrome://cache或者chrome://view-http-cache查看缓存大小。是的。

    
    
  • magicnum
    2019-06-12
    老师第二个代理服务器的初始age可以用基于date计算age:response_time2-date1吧?您文稿中用的是相对age计算的

    作者回复: 不可以,因为发出响应2时,还没有response_time2这个时间,因为只有接收到响应才有response_time2这个概念。

    
    
  • 一步
    2019-06-07
    计算age的时候为什么要加上一个 delay的值呢? 当前时间减去源服务器资源响应的时间不就是 资源创建的时间了吗?

    作者回复: 防止网络中发送大包体耗时过长,宁可cache用不了,也不能让本该过期的cache还能使用

    
    
我们在线,来聊聊吧