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

As vantagens do HTTP 2.0

As vantagens do HTTP 2.0

Avatar for Manoel Aranda Neto

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