Internet ドメイン: 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

Internet ドメインソケットは、対象のアドレスに加えてポート番号を 受け付けます。fsockopen の場合、これは 2 番目の パラメータとして指定するので、トランスポートの URL には影響を与えません。 しかし、stream_socket_client および関連する関数では 伝統的な URL を使用します。この場合、ポート番号はトランスポート URL の 後にコロンで区切ってつなげます。

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

注意: IPv6 数値アドレスとポート番号
IPv4 やホスト名形式の例では、ポート番号はアドレスやホスト名の直後に コロンでつながっていますが、上の 2 番目の例では IPv6 アドレスが 角括弧でかこまれて [fe80::1] となっています。 これは、IPv6 アドレスに使用されるコロンとポート番号を表す際のコロンを 区別するためです。

ssl:// および tls:// のトランスポート (PHP が openssl サポートを含めてコンパイルされている場合のみ有効)は、 tcp:// トランスポートに SSL 暗号化を含めた拡張です。

ssl:// は、クライアントとリモートホスト双方の機能と設定に 応じて、安全な SSL/TLS 接続のネゴシエーションを試みます。実際に使用される プロトコルは、OpenSSL の設定と stream_context_create で指定するオプション(ssl.crypto_method など)によって 決定されます。

SSLv2 および SSLv3 プロトコルは廃止されており、安全ではありません。 これらの使用は強く推奨されず、PHP および OpenSSL の最近のバージョンでは デフォルトで無効になっています。