HTTP/3: Tudo o que você precisa saber sobre o protocolo web de próxima geração

Views: 331
0 0
Read Time:7 Minute, 22 Second

Os pesquisadores de segurança acabaram de colocar os dentes no HTTP/2, mas os motores e agitadores da web já estão girando uma atualização: HTTP/3.

A tecnologia oferece ganhos de desempenho e benefícios de segurança, mas apenas se superarmos os muitos problemas de implantação que estão por vir para o que um especialista nos diz é melhor considerado como uma mudança evolutiva e não revolucionária de como a web funciona.

O que é HTTP/3?

HTTP/3 é uma grande revisão do Hypertext Transfer Protocol (HTTP), a tecnologia que sustenta a transferência de informações na web.

HTTP/3 é executado sobre o QUIC – um protocolo de transporte de uso geral criptografado que multiplexiza vários fluxos de dados em uma única conexão.

O QUIC foi inicialmente desenvolvido pelo Google. O protocolo utiliza o controle de congestionamento de espaço sobre o User Datagram Protocol (UDP).

Qual é a relação entre HTTP, HTTP/2 e HTTP/3?

Enquanto http é realmente ‘HTTP-over-TCP’ e HTTP/2 pode ser descrito como ‘HTTP-over-TCP’ então HTTP/3 pode ser melhor descrito como ‘HTTP/2-over-QUIC’.

Durante a conferência virtual Black Hat Asia 2020, o engenheiro do Google Nick Harper explicou em profundidade como quic e HTTP/3 se comparam ao HTTP/2.

Harper argumentou que a pilha de protocolos HTTP/3 tem “segurança equivalente como HTTP/2”, acrescentando que o uso do QUIC pelo HTTP/3 melhora o desempenho enquanto o QUIC melhora a privacidade.

HTTP/3 é em grande parte semelhante ao HTTP/2 em recursos de alto nível, embora sua implementação difere, disse Robin Marx, pesquisador de doutorado especializado em desempenho web na Universidade Hasselt, bélgica, ao The Daily Swig.

Quais são os benefícios do protocolo HTTP/3?

A mudança para quic vai um longo caminho para resolver um grande problema de HTTP/2, ou seja, “bloqueio de cabeça de linha”.

Como a natureza paralela do multiplexing do HTTP/2 não é visível aos mecanismos de recuperação de perdas do TCP, um pacote perdido ou reordenado faz com que todas as transações ativas parem, independentemente de uma determinada transação ter sido impactada pelo pacote perdido ou não.

Uma vez que o QUIC fornece multiplexagem nativo, os pacotes perdidos só afetam os fluxos onde os dados foram descartados.

O efeito prático da atualização para HTTP/3 é reduzir a latência de conexões de internet ruins ou lossy.

O QUIC é quase inteiramente criptografado, o que significa que a segurança também deve ser significativamente melhorada com o HTTP/3.

Essa criptografia incorporada significa menos oportunidades para ataques manipuladores no meio (MitM), enquanto o QUIC também inclui outros recursos que ajudam a proteger contra explorações de negação de serviço, de acordo com Marx.

O QUIC combina seus apertos de mão criptográficos e de transporte de uma forma que permite a conexão com um novo servidor em uma única viagem de ida e volta. A mesma tecnologia permite que uma conexão interrompida seja rapidamente retomada, com o cliente enviando dados de aplicativos criptografados em seu primeiro voo.

O QUIC usa o TLS 1.3 como blocos de construção para seu aperto de mão criptográfico.

Quão bem suportado é o HTTP/3?

A partir de outubro de 2020, o protocolo HTTP/3 é um padrão de rascunho de internet e tem várias implementações.

Quase 8% dos 10 milhões de sites mais bem-vindos suportam HTTP/3, de acordo com os últimos números da W3Techs.

HTTP/3 tem suporte não padrão em versões estáveis dos navegadores Chrome (desde dezembro de 2019) e Firefox (desde janeiro de 2020).

Quais vantagens serão obtidas com a implantação do HTTP/3?

Os apoiadores do HTTP/3 calculam que a tecnologia oferecerá tempo de carga mais rápido do site e melhor desempenho, particularmente em redes propensas a perdas, em comparação com tecnologias anteriores.

Achiel van der Mandele, gerente de produto da Cloudflare, explicou: “Simplificando, acreditamos que o HTTP/3 tornará a internet melhor para todos. HTTP/3 é o sucessor do HTTP/2, oferecendo melhor desempenho ao carregar sites.

“Os usuários do HTTP/3 se beneficiarão da configuração de conexão mais rápida e do melhor desempenho em redes de baixa qualidade com altas quantidades de perda de pacotes. Ambas as melhorias garantem que os sites carreguem mais rápido e de forma mais confiável”, disse Mandele ao Daily Swig.

Marx foi mais cauteloso ao falar sobre os benefícios do HTTP/3.

“O desempenho também deve beneficiar, embora não tanto na prática”, disse ele. “A remoção de bloqueio do chefe de linha não importa *isso* muito para [coisas como] carregamento de página web.

“A maioria dos ganhos será dos tempos de configuração de aperto de mão mais curtos”, explicou ele, acrescentando que o HTTP/3 e o QUIC representam uma “evolução, não uma revolução”.

“O desempenho será melhor, mas não de uma maneira super perceptível para coisas como navegação na web”, disse Marx. “A segurança deve ser melhor e proteger contra vários tipos de ataque.”

Quais desafios estão por vir para a implantação do HTTP/3?

Rustam Lalkaka, diretor de produto da Cloudflare, ofereceu ao Daily Swig uma lista de obstáculos a serem superados na implantação do HTTP/3. Isso inclui fazer com que a tecnologia funcione com balanceadores de carga e dispositivos de inspeção de pacotes profundos (os chamados “middleboxes“), bem como a construção do suporte ao navegador:

  • O software construído para suportar QUIC e HTTP/3 ainda é novo e em rápida evolução. “Estamos entusiasmados em ver fortes parcerias entre indústrias trabalhando bem para resolver questões de interoperabilidade à medida que surgem. Esperamos continuar encontrando e corrigindo problemas à medida que o padrão e várias implementações amadurecem.”
  • Os provedores de trânsito entre redes (ou, em alguns casos, até mesmo isps) podem executar caixas médias que historicamente têm sido hostis ao tráfego de UDP. “Para desbloquear todos os benefícios do QUIC e permitir que todos os clientes o usem, algumas redes com intermediários hostis podem precisar fazer ajustes de configuração.”
  • Habilitar quic para muitos operadores de servidor é complicado. “Por exemplo, para os clientes do Cloudflare, habilitar o HTTP/3 é simples: basta acertar o alternância HTTP/3 no painel e qualquer pessoa que visitar seu site com um navegador compatível irá acessá-lo pelo novo protocolo.”
  • O suporte ao cliente ainda não é totalmente mainstream. “O Google Chrome recentemente habilitou o HTTP/3 no QUIC para ~95% de seus navegadores; esperamos que outros grandes fornecedores de navegadores sigam o exemplo agora que o HTTP/3 com padrão QUIC IETF entrou em seu rascunho final. Firefox e Safari têm suporte em estágios anteriores de maturidade.”

Cloudflare explicou como estava se preparando para o HTTP/3 em um post técnico detalhado que serve como uma boa introdução à tecnologia.

Marx acrescentou que algumas redes “bloquearão conscientemente o QUIC porque os firewalls” podem, por exemplo, não rastrear mais a configuração da conexão ou as informações do cabeçalho de transporte QUIC.

“Números de pacotes, reconhecimentos, opções… são todos criptografados no QUIC”, explicou Marx. “O QUIC só funciona quando criptografados e os navegadores atualmente não funcionam muito bem com certificados auto-assinados ou certificados raiz ‘internos’.”

Os balanceadores de carga precisam ser ajustados para lidar com os IDs de conexão do QUIC e os recursos de migração de conexão.

Recursos avançados como 0-RTT (tempo de ida e volta) têm um forte aspecto de segurança, envolvendo a criação de chaves de criptografia de bilhetes de sessão e proteção contra ataques de replay, acrescentou Marx.

Quando o QUIC e o HTTP/3 se tornarão tecnologias tradicionais?

A descoberta do QUIC é complexa, uma vez que as conexões HTTP/2 não podem simplesmente ser atualizadas para o QUIC da mesma forma que o HTTP/1.1 é atualizado para HTTP/2. Isso porque o QUIC atropela o UDP e não o TCP.

Dada essa barreira de implementação, Marx disse que nos próximos anos o HTTP/3 é “provavelmente algo que você obtém ao usar uma rede de entrega de conteúdo ou provedor de serviços externos, não algo que você estará configurando em seus próprios servidores (para a maioria das pessoas)”.

Uma palestra de conferência e um post no blog relacionado por Marx sobre a preparação para HTTP/3-over-QUIC, entregue na conferência O’Reilly Velocity Berlin no ano passado, discute muitas das questões práticas à frente na implantação da tecnologia.

Marx concluiu: “O QUIC ainda é um protocolo muito poderoso e muitos dos ganhos de desempenho virão à tona, pois o protocolo é muito mais fácil do que o TCP para evoluir/ajustar e novas práticas recomendadas surgirão.

“Ainda assim, é altamente complexo, e levará tempo para a comunidade em geral realmente entender como funciona e como usá-lo.”

FONTE: THE DAILY SWIG

POSTS RELACIONADOS