MVC: добавить заголовок http: контроллер или просмотр? - PullRequest
7 голосов
/ 19 мая 2011

Где правильное место для добавления заголовков http в приложениях MVC: в контроллере или в представлении?

(Технически это возможно сделать либо в контроллере, либо в представлении, но мне не ясно, какое решениелучшие комплекты с моделью MVC)

Ответы [ 2 ]

3 голосов
/ 19 мая 2011

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

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

3 голосов
/ 19 мая 2011

Я думаю, это зависит от сценария.Например, контроллеру могут потребоваться определенные учетные данные безопасности, и если они не присутствуют в запросе / сеансе, клиенту будет отправлен заголовок Location:, направляющий их в представление входа в систему.

Представление может реализоватьHTTP-заголовок, отправляемый для управления такими вещами, как кэширование содержимого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...