2

Когда мы вводим имя веб-сайта без протокола, браузеры дают правильный веб-сайт с правильным протоколом (например, http или https)

Например, если я наберу google.com и нажму клавишу возврата, браузер выдаст мне https://google.com

Как браузер делает это?

1 ответ1

5

Это не стандартизированное поведение, так как ни один документ RFC не говорит о том, как должен вести себя клиент, если пользователь не указывает протокол. Но, вероятно, в большинстве конфигураций по умолчанию клиенты пытаются сначала подключиться с использованием незащищенного соединения (например, http://). Они просто предполагают, что вы хотели ввести http:// перед вашим URL.

В этом случае не клиент выясняет, что этот сайт доступен через защищенное соединение (например, https://), а веб-сервер, который перенаправляет запрос вашего клиента. Таким образом, при вводе google.com в адресную строку вашего браузера ваш браузер сначала подключается к http://google.com , а веб-сервер на google.com перенаправляет ваш запрос на https://google.com . Вот почему вы все равно попадаете на https:// версию Google.

Вы даже можете попробовать это, вручную введя http://google.com в адресную строку. Google по-прежнему перенаправляет вас на https://google.com . Но это не стандартное поведение большинства программ веб-серверов, Google пришлось вручную указать "перенаправление HTTPS" в конфигурации своих веб-серверов.

Тем не менее, возможно, что некоторые клиенты сначала пробуют соединение https:// и подключаются только через http:// если это не удается. Это более безопасное поведение, и, хотя в большинстве случаев это, вероятно, не по умолчанию, есть, например, HSTS, который позволяет сайтам помечать себя как https:// , а некоторые сайты могут даже предварительно помечаться в браузере. (Как отметил @kicken, спасибо!) Затем существуют плагины для браузера (например, "HTTPS Everywhere" для Firefox), которые реализуют эту процедуру. Эти плагины поставляются со списками сайтов, которые обеспечивают https:// -защищенные соединения, и когда пользователь вводит URL-адрес такого сайта с http:// или без протокола на передней панели, пользователь перенаправляется на https:// версия браузером, а не веб-сервером, даже если администратор сайта не настроил перенаправление HTTPS для своего сайта.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .