Em um navegador da web que oferece suporte a várias guias, como o Firefox, guias diferentes que vão para domínios de sites diferentes usam uma porta dedicada para cada domínio ?.
Ou o navegador usa uma única porta para gerenciar todas as guias e, portanto, todos os domínios?
networking
browser
port
tabs
yoyo_fun
fonte
fonte
Respostas:
Os navegadores usam portas diferentes para se conectar a sites diferentes?
Sim, eles fazem.
Aqui está um exemplo, mostrando minhas conexões atuais do Firefox (tenho 9 guias abertas) no Windows 7:
Notas:
Você pode ver que as portas locais são todas diferentes.
As portas remotas são geralmente 80 (HTTP), 443 (HTTPS) ou 8080 (HTTP Alternativo).
HTTP
na lista de números de porta TCP e UDP alguns deles.O processo completo de renderização de uma página da web é descrito abaixo. Veja em particular as etapas 5, 6, 13 e 15 (em negrito):
Em geral, a renderização de uma única página da Web usa várias conexões, nem todas no mesmo endereço remoto.
Isso ocorre porque as páginas da Web geralmente incluem recursos hospedados em outros lugares (arquivos javascript, etc.).
Múltiplas conexões com o mesmo site (por exemplo, stackoverflow.com) também possuem portas locais diferentes (porque são conexões separadas em guias diferentes, renderizando páginas diferentes).
Renderizando uma página da Web - passo a passo
Nota:
Origem Renderização de uma página da Web - passo a passo
fonte
Cada conexão com um site usa um soquete diferente com a porta TCP de destino padrão 80 para HTTP simples e 443 para HTTPS. Para que o soquete seja exclusivo, a combinação do endereço IP de origem, porta TCP de origem, endereço IP de destino e porta TCP de destino deve ser diferente.
Se você tiver várias conexões com o mesmo site (assumindo que o site use apenas 1 endereço IP) do mesmo computador, uma porta TCP de origem diferente deverá ser usada. Dessa forma, cada conexão é única.
No entanto, deve-se observar que, a partir do HTTP 1.1, todas as conexões são persistentes por um determinado período de tempo (a menos que seja declarado o contrário). Isso significa que a mesma conexão pode ser reutilizada pelo seu navegador se forem solicitados vários recursos do mesmo site (por exemplo, arquivos css / js). Isso também se aplica se você tiver várias instâncias do mesmo site no seu navegador.
Se você estiver no Windows, o
netstat -no -p TCP
comando mostrará todos os soquetes TCP ativos e seu ID de processo correspondente, incluindo os do seu navegador:Se você estiver no Unix / Linux (Debian neste caso), poderá usar o comando
netstat -ntp
ouss -t
:fonte
netstat -n
deve funcionar na maioria dos sistemas operacionais, incluindo Linux e Mac OS.netstat -n -o
para ver qual processo criou qual conexão. Ou você pode executar o tcpview do SysInternal para ver a lista em uma GUI, com nomes e ícones de processos e tudo.No que diz respeito a guias para sites diferentes, nada no TCP exige que a porta local seja diferente, desde que a tupla {IP local, porta local, IP de destino, porta de destino} seja única. Para guias para o mesmo site, a situação é muito mais complexa.
O navegador, como qualquer outro software cliente, usa uma porta local diferente por conexão de saída para o mesmo destino. Em geral, ele formará várias conexões com qualquer site, para buscar recursos incorporados, como imagens, CSS, JavaScript etc. Ele também agrupará essas conexões para possível reutilização.
Não é possível dizer se guias diferentes para o mesmo site usarão conexões distintas , porque (a) geralmente não existe uma única conexão por guia e (b) dependendo do tempo e da autenticação, as conexões podem ser reutilizado entre guias; e como não é possível identificar as conexões, também não é possível identificar as portas locais.
fonte
Sim. Não Talvez. Depende.
Primeiro, um navegador pode usar qualquer uma dessas estratégias para conexões:
Você não tem como saber qual estratégia o navegador utilizará, embora o uso de um conjunto de conexões (e a reutilização de conexões) seja uma suposição razoável.
Segundo, da maneira que o TCP funciona, você tem uma porta de origem e uma porta de destino para todas as conexões. O par de origem / destino endereço / porta define a conexão.
Você sempre [1] usa uma porta conhecida (como 80 ou 443) para se conectar ao servidor (no qual ele escuta no endereço anunciado), mas a outra porta é escolhida aleatoriamente. Portanto, dependendo de qual lado você olha para uma conexão, ela possui uma ou várias portas possíveis.
Portanto, a mesma guia pode (e geralmente utilizará) várias portas diferentes em sua extremidade, mas, em princípio, guias diferentes podem (se as conexões forem agrupadas e recursos diferentes em guias diferentes forem carregadas do mesmo servidor) usar a mesma porta.
Como a pergunta menciona explicitamente a saída , no caso "normal", os números de porta seriam os mesmos, independentemente da guia em que estão ou de uma das duas portas possíveis (80 e 443). Embora, é claro, seja possível solicitar explicitamente uma porta diferente (como 8080) em um URL. Isso é meio raro, no entanto.
[1] Bem, nem sempre ... mas não vamos complicar demais.
fonte