Протокол 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, если все правильно настроено с использованием современных настроек.
Дополнительные уроки по сети:
- Введение в WebSockets
- Как работают HTTP-запросы
- Список заголовков HTTP-запросов
- Список заголовков HTTP-ответа
- HTTP против HTTPS
- Что такое RFC?
- Протокол HTTP
- Протокол HTTPS
- Руководство curl по HTTP-запросам
- Кеширование в HTTP
- Список кодов состояния HTTP
- Что такое CDN?
- Протокол HTTP / 2
- Что такое порт
- DNS, система доменных имен
- Протокол TCP
- Протокол UDP
- Введение в REST API
- Как установить локальный сертификат SSL в macOS
- Как сгенерировать локальный сертификат SSL
- Как настроить Nginx для HTTPS
- Простой обратный прокси-сервер nginx для обслуживания нескольких приложений Node.js из подпапок
- Что такое обратный прокси?