BLOG

Parar. Simplesmente pare. HTTPS não é mais rápido que HTTP.

Miniatura de Lori MacVittie
Lori MacVittie
Publicado em 19 de setembro de 2016
esquilo-empurrão

Sim, Lori está lendo a Internet novamente. E o que ela está vendo deixa a bebê Lori furiosa. Isso também faz esse antigo designer de testes e editor de tecnologia chorar. Realmente, eu choro tanto pelas desculpas oferecidas para tais testes quanto pela manchete enganosa.

Li nada menos que duas comparações artificiais de “HTTPS” e “HTTP” nas últimas duas semanas, pretendendo demonstrar que o HTTP seguro é indiscutivelmente mais rápido do que seu equivalente em texto simples, o HTTP.

Ah, se isso fosse verdade.

Veja, o truque é que ambas as comparações (e sem dúvida muitas outras virão) estão comparando o HTTP/2 seguro com o HTTP/1.1 inseguro. Da comparação acima mencionada: “HTTP/1.1 em texto simples é comparado com HTTP/2 HTTPS criptografado ”.

Como todos já sabemos, o HTTP/2 em si é mais rápido (por design) que o HTTP/1.1 por uma variedade de razões que não têm absolutamente nada a ver com segurança. Multiplexação, cabeçalhos "inteligentes" e um fluxo de bits binário se combinam para fornecer um protocolo mais rápido e eficiente, ponto final. Embora seja provável que a sobreposição de segurança (TLS ou SSL) sobre HTTP/2 cause uma leve degradação no desempenho (porque a matemática diz que isso acontecerá), isso não é suficiente para reduzir o desempenho aos níveis que estamos acostumados a ver com HTTP/1.1, mesmo desprotegido.

Infelizmente, esses resultados são apresentados como prova indiscutível de que o HTTPS é mais rápido que o HTTP. O que simplesmente não é verdade. O argumento contra testar a segurança do HTTP/2 em relação ao texto simples do HTTP/2 é que os navegadores se recusam a oferecer suporte ao HTTP/2 sem segurança e, portanto, não há como realizar esse teste. Então, um teste foi criado para fingir ilustrar as diferenças, mas na verdade não faz nada disso.

É verdade que comparar HTTP/2 seguro com HTTP/2 inseguro seria bastante difícil, se não impossível. Embora o HTTP/2 tenha recuado em sua exigência de apenas conexões seguras e permita texto simples, todos os principais navegadores se recusaram a oferecer suporte a texto simples e até agora só forneceram suporte para HTTP/2 sobre TLS/SSL . Até mesmo ferramentas de linha de comando populares como o curl se recusam a permitir conexões HTTP/2 inseguras. O que acaba tornando o HTTPS o padrão de fato, embora a especificação não o faça. Mas isso não significa que você pode comparar os dois e fazer afirmações absolutamente ridículas com base no teste, que são refutadas com matemática simples.

Veja, vamos fingir que uma página da web transferida via texto simples HTTP/2 levou exatamente 1,2 segundos para carregar. Agora vamos adicionar TLS. A adição de TLS (ou SSL) significa que há mais processamento, especificamente criptografia e descriptografia dos dados. Mesmo que isso leve apenas 0,3 segundos, ainda significa que o HTTPS é um pouquinho mais lento que o HTTP. Período. A matemática diz isso, e a matemática é pura. Não tem agenda, não se importa com os resultados, simplesmente diz “aqui está”.

E a matemática diz que se você fizer X e depois adicionar Y, você obterá Z, e Z sempre será maior que X ou Y.

Entendo o desejo de empurrar as pessoas para o HTTP/2, porque é mais rápido e é a primeira "atualização" real que tivemos para o HTTP em muito tempo, mas leva tempo, especialmente quando requer muitas atualizações e mudanças na infraestrutura que necessitarão de interrupções, pois todos, do desenvolvimento de aplicativos às operações, netops e segurança, terão que largar o que estão fazendo e testar, implantar e testar novamente. E isso não leva em conta as mudanças na modificação de aplicativos que há muito tempo são construídos em torno do HTTP/1.1 e sua especificação de protocolo. O HTTP/2 muda tudo. E seu impacto abrange todo o data center. Embora os gateways mitiguem a dificuldade e a interrupção inerentes à migração, nem todos necessariamente veem uma necessidade urgente de aderir ao HTTP/2.

O aumento no desempenho que as organizações verão significa simplesmente que o HTTP/2 funcionará conforme seus projetistas pretendiam, com mais velocidade e eficiência. Isso significa que as organizações devem planejar as atualizações de infraestrutura de rede e aplicativos necessárias para migrar e dar suporte ao novo padrão, seja por meio de gateways HTTP ou não . Isso não significa que HTTPS seja mais rápido que HTTP.

Fazer alegações falsas comprovadas para criar manchetes sensacionalistas sobre desempenho supostamente superior é simplesmente inaceitável. Sim, você quase certamente verá um aumento no desempenho se estiver migrando de HTTP/1.1 para HTTP/2, mesmo com segurança forçada. Mas isso não significa, em qualquer mundo onde a lógica e a matemática existam, que HTTPS seja mais rápido que HTTP. Se você quer ajudar organizações, ajude-as a entender como fazer uma transição tranquila do antigo para o novo. Forneça dados significativos para que eles criem um caso de negócios que lhes permita atualizar para o que há de mais moderno e melhor. Forneça a eles os meios para mostrar que o investimento na mudança do HTTP/1.x para o HTTP/2 valerá a pena no longo prazo.

Ofereça diretrizes e melhores práticas, não manchetes impactantes e um lead oculto.