HTTPS: защищенная передача данных по протоколу HTTP

https zashhishhennaya peredacha dannyh po protokolu http Сервер PyMailCGI

Если вы пользуетесь веб-сервером, поддерживающим защищенный протокол HTTP, вы можете просто создавать страницы HTML и переложить шифрование данных на веб-сервер и броузер. Если этот протокол поддерживается с обоих концов соединения, он обеспечит законченное решение и обеспечит безопасность в Сети. В настоящее время он используется большинством сайтов электронной коммерции.

Защищенный протокол HTTP (Secure HTTP, HTTPS) определяется в адресах URL за счет указания имени протокола https:// вместо http://. При использовании протокола HTTPS данные по-прежнему передаются с использованием обычного протокола HTTP, но весь трафик при этом шифруется уровнем защищенных сокетов (Secure Sockets Layer, SSL). Протокол HTTPS поддерживается большинством веб-броузеров и может быть настроен на большинстве веб-серверов, включая Apache и сценарий webserver.py, который мы запускали локально в этой главе. Если интерпретатор Python скомпилирован с поддержкой SSL, сокеты Python будут поддерживать этот механизм посредством модуля ssl, реализующего обертки вокруг сокетов, и клиентский модуль urllib.request, с которым мы познакомились в главе 13, также будет поддерживать протокол HTTPS.

К сожалению, включение поддержки защищенного протокола HTTP на веб-сервере требует дополнительных знаний и настройки, для описания которых у нас здесь нет места, и может потребовать установки инструментов, не входящих в стандартную версию Python. Если в будущем у вас появится желание глубже исследовать эту проблему, поищите в Интернете ресурсы, описывающие настройку HTTPS-сервера, написанного на языке Python, поддерживающего защищенные взаимодействия с применением SSL. Например, обратите внимание на сторонний пакет M2Crypto с поддержкой OpenSSL, который можно использовать для шифрования паролей, поддержку HTTPS в пакете urllib и другие инструменты — это достаточно привлекательные альтернативы для реализации шифрования вручную, хотя к моменту написания этих строк они все еще не были доступны в Python 3.X.

В целом дополнительные подробности о протоколе HTTPS ищите в Интернете. Вполне возможно, что некоторая поддержка HTTPS появится со временем в классах реализации веб-серверов, присутствующих в стандартной библиотеке Python. В последние годы такая поддержка отсутствовала, что, возможно, обусловлено предназначением этих классов — они обеспечивают ограниченную функциональность для использования в локальных серверах, в первую очередь ориентированных на тестирование, а не на развертывание действующих серверов.

Использованная литература:

Марк Лутц — Программирование на Python, 4-е издание, II том, 2011

Каталог сайтов Всего.ру
Оцените статью
Секреты программирования
Добавить комментарий