Os sites da web estão cada vez mais complexos, e as conexões de internet nem sempre acompanham isso. Por isso, muitas vezes é preciso esperar uma eternidade para uma página carregar. Uma nova técnica do MIT pode mudar isso, ajudando navegadores a reunir arquivos de forma mais eficiente.
Carregar uma página da web é algo curiosamente complexo. Quando você pressiona Enter depois de inserir o endereço, ou quando você clica em um link, seu navegador reúne uma série de objetos – arquivos HTML, JavaScript, imagens e mais.
Cada objeto é avaliado, e depois adicionado à página que você está olhando. Mas essa avaliação pode resultar na busca de outros objetos dependentes – e os navegadores só descobrem essas dependências quando recebem o primeiro objeto.
Se soubessem, eles seriam capazes de obter mais arquivos de uma só vez, reduzindo a quantidade de vai-e-vem do outro lado da rede, e acelerando o carregamento da página.
É aí que entra o Polaris. Ele registra todas as dependências e interdependências em uma página da web. Depois, ele compila tudo isso para que o navegador possa baixar os elementos de forma mais eficiente.
“À medida que as páginas crescem em complexidade, isso muitas vezes requer múltiplas viagens que criam atrasos e vão se somando”, explica Ravi Netravali, um dos pesquisadores, em comunicado à imprensa. “Nossa abordagem minimiza o número de idas e voltas para que possamos acelerar substancialmente o tempo de carregamento de uma página.”
A equipe testou o sistema em 200 sites diferentes, incluindo eBay, New York Times e Wikipédia. Em média, eles carregavam 34% mais rápido do que no método padrão.
A boa notícia é que o Polaris é escrito em JavaScript, e pode ser introduzido em qualquer site: basta rodar no servidor em questão, para ser ativado automaticamente a cada página carregada. Também é possível usá-lo sem modificar o navegador.
Mas a esperança dos pesquisadores é que, no longo prazo, isso se torne integrado aos navegadores que usamos, onde ele poderia “permitir otimizações adicionais e acelerar ainda mais o carregamento”.
Esta é mais uma iniciativa para acelerar a web. Existe também o protocolo SPDY, criado pelo Google em 2009, que carrega páginas da web mais rápido que o HTTP comum. Os pesquisadores notaram que o Polaris acelera mais a velocidade que o SPDY, mas lembram que eles podem ser usados em conjunto, trazendo efeitos ainda maiores.
O gráfico acima mostra a redução da latência (em %) usando o SPDY, Polaris e Polaris + SPDY. RTT é o tempo que seu sistema leva para fazer um pedido ao servidor, mais o tempo para receber uma resposta.
O Polaris foi desenvolvido pelo Laboratório de Inteligência Artificial e Ciência da Computação do MIT. O trabalho está disponível neste link, e será apresentado neste final desta semana no Simpósio de USENIX sobre Design e Implementação de Sistemas de Rede.
[MIT News]
Foto por Luis Llerena via Unsplash