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

HTTP/2

 HTTP/2

Conheça o HTTP/2 e suas features, saiba quais são as novas práticas de desenvolvimento para front-end.

Pedro Araujo

January 16, 2015
Tweet

More Decks by Pedro Araujo

Other Decks in Technology

Transcript

  1. HTTP (OVERVIEW): • Principal protocolo da Web • Funciona no

    modelo de requisição e resposta • HTTP/1.0 foi desenvolvido em 1996 • Ultima atualização em 1999 com o HTTP/1.1 (RFC 2616) SIM, 1999!
  2. • Total transfer size: 720kb para 1900kb por página web

    • Total requests: 70 para 100 por página web Dados de 2011 a 2015 http://httparchive.org/
  3. • 3G no Brasil tem média de 195ms de latência

    • 4G no Brasil tem média de 58ms de latência ESTAMOS NA ERA MÓVEL http://opensignal.com/
  4. PERFORMANCE É IMPORTANTE O crescimento rápido do mundo da otimização

    de performance da Web no passar dos anos vem da importância da velocidade na experiência do usuário. • Sites mais rápidos lidam com melhor engajamento do usuário • Sites mais rápidos lidam com melhor retenção do usuário • Sites mais rápidos lidam com alta conversão
  5. PREOCUPAÇÕES DO HTTP 1.1? • Uso inadequado do TCP •

    HEAD OF LINE BLOCKING • Muitos, eu disse MUITOS workaraounds
  6. UM POUCO DO TCP: • Esconde a complexidade da comunicação

    de rede • Garante a entrega dos dados idênticos e na mesma ordem • Precisão e distribuição • Three-way HANDSHAKE: SYN, SYN ACK e ACK
  7. HTTP/2 (OVERVIEW): • Principal objetivo é reduzir a latência •

    Usa somente uma conexão TCP • NÃO modifica a semântica do HTTP (methods, status code, URIs, etc) • Baseado no SPDY
  8. HTTP/2 BINÁRIO • A camada binária esta no core do

    HTTP/2 • Messages são separados em vários frames • Possui sistema de priorização de streams • Responsável permitir requests e responses multiplexing • Precisa de uma ferramenta para inspecionar. (Wireshark - http://wireshark.org)
  9. HEADER COMPRESSION • Cada header descreve o recurso a ser

    transferido e suas propriedades • Média de 500 – 800 bytes • GZIP foi registrado como inseguro na versão com SPDY HPACK
  10. MULTIPLEXED STREAMS • Uma única conexão TCP por host •

    Multiplos requests sem bloquear nenhum • Multiplos responses sem bloquear nenhum • Remove desnecessários workaraunds
  11. SERVER PUSH Server Push evita um round trip, enviando os

    assets que ele acha que o client irá precisar. Server Hint é um mecanismo onde o servidor pode notificar o cliente de um recurso que vai ser necessário.
  12. SPDY (overview): • Protocolo experimental feito pelo Google feito em

    2009 • Objetivo de diminuir o Page Load Time em 50% • Minimizar a complexidade de deployment • Evitar mudanças de infra-estrutura de rede • Desenvolver um protocolo com a comunidade open-source • Obter o ganho de performance para (in)validar o protocolo
  13. MAIS... • HTTP/2 (IETF HTTP Working Group) - https://http2.github.io/ •

    High Performance Browser Networking - http://chimera.labs.oreilly.com/books/1230000000545/ch12.html • HTTP2 for front-end web developers - https://mattwilcox.net/web-development/http2-for-front-end-web-developers • Need for Speed 2: Improving Front-End Performance - https://jonsuh.com/blog/need-for-speed-2/ • HTTP/2 - Let’s Surf Like It’s 2015 - https://www.linkedin.com/pulse/http2-lets-surf-like-its-2015-rajat-taneja
  14. em português... • SPDY, HTTP2 e por que você deveria

    conhecê-los - http://blog.caelum.com.br/spdy-http2-e-por-que-voce-deveria-conhece-los/ • HTTP 2.0 tem sua primeira versão publicada - http://www.infoq.com/br/news/2012/12/http-20-draft-publicado • As fantásticas novidades do HTTP 2.0 e do SPDY - http://blog.caelum.com.br/as-fantasticas-novidades-do-http-2-0-e-do-spdy/ • HTTP/2 - Atualização do protocolo base da internet - http://tableless.com.br/http2-atualizacao-do-protocolo-base-da-internet/ • Simplificando o HTTP 2.0 - http://betomuniz.com/blog/simplificando-o-http-2-0/
  15. blog.concretesolutions.com.br www.concretesolutions.com.br São Paulo Rua Sansão Alves dos Santos, 433

    4º andar - Brooklin, São Paulo CEP: 04565-001 Tel.: +55 11 4119-0449 Rio de Janeiro Rua São José, 90 Sala: 2121 Centro, Rio de Janeiro CEP: 20010-020 Tel.: +55 21 2240-2030 OBRIGADO!