Сокеты интернет-домена: TCP, UDP, SSL и TLS

В список транспортов для сокетов интернет-домена входят протоколы ssl://, tls://, 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
  • sslv2://www.example.com
  • sslv3://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 V2 или SSL V3, в зависимости от возможностей и предпочтений удаленного хоста. Протоколы sslv2:// и sslv3:// явно выберут протокол SSL V2 или SSL V3.