Domanda

Vorrei servire un contenuto diverso da un singolo URL a seconda che l'utente sia un browser o un lettore RSS (evitando quindi un URL example.com/feed). Pertanto www.example.com/posts restituirà una pagina (X) HTML a un browser e un feed RSS a un lettore di feed.

Qual è il modo più adeguato dal punto di vista architettonico per raggiungere questo obiettivo?

PS Com'è per una domanda su palla morbida ... :)

È stato utile?

Soluzione

Non sono sicuro che sia possibile in tutte le situazioni. Considera un utente che utilizza il lettore RSS di Safari, supponendo che utilizzi la stessa stringa di identificatore del browser durante il download di un feed RSS, come distingueresti le due modalità?

Vorrei davvero riconsiderare questo approccio, non c'è niente di sbagliato in un URL di feed separato.

Altri suggerimenti

Lascia che ti presenti User-Agent header HTTP . Conterrà una stringa identificativa per il client che accede alla tua pagina. Può essere falso ma non puoi essere sicuro al 100% se è un lettore RSS o un browser.

Inoltre, i lettori RSS potrebbero inviare intestazioni Accept per tipi di contenuto rss, che è possibile utilizzare per implementare content negoziazione ( MultiViews in Apache).

Ma poiché non esiste un metodo sicuro, è meglio fallire dal punto di vista della pubblicazione di HTML più spesso di RSS, o meglio ancora, fare come fanno tutti gli altri e fornire un feed diverso per RSS.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top