代码之家  ›  专栏  ›  技术社区  ›  AlexV

PHP中的内容协商和HTTP头

  •  0
  • AlexV  · 技术社区  · 15 年前

    以下是我昨天的问题: What is the function of the "Vary: Accept" HTTP header?

    我有一个.php,可以与不同的mime类型一起使用。为此,我使用“vary:accept”HTTP头(确认正确)。但是,如果相同的文档(具有相同的URL)可以用多种语言提供服务(并且此页面可以由代理缓存),会怎么样?我知道这是个糟糕的设计,但有时会发生。在那个特定的情况下,该怎么做呢?

    J.J.给出了一个链接( http://www.w3.org/Protocols/HTTP/Issues/vary-header.html )在讨论中,有人希望使用不同的HTTP头来处理可以用两种不同语言提供服务的文档:

    对于请求/变体方案,您 列出了不应使用的服务器 很抱歉大喊大叫,但我想要。 说清楚一点。变化:是严格的 对于那些没有希望或 对于代理来说过于复杂 复制服务器将要执行的操作 (除了存储头和执行 严格的请求头相等 后续请求的比较)。

    我认为解决方案在于j.j提供的链接,但我不确定它是什么以及如何在PHP中实现它。

    谢谢你的灯光!

    1 回复  |  直到 15 年前
        1
  •  0
  •   docwhat    15 年前

    我认为,如果您通过同一个URL提供多种语言,而没有 GET POST 值仅基于 Accept-Language 标题,然后你必须使用 Vary .

    如果您正在使用 得到 参数,那么您不需要vary,只要正确设置缓存头。

    如果要使用相同的文档,但可以更改URL,则可以使用 PATH_INFO 环境变量模拟其他URL,但使用同一文档。

    只有当您有不同的URL时,他的URI头方案才有效。