Você já se sentiu frustrado com o tempo de carregamento lento de uma página da Web ou ficou preocupado com sua segurança (ou a falta dela)? O Google está desenvolvendo algo agora que deve resolver alguns desses problemas. Chama-se SPDY e funcionará em conjunto com o HTTP para tornar a internet muito mais rápida.
Primeiro, o que é HTTP?
Abreviação de HyperText Transfer Protocol, HTTP serve como o protocolo subjacente para a Internet. É um protocolo em nível de aplicativo, um conjunto de regras que define como dois dispositivos se comunicam e compartilham dados entre si. Infelizmente, por causa de como ele foi projetado, a latência da página da web ou o tempo de carregamento lento é um problema significativo enfrentado pelo HTTP. Claro, se você usar HTTPS HTTPS Everywhere: Use HTTPS em vez de HTTP quando possível HTTPS Everywhere: Use HTTPS em vez de HTTP quando possível Leia mais, alguns desses podem ser menos de um problema.
O HTTP originalmente determinava que a comunicação com o servidor fosse fechada após cada ciclo de solicitação / resposta, em que um dispositivo envia uma solicitação de dados para outro dispositivo e, em seguida, recebe esses dados do outro dispositivo. Isso resultou na configuração e quebra completa de um canal TCP para cada solicitação, que era cara em termos de largura de banda e sobrecarregava muito os computadores e servidores. O TCP, como o HTTP, é um protocolo da Web que fornece especificamente entrega garantida, supressão duplicada, entrega em ordem, controle de fluxo, prevenção de congestionamento e outros recursos de transporte.
Outro problema com isto era que continha semântica FIFO. FIFO, ou a semântica "primeiro a entrar, primeiro a sair" essencialmente dita que o primeiro pedido para entrar no servidor terá a primeira resposta para fora. Mas isso pode ser um problema. Quando há uma solicitação lenta na frente da fila, as solicitações por trás dela terão que esperar por mais tempo e haverá um fluxo inverso de solicitações.
Então, veio HTTP 1.1 com algumas mudanças importantes destinadas a resolver esse problema. Por um lado, o HTTP 1.1 permitia novos tipos de conexões TCP que permitiam que os canais permanecessem abertos entre os ciclos de solicitação / resposta. Estes foram chamados de conexões 'keep alive'. O HTTP 1.1 também permitia algo chamado pipelining, que prometia se livrar do sistema "um por vez" para lidar com solicitações. Manter conexões vivas foram amplamente adotadas, enquanto o pipelining só foi usado pelo Opera, que é conhecido por usar tecnologia mais inovadora 5 Razões ideológicas porque você deve experimentar o Opera 5 Razões ideológicas porque você deve experimentar o Opera Poucas pessoas experimentaram o Opera ou até mesmo Ouvi muito sobre o Opera como o navegador sempre assistiu de longe, como o Internet Explorer, o Firefox e agora o Google Chrome estão levando o ... Leia Mais no seu navegador.
E quanto ao SPDY?
Como o pipeline não foi amplamente adotado, a latência da página da Web ainda permanecia um problema. Então, em 2009, o Google anunciou que havia começado a desenvolver o SPDY com o objetivo de ajudar a acelerar a Internet.
O SPDY é um protocolo de rede aberta destinado a ser usado além do HTTP para transportar dados da web. Sendo um protocolo de rede aberta, ele estabelece regras para como os dados são compartilhados entre as redes.
Ele funciona manipulando o tráfego HTTP para reduzir a latência do carregamento da página da web. Ele faz isso atribuindo um identificador específico chamado ID de fluxo a cada solicitação. A partir daí, é possível ignorar o sistema FIFO do HTTP usando apenas um canal TCP. Várias solicitações podem ser respondidas ao mesmo tempo, liberando filas e reduzindo os tempos de carregamento lentos. No entanto, nada será perdido ou danificado devido a esse ID de fluxo.
O SPDY também reduz o tempo de carregamento da página da web compactando os cabeçalhos que acompanham as solicitações. Descompactados, como eles vêm através do HTTP, eles podem variar em tamanho de cerca de 200 bytes para bem mais de 2 KB. Também não é incomum que os cabeçalhos de solicitação sejam tão grandes quanto 700 KB. Quando eles entram no servidor, descompactados, eles consomem largura de banda e a latência pode prejudicar uma conexão.
Cabeçalhos redundantes também são removidos durante as solicitações. Depois que um cabeçalho é estabelecido uma vez, ele não precisa ser enviado de novo e de novo, e não é, graças ao SPDY.
O SPDY requer SSL para segurança, tornando-o muito mais seguro que o HTTP. Além disso, foi demonstrado em testes comparativos entre os participantes, 64% mais rápido que o HTTP, embora testes subseqüentes realizados por algumas equipes tenham mostrado que isso não faz muita diferença em geral, porque os sites têm muito material de origem diferente que ainda teria um pouco de latência em uso.
No entanto, a partir de novembro de 2014, o SPDY é suportado por 2, 3% de todos os sites, incluindo o Twitter e muitos dos serviços do Google.
Como posso usá-lo?
Se você usa os serviços do Google ou o Twitter, já está usando o SPDY. No entanto, como apenas alguns sites suportam SPDY, é provável que você não use mais do que HTTP ou HTTPS por muito tempo.
Para usuários com servidores da Web, você geralmente pode implementar o SPDY sem precisar alterar nenhum conteúdo da Web. Para usuários Apache Como configurar um servidor Web Apache em 3 etapas fáceis Como configurar um servidor Web Apache em 3 etapas fáceis Seja qual for o motivo, você pode, em algum momento, querer ter um servidor web funcionando. Se você quer se dar acesso remoto a certas páginas ou serviços, você quer obter uma comunidade ... Read More, existe uma extensão SPDY que pode ser instalada chamada mod_SPDY. Se você usar o Nginx, poderá aplicar o patch SPDY. Embora o mod_SPDY e o patch SPDY para o Nginx sejam certamente novos e provavelmente confusos, eles não são incrivelmente difíceis de instalar. No entanto, você ainda precisará de um certificado SSL. Este artigo de Mohan Ramkumar irá mostrar-lhe como obter o seu próprio certificado SSL Como obter o seu próprio certificado SSL gratuito Como obter o seu próprio certificado SSL gratuito Leia mais, gratuitamente.
Se você está em um navegador e curioso sobre quais sites suportam SPDY, há aplicativos e complementos disponíveis que mostram se ele está habilitado ou não, como o SPDY Indicator disponível para o Chrome e o Mozilla Firefox. Ele exibe um pequeno ícone de iluminação verde, se estiver ativado para um site específico, e um ícone cinza opcional, se não estiver ativado.
Conclusão
Embora o SPDY possa não ser mais rápido que o HTTP no mundo real, está chegando lá e já é suportado por vários navegadores da web, incluindo Chrome / Chromium, Mozilla Firefox, Opera, Amazon Silk e Safari. Embora a ativação do suporte para SPDY em seu próprio servidor possa ser um pouco complicada no início, você está preparando o caminho para uma nova rede mundial de computadores.
Tem alguma experiência com o SPDY? Deixe um comentário abaixo e vamos conversar!
Crédito da Imagem: Sala do Servidor via Flickr, Unplugged via Flickr, SPDY Ativado no Firefox 12.0 via Flickr