Archive

Archive for November 17th, 2009

O que é SPDY? O que o Google quer com isso?

November 17th, 2009 No comments

Quando se trata de Web, o Google é uma fábrica de inovação. E quando o desempenho é o problemas eles sempre tem uma carta na manga. Com o objetivo de tornar a web mais rápida e eficiente, a gigante das buscas deu início a uma iniciativa chamada “Lets make the web faster”. Essa iniciativa propõe a adoção de um conjunto de boas práticas para tornar o tráfego utilizado via HTTP mais rápido. Essas boas práticas são medidas simples e bem elaboradas para otimizar o tamanho de imagens, redução de espaços em branco de JavaScript, compressão de documentos HTML e etc. Porém, o que mais me chamou a atenção foi a utilização de um novo protocolo para trabalhar em conjunto com o HTTP, o SPDY.

O SPDY, como o Google diz, nada mais é do que um protocolo para transporte de conteúdo através da internet, que foi projetado para gerar o mínimo de latência possível. De acordo com os testes feitos nos laboratórios do Google, o tempo de caga das páginas tiveram o tempo reduzido em torno de 64%. Realmente é um tempo considerável, mas do que se trata esse protocolo, o que ele faz pra ser tão rápido?

O protocolo utilizado na rede mundial de computadores é o TCP/ÍP. Esse protocolo encontra-se, segundo o modelo OSI, na camada de transporte que visa garantir a entrega dos pacotes de uma origem até seu destino. A utilização desse protocolo com o HTTP proporciona que os browsers abram um conexão  a cada request e response. Nesse processo, a latência gerada vem da única requisição por conexão TCP/IP feita pelo browser, cada requisição é feita pelo cliente (browser) tornado o WebServer um robô sem inteligência enviando/recebendo na maioria das vezes um conteúdo que poderia ser comprimido. Ainda por cima, o padrão de envio de documentos não comprimida, coisa que poderia ser feita utilizando algumas boas práticas.

Com a utilização do SPDY em conjunto com o HTML os ganhos de desempenho são obtidos implementado funcionalidades que eliminariam as características citadas acima como:

  • Streams multiplexadas: Possibilidade de suportar inúmeras requisições e respostas através de uma conexão TCP.
  • Request Priorization:  Essa implementação permite que o cliente possa fazer uma série de requisições do servidor e o mesmo respondendo-as de acordo com a prioridade da mesma.
  • HTTP header compression: Implementação da compressão do header resultando em pacotes menores de menos bytes transmitidos.

Esses são os itens básicos que o novo protocolo foi designado para resolver. Existe uma série de melhorias na pagina do protocolo. Lá é possível encontrar maiores detalhes sobre o desenvolvimento do mesmo e a bateria de testes e seus resultados.

A idéia do Google não é substituir o HTTP para processar as requisições WEB, e sim fazer com que ambos os protocolos trabalhe em conjunto. Nesse ponto os engenheiros do Google tiveram bom senso, já que, implementar a troca do HTTP (cliente) contida nos navegadores seria uma tarefa não só tecnológica e sim política decidiram implementar o mesmo nos Web Serves.

Já que o protocolo inda não está disponível, portanto, para tornar a web mais rápida podemos seguir as iniciativas do Lets make the web faster. Com a adoção de medidas simples como essas há uma melhoria considerável da latência em cada página carregada.

Mais detalhes: aqui, aqui e aqui

[]s

Categories: Notícias Tags: , , ,