fundo
Etéreo para além estudado sob Chrom-temporização e firefox-sincronismo. Abrir Baidu quando encontrado,
200 https://www.baidu.com/ leva 238 milissegundos
200 https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?where=super leva 38 milissegundos
200 HTTPS: // www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png?qua=high&where=super leva 107 milissegundos
dois pedidos após o mesmo pode ser dito de por que o último é 2,8 vezes mais do que consome muito tempo?
Dê uma olhada no primeiro pedido:
Olhe para o segundo pedido:
Análise do segundo pedido
- bloqueando 36 ms, porque o Firefox pool de conexão correr para fora, para esperar por uma liberação conexão ociosa
- DNS 1 milissegundo demorado, tão pouco tempo para estabelecer uma conexão TCP não é suficiente, de modo que o juiz leu o Firefox cache do DNS (padrão), ou ler o cache do sistema operacional
- Processados conector de 9 ms, ler a seguinte cabeçalho do pedido, cache-controlo: não-cache, é wayward CDN. Conexão: keep-alive, parece não haver keep-alive
- TLS estabelecimento de 21 milissegundos, o custo da segurança, TLS aperto de mão é muito frustrante, esse desempenho tem sido muito bom
- Enviar, esperar para receber todos os direitos HTTP e um pedido para não alargar o fosso
Por keep-alive não ter efeito
Antes de iniciar o segundo pedido, o primeiro pedido recebido ainda não está completa, por isso não keep-alive.
Mas eu encontrei parte de trás da outra nova conexão TCP pedido reconstruído, acho pool de threads navegador não é grande o suficiente para reciclar alguma conexão para acessar outros sites.
Referência
[1] controle do Firefox navegador, tempo de cache DNS
[2] documento Firefox monitor de rede
[3] TLS microsoft office
[4] HTTPS protocolo detalhado