フィードリーダーがページにアクセスしていることを検出する方法は?
-
08-07-2019 - |
質問
ユーザーがブラウザであるかRSSリーダーであるかに応じて、単一のURLから異なるコンテンツを提供したい(したがって、example.com / feed URLを避ける)。したがって、www.example.com / postsは(X)HTMLページをブラウザーに返し、RSSフィードをフィードリーダーに返します。
これを達成するためのアーキテクチャ上最も適切な方法は何ですか?
PSソフトボールの質問はどうですか...:)
解決
すべての状況でそれが可能かどうかはわかりません。 SafariのRSSリーダーを使用するユーザーを考えてみましょう。RSSフィードをダウンロードするときに同じブラウザー識別子文字列を使用すると仮定すると、2つのモードを区別するにはどうすればよいですか
このアプローチを本当に考え直したいのですが、個別のフィードURLに問題はありません。
他のヒント
User-Agent HTTPヘッダーを紹介します。ページにアクセスするクライアントの識別文字列が含まれます。偽装することはできますが、RSSリーダーかブラウザかを100%確信することはできません。
さらに、RSSリーダーはrss content-typesのAcceptヘッダーを送信する場合があり、これを使用して contentを実装できますネゴシエーション( Apacheのマルチビュー)。
ただし、確実な解決方法はないため、RSSよりも頻繁にHTMLを提供する側で失敗する方がいいでしょう。
所属していません StackOverflow