Протокол HTTPS

Протокол HTTPS является расширением HTTP, протокола передачи гипертекста, который обеспечивает безопасную связь.

HTTP небезопасен по своей конструкции.

Когда вы открываете браузер и просите веб-сервер отправить вам веб-страницу, ваши данные совершают 2 обращения: 1 от браузера к веб-серверу и 1 от веб-сервера к браузеру.

Затем, в зависимости от содержимого веб-страницы, вам может потребоваться больше подключений для получения файлов CSS, файлов JavaScript, изображений и т. Д.

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

Последствия могут быть серьезными: вся ваша сетевая активность может отслеживаться и регистрироваться, третья сторона, о существовании которой вы даже не подозреваете, некоторые сетиможет вводить рекламу, и вы можете подвергнуться атаке «злоумышленник посередине», угрозе безопасности, когда злоумышленник может манипулировать вашими данными и даже выдавать себя за ваш компьютер по сети. Для кого-то очень легко просто прослушивать HTTP-пакеты, передаваемые по общедоступной и незашифрованной сети Wi-Fi.

HTTPS направлен на решение проблемы в корне: вся связь между вашим браузером и веб-сервером зашифрована.

Конфиденциальность и безопасность являются серьезной проблемой в современном Интернете. Несколько лет назад вы могли обойтись простым использованием зашифрованного соединения на страницах, защищенных входом в систему, или во время оформления заказа в электронной коммерции. Кроме того, из-за цен на сертификаты SSL и сложностей большинство веб-сайтов просто использовали HTTP.

Сегодня HTTPS является обязательным требованием на любом сайте. Сейчас им пользуется более 50% всей сети. Google Chrome недавно начал отмечать HTTP-сайты как небезопасные, просто чтобы дать вам вескую причину, чтобы HTTPS был обязательным (и принудительным) на всех ваших сайтах.

При использовании HTTP порт сервера по умолчанию - 80, а на HTTPS - 443. Его, конечно, не нужно явно добавлять, если сервер использует порт по умолчанию.

HTTPS также иногда называютHTTP через SSL, или жеHTTP через TLS.

Разница между ними проста: TLS является преемником SSL.

При использовании HTTPS единственное, что не шифруется, - это домен веб-сервера и порт сервера.

Вся остальная информация, включая путь к ресурсу, заголовки, файлы cookie и параметры запроса, зашифрована.

Я не буду вдаваться в подробности анализа того, как протокол TLS работает под капотами, но вы можете подумать, что он добавляет большое количествонакладные расходы, и ты был бы прав.

Любые вычисления, добавляемые к обработке сетевых ресурсов, вызывают накладные расходы как на клиенте, так и на сервере, а также на размер передаваемых пакетов.

Однако HTTPS позволяет использовать новейший протокол.HTTP/2, который имеет огромное преимущество перед HTTP / 1.1: он намного быстрее.

Почему? Есть много причин, одна из которых - сжатие заголовка, другая - мультиплексирование ресурсов. Один из них - это серверный push: сервер может подтолкнуть больше ресурсов, когда запрашивается один ресурс. Итак, если браузер запрашивает страницу, он также получит все необходимые ресурсы (изображения, CSS, JS).

Помимо деталей, HTTP / 2 - огромное улучшение по сравнению с HTTP / 1.1.и для этого требуется HTTPS. Это означает, что HTTPS, несмотря на накладные расходы на шифрование, оказывается намного быстрее, чем HTTP, если все правильно настроено с использованием современных настроек.


Дополнительные уроки по сети: