Обязательно прочитайте ответ SilverlightFox. Это подчеркивает более важную причину.
Причина в основном в том, что если вы знаете источник запроса, вы можете немного его настроить.
Например, допустим, у вас есть веб-сайт с множеством рецептов. И вы используете пользовательский каркас jQuery для перемещения рецептов в контейнер на основе ссылки, по которой они щелкают. Ссылка может бытьwww.example.com/recipe/apple_pie
Теперь обычно возвращается полная страница, верхний и нижний колонтитулы, содержимое рецепта и реклама. Но если кто-то просматривает ваш сайт, некоторые из этих частей уже загружены. Таким образом, вы можете использовать AJAX, чтобы получить рецепт, выбранный пользователем, но для экономии времени и пропускной способности не загружайте верхний / нижний колонтитулы / рекламные объявления.
Теперь вы можете просто написать вторичную конечную точку для таких данных, как, www.example.com/recipe_only/apple_pie
но это сложнее поддерживать и делиться с другими людьми.
Но проще просто обнаружить, что это ajax-запрос, выполняющий запрос и возвращающий только часть данных. Таким образом, пользователь тратит меньше трафика и сайт выглядит более отзывчивым.
Фреймворки просто добавляют заголовок, потому что некоторые могут найти полезным отслеживать, какие запросы являются ajax, а какие нет. Но использование методов полностью зависит от разработчика.
На самом деле это похоже на Accept-Language
заголовок. Браузер может запросить веб-сайт. Пожалуйста, покажите мне русскую версию этого веб-сайта без необходимости вставлять / ru / или аналогичный в URL.