【问题标题】:How to detect that a feed reader accesses my page?如何检测提要阅读器访问我的页面?
【发布时间】:2008-11-19 16:52:22
【问题描述】:

我想根据用户是浏览器还是 RSS 阅读器从单个 URL 提供不同的内容(因此避免使用 example.com/feed URL)。因此 www.example.com/posts 将向浏览器返回一个 (X)HTML 页面,向提要阅读器返回一个 RSS 提要。

在架构上最合适的方法是什么?

PS 垒球问题怎么样... :)

【问题讨论】:

    标签: rss web-applications feed user-agent


    【解决方案1】:

    我不确定这是否适用于所有情况。考虑一个使用 Safari 的 RSS 阅读器的用户,假设它在下载 RSS 提要时使用相同的浏览器标识符字符串,你会如何区分这两种模式?

    我真的会重新考虑这种方法,单独的提要 URL 没有任何问题。

    【讨论】:

      【解决方案2】:

      让我向您介绍用户代理HTTP header。它将包含一个用于访问您页面的客户端的标识字符串。它可以被伪造,但您不能 100% 确定它是 RSS 阅读器还是浏览器。

      此外,RSS 阅读器可能会发送 RSS 内容类型的 Accept 标头,您可以使用它来实现 content negotiation(在 Apache 中为 MultiViews)。

      但由于没有万无一失的方法,您最好在提供 HTML 方面比 RSS 更频繁地失败,或者更好的是,像其他人一样为 RSS 提供不同的提要。

      【讨论】:

        猜你喜欢
        • 2012-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-26
        • 2011-01-27
        • 2011-11-09
        • 2015-10-03
        相关资源
        最近更新 更多