O HTTP / 2 é realmente mais rápido no mundo real?

2

Eu entendo todos os benefícios do HTTP / 2, no entanto, existem comparações comprovadas de maçãs com maçãs para mostrar sua vantagem de velocidade?

A Akamai tem uma página colocada para este propósito , mas parece que o HTTP / 2, na melhor das hipóteses, mantém o ritmo e, na pior das hipóteses, é mais lento . Eu testei no Firefox. No Chrome, o HTTP / 2 foi um pouco mais rápido.

    
por AngryHacker 01.05.2018 / 01:37

1 resposta

1

Primeiro, vamos verificar se você está usando HTTP / 1.1 ou HTTP / 2.

Abra suas ferramentas de desenvolvedor no Chrome ou Firefox, adicione a coluna de protocolo e recarregue a página. você deve ver várias imagens carregadas de http1.akamai.com e um número de http2.akamai.com:

SevocênãoestivervendoHTTP/2aqui,algoestáimpedindoqueoHTTP/2sejausado(provavelmenteumsoftwareproxyouantivírus),oquepodeexplicarisso.Emboraeuvejanasuacapturadetelaque"Seu navegador suporta HTTP / 2!" então presumo que você esteja usando HTTP / 2, mas sem verificação de danos.

O que o teste faz é carregar 378 imagens para formar cada globo. Carregar tantos recursos é algo que o HTTP / 1 é particularmente ruim, e qual HTTP / 2 é particularmente bom - principalmente devido a HTTP / 2 permitindo multiplexação .

Se você estiver usando o HTTP / 2, mas não estiver vendo o HTTP / 2 sendo mais rápido, isso provavelmente se deve a um desses motivos:

  1. Há algo armazenando em cache os recursos localmente, o que significa que você os está carregando localmente e não diretamente da Akamai. Por exemplo. se você tiver um proxy da empresa que faça algum cache para você. Agora, a Akamai define um cabeçalho Cache-Control: max-age=0, no-cache, no-store HTTP no recurso para que ele não seja armazenado em cache, mas ainda assim - os proxies fizeram coisas mais estranhas! para ser honesto, carregar este site em 0,62 segundos no HTTP / 1 parece muito rápido, a menos que você esteja no data center da Akamai, então é isso que eu acho que está acontecendo. Tente outro teste HTTP / 2 ( Eu tenho meu próprio no meu blog, por exemplo ).
  2. Você tem uma rede super rápida sem latência. A latência é a principal razão pela qual o HTTP / 1.1 é mais lento que o HTTP / 2, pois o tempo é desperdiçado enviando solicitações de um lado para o outro, durante o qual nenhuma outra solicitação pode ser enviada nessa conexão. Sua latência parece absurdamente baixa nas suas capturas de tela, então você deve ter uma conexão super legal. Ou isso ou você mora ao lado da Akamai ou está lendo localmente.
  3. Você está em uma rede com muita perda de pacotes. O HTTP / 2 usa uma conexão TCP (principalmente) e enquanto isso é bom para a maioria dos casos de uso, ele piora em redes ruins, pois todos os fluxos HTTP / 2 são mantidos por uma única perda de pacote TCP (até HTTP / 1.1 onde 6 independentes conexões podem agir de forma verdadeiramente independente). O QUIC procura resolver isso, afastando-se do TCP para um protocolo baseado em UDP com confiabilidade semelhante à TCP fornecida no fluxo, em vez de nível de conexão. Mas neste caso eu esperaria que tanto o HTTP / 1.1 quanto o HTTP / 2 fossem mais lentos que as capturas de tela que você está dando, então não pense que é isso.
  4. Você tem um navegador HTTP / 2 ruim. Eu vi problemas de implementação HTTP / 2 até mesmo nos navegadores mais populares . Tente outro navegador. Você já disse que isso está funcionando como esperado no Chrome, mas não no Firefox, por isso pode ser algo específico do navegador. Mas, novamente, isso não explica por que as pontuações do HTTP / 1.1 são tão baixas.
por 01.05.2018 / 21:00

Tags