Цель шаблона MVC - предложить четкое разделение обязанностей.Представление обрабатывает представление, контроллер обрабатывает события, а модель обеспечивает бизнес-логику.(Я понимаю, что многие веб-фреймворки точно не следуют шаблону MVC. Например, Django называет себя MVT (или что-то в этом роде)).
Следовательно, поскольку HTTP-заголовки являются подробностями презентации, они должны идти в представлении.Хорошо написанное приложение MVC позволит вам иметь не-веб-представления (например, настольную версию), используя тот же контроллер и модель.Размещение заголовков в контроллере нарушило бы это четкое разделение.