Files
archived-doc-pt-br/appendices/transports.xml
Leonardo Lara Rodrigues 70a8e0d887 sync with en rev
2026-03-06 13:51:29 -03:00

155 lines
5.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: ae90ecc9328f3abea16a9af69a5f18b24d530832 Maintainer: leonardolara Status: ready --><!-- CREDITS: narigone,ae,leonardolara -->
<appendix xml:id="transports" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lista de Transportes via Soquete Suportados</title>
<para>
Segue a lista dos vários estilos de URL para transporte via soquete
integrados ao PHP para uso com funções de fluxos de dados
baseados em soquete como <function>fsockopen</function>, e
<function>stream_socket_client</function>. Esses transportes
<emphasis>não</emphasis> se aplicam às
<link linkend="ref.sockets">funções da extensão Socket</link>.
</para>
<para>
Para uma lista de transportes instalados em cada versão do
PHP, use <function>stream_get_transports</function>.
</para>
<section xml:id="transports.inet">
<title>Domínios da Internet: TCP, UDP, SSL, e TLS</title>
<simpara>
<literal>ssl://</literal>, <literal>tls://</literal>,
<literal>sslv2://</literal> &amp; <literal>sslv3://</literal>.
</simpara>
<note>
<simpara>
Os transportes <literal>sslv2://</literal> e <literal>sslv3://</literal>
são obsoletos e não devem ser usados. Eles estão documentados apenas
para compatibilidade com versões anteriores.
</simpara>
</note>
<note>
<simpara>
Se nenhum transporte for especificado, <literal>tcp://</literal> será usado.
</simpara>
</note>
<itemizedlist>
<listitem><simpara><literal>127.0.0.1</literal></simpara></listitem>
<listitem><simpara><literal>fe80::1</literal></simpara></listitem>
<listitem><simpara><literal>www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>tcp://127.0.0.1</literal></simpara></listitem>
<listitem><simpara><literal>tcp://fe80::1</literal></simpara></listitem>
<listitem><simpara><literal>tcp://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>udp://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>ssl://www.example.com</literal></simpara></listitem>
<listitem><simpara><literal>tls://www.example.com</literal></simpara></listitem>
</itemizedlist>
<simpara>
Soquetes nos Domínios da Internet esperam um número de porta além
do endereço desejado. No caso de <function>fsockopen</function>,
esta é especificada no segundo parâmetro e, portanto, não
afeta a formatação da URL. Com
<function>stream_socket_client</function> e funções relacionadas
como com as URLs tradicionais, no entanto, o número da porta é especificado
como um sufixo na URL delimitada precedida por dois pontos.
</simpara>
<itemizedlist>
<listitem><simpara><literal>tcp://127.0.0.1:80</literal></simpara></listitem>
<listitem><simpara><literal>tcp://[fe80::1]:80</literal></simpara></listitem>
<listitem><simpara><literal>tcp://www.example.com:80</literal></simpara></listitem>
</itemizedlist>
<note>
<title>Endereços numéricos com número de porta em IPv6</title>
<simpara>
No segundo exemplo acima, enquanto os exemplos em IPv4 e
nome de host permaneceram iguais, exceto pela adição do
dois pontos e número da porta, o endereço em IPv6 é envolto em
colchetes: <literal>[fe80::1]</literal>. Isso é para
distinguir entre os dois pontos de um endereço IPv6
e como separador de porta no IPv4.
</simpara>
</note>
<simpara>
Os transportes <literal>ssl://</literal> e <literal>tls://</literal>
(disponíveis apenas quando o suporte a openssl é compilado no PHP) são extensões
do transporte <literal>tcp://</literal> que incluem encriptação SSL.
</simpara>
<simpara>
<literal>ssl://</literal> tentará negociar uma conexão SSL/TLS segura
dependendo das capacidades e preferências do
host remoto e do cliente. Os protocolos reais que podem ser usados são
determinados pela configuração OpenSSL e pelas opções fornecidas
através da função <function>stream_context_create</function>, tal como
<literal>ssl.crypto_method</literal>.
</simpara>
<simpara>
Os protocolos SSLv2 e SSLv3 são obsoletos e inseguros. O uso deles é
fortemente desencorajado e eles não estão mais habilitados por padrão nas
versões modernas do PHP e do OpenSSL.
</simpara>
</section>
<section xml:id="transports.unix">
<title>Domínio Unix: Unix e UDG</title>
<simpara>
<literal>unix://</literal> e
<literal>udg://</literal>
</simpara>
<itemizedlist>
<listitem><simpara><literal>unix:///tmp/mysock</literal></simpara></listitem>
<listitem><simpara><literal>udg:///tmp/mysock</literal></simpara></listitem>
</itemizedlist>
<simpara>
<literal>unix://</literal> provê acessos a conexão via soquetes
Unix. <literal>udg://</literal> provê
um transporte alternativo para um soquete Unix usando o protocolo
de datagramas de usuário (UDP).
</simpara>
<simpara>
Soquetes Unix, diferentes de soquetes de Internet, não esperam um
número de porta. No caso de <function>fsockopen</function> o
parâmetro <parameter>portno</parameter> deve ser o valor 0.
</simpara>
<note>
<simpara>
Soquetes de domínio Unix não são suportados no Windows.
</simpara>
</note>
</section>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->