В своем программном коде вы оцениваете протокол и перенаправляете, используя 301 (на стороне сервера). Это не сделано в браузере .
Вы можете сделать это в ASP.NET в файле Global.asax
Я не уверен насчет других языков программирования (PHP, Ruby и т. Д.). Другие могут не стесняйтесь присоединиться и отредактировать мой ответ с большим количеством примеров, если они пожелают.
if(!Request.IsSecureConnection)
{
string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", redirectUrl);
}
Я думаю, вы можете сделать это по умолчанию в Apache, используя .htaccess, но, насколько я могу судить, если вы хотите сделать это в IIS, вам нужно запустить скрипт asp или включить его в ваше приложение .net. Я могу ошибаться, но это то, с чем я столкнулся в своих испытаниях этого.