Как вы заметили, это очень общий и широкий вопрос. Вы были бы хорошо обслужены более полными требованиями. Независимо от того:
Архитектура клиент / сервер обычно означает, что часть работы выполняется клиентом, а часть - сервером. Клиент может быть пользовательским приложением (например, iTunes или Outlook) или веб-браузером. Даже если это веб-браузер, у вас все еще есть некоторый код, выполняющий на стороне клиента, обычно Javascript, для выполнения таких операций, как проверка полей (все поля заполнены?).
Большая часть кода, как вы заметили, будет работать на сервере, и часть этого может дублировать ваш код на стороне клиента. Проверка, например, должна выполняться на стороне клиента, чтобы повысить производительность (нет необходимости связываться с сервером, чтобы определить, соответствует ли пароль требованиям длины), но также должна выполняться на сервере, так как код на стороне клиента легко обойти