Как веб-браузер знает, если назначение http или https?

Я использую Wireshark для анализа веб-трафика.

когда я открываю веб-браузер и набираю адрес: stackexchange.com, это сначала выполняет запрос DNS, получает ответ, и затем передает пакет TCP Syn к надлежащему IP-адресу в порту 80.

но когда я печатаю в www.paypal.com, он делает то же самое, но TCP SYN пакет отправляется непосредственно на порт 443.

ответ DNS, кажется, не включает порт назначения, и нет никакого согласования протокола между мой браузер и целевой сайт. как мой браузер узнает порт назначения?

обратите внимание, что я не тип в http://stackexchange.com или https://www.paypal.com, но и просто stackexchange.com и www.paypal.com.

14
задан Adayah
27.12.2022 15:49 Количество просмотров материала 3500
Распечатать страницу

2 ответа

Ваш браузер запоминает порт и протокол предыдущего взаимодействия с сайтом.

Paypal использует HTTP Strict Transport Security. Это означает, что сервер отправил (возможно, через порт 80) заголовок ответа, включающий Strict-Transport-Security:max-age=63072000 прежде чем вы даже начали искать. Возраст отображается в секундах. Таким образом, в течение следующих двух лет после посещения порта 80 браузер не должен снова заходить в порт 80; он должен заходить в порт 443. Фактически последующие посещения порта 443 получат такая же инструкция, поэтому она применяется индефинитно для людей которые используют Пайпал каждый год.

это улучшение по сравнению с предыдущей схемой, где каждый запрос к порту 80 получил перенаправление на порт 443, который был медленнее. Полагаться на перенаправления было также менее безопасно, потому что браузер не возражал бы, если Paypal (или, скорее, злоумышленник MITM, олицетворяющий Paypal) внезапно преобразуется из HTTPS в HTTP, если используется перенаправление. Под HTTP строгой безопасности транспорта, такого рода атаки в конечном итоге много более заметным, как злоумышленник будет вынужден использовать HTTPS, чтобы поговорить с браузером, но они не имеют доступа к любой сертификат сервера HTTPS, выданный Paypal.

4
отвечен Jirka Hanika 2022-12-28 23:37

webrowser всегда будет запрашивать порт 80, поэтому после того, как все службы ssl на стороне сервера, когда клиент подключается к вашему сервису сервер перенаправляет соединение на безопасный или "https".

-1
отвечен Alejandra Moreno 2022-12-29 01:54

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх