Сокеты интернет-домена: TCP, UDP, SSL и TLS
Транспорты для сокетов интернет-домена: 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 больше не включают поддержку этих версий
по умолчанию и настоятельно не рекомендуют обмениваться данным по устаревшим протоколам.