Транспорты для сокетов интернет-домена: ssl://, tls://,
sslv2:// и sslv3://.
Замечание:
Транспорты
sslv2://иsslv3://устарели. Документацию к этим транспортам сохранили только в целях обратной совместимости.
Замечание:
Функции автоматически выберут транспорт
tcp://, если другой не указали.
127.0.0.1
fe80::1
www.example.com
tcp://127.0.0.1
tcp://fe80::1
tcp://www.example.com
udp://www.example.com
ssl://www.example.com
tls://www.example.com
Наряду с целевым адресом сокеты интернет-домена ожидают номер порта. При работе с функцией fsockopen() порт указывается вторым параметром и поэтому не влияет на формирование URL-адреса транспорта. При работе с функцией stream_socket_client() и другими функциями для работы с потоками, как и при работе с традиционными URL-адресами, номер порта указывается как суффикс — через двоеточие в конце транспортного URL-адреса.
tcp://127.0.0.1:80
tcp://[fe80::1]:80
tcp://www.example.com:80
Замечание: Числовые IPv6-адреса с номерами портов
Хотя во втором примере IPv4-адреса и имя хоста не изменились, за исключением добавления номера порта после двоеточия, IPv6-адрес обрамили квадратными скобками:
[fe80::1]. Квадратные скобки помогают отличать двоеточия в IPv6-адресе и двоеточие, которое отделяет номер порта.
Транспорты ssl:// и tls://,
которые доступны, только если PHP скомпилировали с поддержкой модуля openssl, —
расширяют транспорт tcp:// для включения SSL-шифрования.
Транспорт ssl:// попытается согласовать безопасное SSL/TLS-соединение
на основе протоколов и алгоритмов шифрования, доступных клиенту и удалённому хосту.
Конкретные протоколы определяются
конфигурацией библиотеки OpenSSL и параметрами
функции stream_context_create()
наподобие опции ssl.crypto_method.
Протоколы SSLv2 и SSLv3 устарели и небезопасны. Разработчики PHP и библиотеки OpenSSL больше не включают поддержку этих версий по умолчанию и настоятельно не рекомендуют обмениваться данным по устаревшим протоколам.