Dominios de Internet: TCP, UDP, SSL y TLS

ssl://, tls://, sslv2:// & sslv3://.

Nota: Los transportes sslv2:// y sslv3:// están obsoletos y no deben utilizarse. Se documentan únicamente por compatibilidad con versiones anteriores.

Nota: Si no se especifica ningún transporte, se utiliza 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

Los sockets del dominio de Internet utilizan un número de puerto además de la dirección del host. En el caso de fsockopen(), se especifica en el segundo parámetro y, por lo tanto, no tiene impacto en el formato del modo de transporte. Con stream_socket_client() y otras funciones de la misma familia, el número de puerto se especifica como un sufijo en la URL de transporte, identificado por el signo de dos puntos.

  • tcp://127.0.0.1:80
  • tcp://[fe80::1]:80
  • tcp://www.example.com:80

Nota: Dirección IPv6 y número de puerto
En el segundo ejemplo anterior, los ejemplos en IPv4 y los nombres de host son idénticos, pero las IPv6 se colocan entre corchetes, además de tener los dos puntos y el número de puerto: [fe80::1]. Esto permite distinguir los dos puntos utilizados en IPv6 y los dos puntos utilizados para delimitar el número de puerto.

Los modos ssl:// y tls:// (disponibles únicamente cuando el soporte OpenSSL está compilado con PHP) son extensiones de tcp:// que incluyen el cifrado SSL.

ssl:// intentará negociar una conexión SSL/TLS segura según las capacidades y las preferencias tanto del cliente como del host remoto. Los protocolos que pueden ser utilizados están determinados por la configuración de OpenSSL y por las opciones proporcionadas a través de stream_context_create(), como ssl.crypto_method.

Los protocolos SSLv2 y SSLv3 están obsoletos y son inseguros. Su uso está fuertemente desaconsejado y ya no están habilitados por defecto en las versiones modernas de PHP y OpenSSL.