В том-то и дело что определить, AJAX или не AJAX, в общем случае, невозможно. Этот заголовок посылает jQuery, а нативный XMLHttpRequest или fetch() - нет. Так что определить, AJAX или нет в общем случае невозможно. Из этого следует что всё-таки надо понимать, что там под капотом чтобы понять что нужно послать заголовок.
В Yii 2 это не особо проблема потому как там по умолчанию jQuery и чтобы его заменить нужно постараться. Как следствие, большинство проектов делаются именно на jQuery.
Ну... в Yii 3 мы не заставляем использовать jQuery. Сейчас много проектов на React / Vue / Angular. Поэтому очень вероятно что у нас так получится метод, который будет не работать или, хуже, врать.
В том-то и дело что определить, AJAX или не AJAX, в общем случае, невозможно. Этот заголовок посылает jQuery, а нативный XMLHttpRequest или fetch() - нет. Так что определить, AJAX или нет в общем случае невозможно. Из этого следует что всё-таки надо понимать, что там под капотом чтобы понять что нужно послать заголовок.