Ответ
HTTPS (HyperText Transfer Protocol Secure) — это расширение протокола HTTP, которое добавляет слой шифрования для защиты передаваемых данных.
Ключевое отличие в том, что HTTPS обеспечивает три основных гарантии безопасности, которых нет у HTTP:
- Конфиденциальность: Данные шифруются с помощью протокола TLS (Transport Layer Security). Даже если злоумышленник перехватит трафик, он не сможет его прочитать.
- Целостность: Проверяется, что данные не были изменены в процессе передачи. Любая модификация будет обнаружена.
- Аутентификация: С помощью SSL/TLS-сертификата клиент (браузер) может быть уверен, что он подключился к подлинному серверу, а не к его мошеннической копии.
Сравнительная таблица:
| Характеристика | HTTP | HTTPS |
|---|---|---|
| Шифрование | Нет (данные в открытом виде) | Есть (используется TLS/SSL) |
| Порт по умолчанию | 80 | 443 |
| Безопасность | Уязвим для атак "человек посередине" | Защищен от перехвата и изменения данных |
| Сертификат | Не требуется | Требуется SSL/TLS-сертификат от центра |
| URL | http:// |
https:// |
Пример запроса на Python:
import requests
try:
# Безопасное соединение
response_https = requests.get('https://google.com')
print(f"HTTPS-запрос успешен: {response_https.status_code}")
# Небезопасное соединение (часто перенаправляется на HTTPS)
response_http = requests.get('http://example.com')
print(f"HTTP-запрос успешен: {response_http.status_code}")
except requests.exceptions.RequestException as e:
print(f"Произошла ошибка: {e}")
Вывод: В современной веб-разработке использование HTTPS является обязательным стандартом для всех сайтов, так как он защищает как пользователей, так и владельцев ресурсов.