我想根据用户是浏览器还是 RSS 阅读器(因此避免使用 example.com/feed URL)从单个 URL 提供不同的内容。因此,www.example.com/posts 将向浏览器返回 (X)HTML 页面,向提要阅读器返回 RSS 提要。
实现这一点的架构上最合适的方式是什么?
PS 垒球问题怎么样... :)
我想根据用户是浏览器还是 RSS 阅读器(因此避免使用 example.com/feed URL)从单个 URL 提供不同的内容。因此,www.example.com/posts 将向浏览器返回 (X)HTML 页面,向提要阅读器返回 RSS 提要。
实现这一点的架构上最合适的方式是什么?
PS 垒球问题怎么样... :)
我不确定在所有情况下都有可能。考虑一个使用 Safari 的 RSS 阅读器的用户,假设它在下载 RSS 提要时使用相同的浏览器标识符字符串,您如何区分这两种模式?
我真的会重新考虑这种方法,单独的提要 URL 没有任何问题。
让我向您介绍一下 User-Agent HTTP 标头。它将包含一个用于访问您页面的客户端的标识字符串。它可以被伪造,但您不能 100% 确定它是 RSS 阅读器还是浏览器。
此外,RSS 阅读器可能会发送 RSS 内容类型的 Accept 标头,您可以使用它来实现内容协商( Apache 中的MultiViews)。
但是由于没有确定的方法,您最好在提供 HTML 方面比 RSS 更频繁地失败,或者更好的是,像其他人一样为 RSS 提供不同的提要。