acm-header
登录

ACM通信

数字村

负责任的Web缓存







绝大多数IT专业人士宁愿咬牙切齿也不愿翻阅有关Web缓存的文献。


HTTP 1.1对Web缓存的处理要复杂得多。增加了相当大的灵活性,可以在“新鲜”和“过时”文档之间进行更细粒度的区分,包括使用启发式而不是服务器提供的文件时间和日期戳比较。包含了一个验证模型,它向缓存的文档添加了一个“验证器令牌”。使用驻留缓存的验证器,只需在原始服务器上运行验证器,代理缓存就可以确认文档货币。货币由响应状态代码报告。事实上,有两种类型的验证器,相应的,也有两种程度的验证:强验证和弱验证,这取决于需要的“新鲜度”。但是到目前为止,HTTP 1.1处理缓存的最重要的区别是增加了缓存控制报头字段。

缓存控制报头字段之间的思想是为缓存提供一种通用机制,以便与其他计算机进行高效和有效的通信。不应忽视的一点是,根据设计,缓存控制报头字段提供的指令集中于调节缓存食物链上的请求和响应。头文件的一般结构是:

Cache-control:指令
(可选参数)

指令由与请求和响应方面相关的关键字组成。由于缓存控制中更有争议的方面涉及响应,我们将相应地限制我们的讨论:

  • Cache-control = "public"
    这意味着可以不受限制地存储来自该服务器的响应。
  • Cache-control = "max-age = 43,200"
    这意味着该响应中包含的文档在43,200秒(约为43,200秒)后将被视为“过期”。30天)。
  • Cache-control = "必须重新验证"
    这意味着缓存服务(代理或浏览器)必须在文档从原始服务器变为“过期”后重新验证文档,或者报告错误消息。它不能将“陈旧”的版本传递出去。

你懂的。现在,让人担忧的指令:


    • 缓存操作员是否拥有被访问的资源/文档?
    • 此资源/文档是否受版权保护,如果是的话,后续再分发许可的性质是什么?
    • 本文档是否有一个“最终”版本(已出版和受版权保护的版本)?如果有,它位于哪里?
    • 缓存的文档是否有数字对象标识符?如果有,是什么?
    • 所有者/版权所有者是否限制了此资源/文档的使用(例如,用于课堂使用,用于非营利公司使用,用于商业目的以外的用途)?
    • 在Web上放置任何东西之前,期望所有者/作者自己熟悉缓存控制指令的细微差别是现实的吗?
    • 是否应该期望所有者/作者定义考虑所有可能影响的缓存参数(例如,典型的作者会将“无缓存”解释为“不重新验证就不缓存”)?
    • 当资源/文档可以通过放在Web上而退出公共流通时,所有者/作者是否放弃了控制权?(一旦文档被缓存,就没有简单而直接的方法从Web上撤回所有缓存副本。)
    • 所有者/作者是否有权维护关于其创建的资源的准确使用统计数据和日志?(这些统计数据更难以从缓存中收集,需要额外的工作,可能(就像嵌入式Web错误的成本一样)有隐私影响,给所有者/作者/信息提供者带来明确的成本,并且需要缓存维护者的普遍合作才能工作。由于这些原因,缓存计量没有流行起来。
    • 所有者/作者是否有责任确保版本控制机制到位,以防止过时的版本通过缓存服务传播?
    • 所有者/作者是否有责任持续监视每个代理缓存操作,并在每次在某个缓存中发现他或她的一些知识产权时发出“删除”通知?
    • Web文档/资源的所有者/作者是否有权获得合理的版税或利润分成,以获得承载其工作的下游Web缓存服务?

    我预测这些问题的答案将决定一个人对代理缓存服务目标的认同程度。遗憾的是,似乎很少有人会去问这些问题,更不用说去寻找可行的答案了。





    • 关于Web缓存的一般信息,包括最近的新闻,可以在Internet缓存资源中心网站上找到;www.caching.com。
    • ICP规范可在icp.ircache.net上找到。
    • 国际Web内容缓存和分发研讨会自1996年起每年举办一次。项目信息和程序可以在www.iwcw.org上找到。这些研讨会的重点是技术,没有证据表明对潜在的道德问题给予了太多关注。
    • Duane Wessel的Web缓存可以在www.web-cache.com上找到。据我所知,Wessels撰写了关于Web缓存的最完整的参考书籍(O’reilly, 2001)。他还参与编写了RFC版本2的互联网缓存协议规范。Wessels在他的书和网站中都对Web缓存的道德和隐私问题做了口头上的阐述。
    • 许多适用于各种Unix和Windows NT/2000/XP服务器的缓存程序是可用的,包括:
      • 开源鱿鱼
        Web代理缓存(www.squid-cache.org);
      • Netscape的代理服务器(wp.netscape.com/proxy/v3.5/);
      • 微软的高速缓存软件内置在他们的互联网安全和加速服务器产品中(见www.microsoft.com/isaserver);而且
      • CiscoCache引擎系列(www.cisco.com/ warp/public/cc/pd/cxsr/500/index.shtml)
    • ACM的版权策略请参见www.acm.org/ pubs/copyright_policy。
    • 数字对象标识符的描述见www.doi.org。




    没有找到条目

    Baidu
    map