Очевидно, что при первом (небезопасном) запросе, сервер ещё ничего о нём не знает. Следовательно не может повлять на его безопасность. Вот когда уже получит - выполнит редирект на https. Следовательно исходя из постановки задачи - ответственным за безопасность первого запроса должен быть клиент (браузер).