Upgrade to Pro — share decks privately, control downloads, hide ads and more …

As vantagens do HTTP 2.0

As vantagens do HTTP 2.0

Manoel Aranda Neto

October 13, 2016
Tweet

More Decks by Manoel Aranda Neto

Other Decks in Programming

Transcript

  1. HTTP 1/1.1 Review • Baseado em texto • Headers •

    Requisição > espera > Resposta • Abrir conexão TCP antes de cada requisição
  2. Otimizações HTTP 1/1.1 Review • Keep-Alive para manter conexão •

    Browser abre várias conexões para paralelizar • Geralmente entre 4 e 8 • Servidor é metralhado de requisições • Diminuir Requisições – Juntar CSS e JS – Sprite de imagens (Juntar imagens) – InLine de recursos (JavaScript junto com o HTML)
  3. Otimizações HTTP 1/1.1 Review • Diminuir tráfego – GZIP (Apenas

    no corpo) – Minificação – Domínios sem cookies (Cookie é um Header) • Paralelizar requisições – Múltiplos hostnames – CDNs
  4. HTTP 2.0 e SPDY • Baseado no protocolo SPDY que

    foi desenvolvido pelo Google • Baseado em binário • HPACK (Comprimir Headers) • SSL é padrão (Existe gratuito letsencrypt.org) • GZIP é padrão • Multiplexing (Conexão TCP assíncrona e paralelização) – Juntar CSS e JS – Sprite de imagens (Juntar imagens) – Múltiplos hostnames – CDNs – GZIP
  5. HTTP 2.0 e SPDY • Após 1ª requisição, só envia

    os Headers que mudam • Stateful – Domínios sem cookies (Cookie é um Header) • Server Push – Priorização – Cancelável – Cacheável – InLine de recursos (JavaScript junto com o HTML)
  6. Inspiração HTTP 2.0 • Baseado no protocolo SPDY • SPDY

    foi desenvolvido pelo Google • Foi pensado para banda limitada e rede instável • Mobile era o foco • Até 45% mais rápido (média de 25%) • Compatível com HTTP 1.x
  7. Otimizações HTTP 2.0 • Diminuir tráfego – Cache – Minificação

    – Compreesão de imagens • Otimizar renderização – Server Push / Hint – Critical Path – 60 FPS / Jank free (página sem travar)
  8. Otimizações HTTP 2.0 • Diminuir latência – CDNs – QUIC

    (Nova implementação do TCP, baseado em UDP)
  9. Casos de sucesso • Twitter • Facebook • Google •

    Etc... • 10.1% dos 10 milhões de sites mais acessados, suportam HTTP 2.0
  10. Restrições HTTP 2.0 Server • IIS >= Win 10 e

    Win Server 2016 • Tomcat >= 8.5 (Precisa mudar uma conf.) • NodeJS >= 5.0 • Nginx >= 1.9.5 Ah se IIS fosse OpenSource... rs
  11. Restrições HTTP 2.0 Mobile • Android utiliza a biblioteca OkHttp

    em alguns projetos e ela é compatível, mas não é a mesma em todos projetos • iOS utiliza a biblioteca Alamofire e ela não é compatível, porém o SO faz reuso automaticamente de até 4 conexões simultâneas • Já existe biblioteca para iOS com suporte HTTP 2.0
  12. Considerações • Caso as restrições sejam inviáveis – Começar com

    SPDY é o 1º passo • Mobile precisa otimizar o tráfego de dados • APIs devem ser Mobile first