Assicurati di leggere la risposta di SilverlightFox. Evidenzia un motivo più importante.
Il motivo è principalmente che se conosci l'origine di una richiesta potresti volerla personalizzare un po '.
Ad esempio, supponiamo che tu abbia un sito Web che ha molte ricette. E usi un framework jQuery personalizzato per far scorrere le ricette in un contenitore in base a un link su cui fanno clic. Il link potrebbe esserewww.example.com/recipe/apple_pie
Ora normalmente restituisce una pagina intera, intestazione, piè di pagina, contenuto della ricetta e annunci. Ma se qualcuno sta navigando nel tuo sito Web alcune di queste parti sono già caricate. Quindi è possibile utilizzare un AJAX per ottenere la ricetta selezionata dall'utente, ma per risparmiare tempo e larghezza di banda non caricare l'intestazione / piè di pagina / annunci.
Ora puoi semplicemente scrivere un endpoint secondario per i dati come www.example.com/recipe_only/apple_pie
ma è più difficile da mantenere e condividere con altre persone.
Ma è più semplice rilevare che si tratta di una richiesta Ajax che effettua la richiesta e quindi restituisce solo una parte dei dati. In questo modo l'utente spreca meno larghezza di banda e il sito appare più reattivo.
I framework aggiungono semplicemente l'intestazione perché alcuni potrebbero trovare utile tenere traccia di quali richieste sono ajax e quali no. Ma dipende interamente dallo sviluppatore utilizzare tali tecniche.
In realtà è un po 'simile all'intestazione Accept-Language
. Un browser può richiedere un sito Web, mostrami una versione russa di questo sito Web senza dover inserire / ru / o simili nell'URL.