Это дизайнерское решение, которое зависит от того, чего вы пытаетесь достичь.Если ваша модель имеет смысл только в контексте отдельной службы или если вы хотите, чтобы ваша модель предоставляла доступ ко всем данным на сервере, то встроите соединение с сервером в вашу модель данных.Это может иметь смысл, например, если вы создаете клиент для такой службы, как Twitter или Flickr.
С другой стороны, если вы просто получаете файл с сервера, и на этом всеможет иметь смысл осуществлять связь в контроллере.Контроллеры, как правило, менее пригодны для повторного использования и более адаптированы к конкретному поведению приложения.Учет особенностей получения данных из модели делает модель более пригодной для повторного использования.Это также облегчает тестирование - вы можете написать тестовый код, который просто читает локальный файл и сохраняет данные в модели.