SlideShare a Scribd company logo
1 of 29
Download to read offline
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
H2O
making  the  Web  faster
DeNA  Co.,  Ltd.
Kazuho  Oku
1	
  
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Agenda
n  How  H2O  started
n  The  Goal  and  Key  Features
n  Improving  User  Experience  with  HTTP/2
2	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
How  H2O  Started
3	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
About  H2O
n  H2O  is  a  HTTP  server
⁃  debut  in  late  2014
⁃  supports  HTTP/1  and  HTTP/2
⁃  known  for  its  performance
⁃  developed  by  DeNA  Co.,  Ltd.  and  contributors
"H2O  is  a  new  blazingly  fast  HTTP  server  with  http2  
support  that  shows  potential"
–  http2  explained  by  Daniel  Stenberg
4	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Benchmark
5	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
PicoHTTPParser
n  originally  written  for  HTTP::Parser::XS
⁃  the  de-‐‑‒facto  HTTP  parser  of  Plack  servers
n  the  core  of  H2O
6	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Design  philosophy  of  H2O
n  Do  it  right,  from  the  ground  up
n  design  wins  lead  to  higher  performance  with  less  
code
7	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
$ wc picohttpparser.[hc]	
596 2077 22192 picohttpparser.c	
86 495 3363 picohttpparser.h	
682 2572 25555 total	
	
$ wc http_parser.[hc]	
2434 7281 70424 http_parser.c	
342 1567 12991 http_parser.h	
2776 8848 83415 total
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
High-‐‑‒level  architecture  of  H2O
n  event-‐‑‒driven
⁃  can  handle  many  connections  concurrently
n  multi-‐‑‒thread
⁃  states  and  upstream  (reverse-‐‑‒proxy)  connections  
are  reused
•  impossible  under  a  multi-‐‑‒process  design
n  multi-‐‑‒protocol
⁃  designed  for  HTTP/2  and  TLS
8	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
The  Goal  and  Key  Features
9	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
The  goal  of  H2O  is  to  provide...
n  better  performance
⁃  demand  for  handling  more  requests:  
•  IoT,  micro-‐‑‒services,  etc.
n  better  user  experience
⁃  faster  content  delivery  using  HTTP/2
n  ease  to  use  and  configure
⁃  TLS  (OCSP  stapling,  record  size  tuning,  
chacha20/poly1305,  ...)
⁃  dynamic  reconfiguration
10	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Key  features  of  H2O
n  excellent  protocol  implementation
⁃  very  fast  HTTP/1
⁃  one  of  the  leading  implementations  of  HTTP/2
n  optimally  configured  for  HTTPS
⁃  enabled  by  default:  OCSP  stapling,  record  size  
tuning,  chacha20/poly1305,  ...
⁃  bundles  libressl  (hopefully  lesser  security  issues)
n  graceful  restart  and  self  upgrade  via  Server::Starter
11	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Key  features  of  H2O  (cont'd)
n  state-‐‑‒of-‐‑‒art  reverse  proxy
⁃  use  of  PicoHTTPParser  leads  to  performance
⁃  reuses  connections  with  a  server-‐‑‒wide  
connection  pool
⁃  X-‐‑‒Reproxy-‐‑‒URL  support
•  can  do  both:  backend-‐‑‒to-‐‑‒backend  and  backend-‐‑‒to-‐‑‒
local
⁃  DNS  lookup
•  backend  servers  can  be  added  /  removed  by  
updating  DNS  or  /etc/hosts
12	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Improving  User  Experience  with  H2O  &  HTTP/2
13	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Issues  of  HTTP/1  fixed  by  HTTP/2
n  head-‐‑‒of-‐‑‒line  blocking
⁃  using  multiple  TCP  connections  had  performance  
issues  due  to  slow-‐‑‒start  /  too  little  concurrency
n  prioritized  resource  loading
⁃  load  assets  that  block  rendering  (e.g.  CSS,  JS)  
before  images
14	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Prioritization  in  HTTP/2
n  weight-‐‑‒based  and  dependency-‐‑‒based
⁃  weight-‐‑‒based:  75%  of  bandwidth  to  A,  25%  to  B
⁃  dependency-‐‑‒based:  send  HTML  after  JavaScript
n  Firefox  is  known  for  its  state-‐‑‒of-‐‑‒art  protocol  impl.
⁃  send  CSS  and  JavaScript  files  in  <HEAD>  before  
HTML  and/or  image  files
⁃  HTML  is  given  2.5x  bandwidth  above  images
n  Chrome  uses  weight-‐‑‒based  only
⁃  adapted  from  its  SPDY  implementation
15	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
The  benchmark
n  test  data:  http2rulez.com
⁃  loads  5  CSS  and  8  JavaScript  files  in  <HEAD>
•  including  minified  jquery.js
⁃  loads  18  non-‐‑‒blocking  asset  files  (e.g.  images),  
both  small  and  large
n  network  is  given  100ms  latency
⁃  uses  a  virtual  network  to  avoid  noise
n  web  browsers:  Chrome  43  /  Firefox  38
n  servers:  H2O  1.3.0-‐‑‒alpha1  /  Nginx  1.9.1
⁃  on  Ubuntu  14.04  (on  VMware  fusion)
16	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Nginx  (HTTP/1.1)  +  Chrome
17	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.83  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Nginx  (SPDY/3.1)  +  Chrome
18	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.89  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
H2O  (HTTP/2)  +  Chrome
19	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.87  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Why  not  faster  with  HTTP/2?
n  Because  Chrome  (does  not)  prioritize  CSS  /  script  
files  above  images
n  upcoming  version  of  H2O  provides  a  configuration  
directive  http2-‐‑‒reprioritize-‐‑‒blocking-‐‑‒assets  to  tackle  
the  issue
⁃  when  set  to  ON,  the  server  sends  CSS  /  scripts  
before  anything  else
20	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
H2O  (HTTP/2+reprioritize:ON)  +  Chrome
21	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.32  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Nginx  (HTTP/1.1)  +  Firefox
22	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.32  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Nginx  (SPDY/3.1)  +  Firefox
23	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.87  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
H2O  (HTTP/2)  +  Firefox
24	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
first-‐‑‒paint  time:  1.03  seconds
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
The  benchmark  scores
25	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Analysis
n  H2O  (HTTP/2)  is  50%  faster  in  first-‐‑‒paint  time  
than  Nginx  (HTTP/1.1)  on  both  browsers
⁃  Chrome  needs  the  reprioritize  directive  set  to  ON
n  Nginx  (SPDY/3.1)  is  not  faster  than  HTTP/1.1,  likely  
because  it  does  not  prioritize  the  streams
⁃  on  Firefox,  HTTP/1.1  is  faster  than  SPDY/3.1  
since  the  browser  delays  sending  requests  for  
images  until  receiving  all  the  blocking  assets
26	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Conclusion
n  H2O  (and  HTTP/2)  provides  better  user  experience
⁃  esp.  under  high-‐‑‒latency  network  (e.g.  mobile)
n  prioritization  is  very  important  in  SPDY  &  HTTP/2
⁃  benchmark  your  HTTP/2  server!
⁃  on  the  client-‐‑‒side,  Firefox  is  doing  very  well
•  Chrome  needs  improvement,  H2O  provides  a  fix
27	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
What's  coming  to  H2O
n  Version  1.3
⁃  expected  this  week?
⁃  http2-‐‑‒reprioritize-‐‑‒blocking-‐‑‒assets  for  better  user  
experience  on  Chrome
⁃  preliminary  support  for  FastCGI
n  Version  1.4  and  beyond
⁃  ease-‐‑‒of-‐‑‒use  features
28	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
Copyright	
  (C)	
  2015	
  DeNA	
  Co.,Ltd.	
  All	
  Rights	
  Reserved.	
  
Stay  Tuned!
29	
  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)

More Related Content

What's hot

H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP serverKazuho Oku
 
Programming TCP for responsiveness
Programming TCP for responsivenessProgramming TCP for responsiveness
Programming TCP for responsivenessKazuho Oku
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战Jerry Qu
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for DevelopersSvetlin Nakov
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPCGuo Jing
 
IETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationAPNIC
 
RIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinarRIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinarMen and Mice
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OpenvSwitch
 
Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Alex Borysov
 
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28Jxck Jxck
 
Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?APNIC
 
Microservices summit talk 1/31
Microservices summit talk   1/31Microservices summit talk   1/31
Microservices summit talk 1/31Varun Talwar
 
Introduction to QUIC
Introduction to QUICIntroduction to QUIC
Introduction to QUICShuya Osaki
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 IntroductionWalter Liu
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
Technical Overview of QUIC
Technical  Overview of QUICTechnical  Overview of QUIC
Technical Overview of QUICshigeki_ohtsu
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016Daniel Stenberg
 

What's hot (20)

H2O - the optimized HTTP server
H2O - the optimized HTTP serverH2O - the optimized HTTP server
H2O - the optimized HTTP server
 
Programming TCP for responsiveness
Programming TCP for responsivenessProgramming TCP for responsiveness
Programming TCP for responsiveness
 
HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战HTTP2:新的机遇与挑战
HTTP2:新的机遇与挑战
 
Make gRPC great again
Make gRPC great againMake gRPC great again
Make gRPC great again
 
HTTP/2 for Developers
HTTP/2 for DevelopersHTTP/2 for Developers
HTTP/2 for Developers
 
HTTP2 and gRPC
HTTP2 and gRPCHTTP2 and gRPC
HTTP2 and gRPC
 
IETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentationIETF 100: Surviving IPv6 fragmentation
IETF 100: Surviving IPv6 fragmentation
 
RIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinarRIPE 71 and IETF 94 reports webinar
RIPE 71 and IETF 94 reports webinar
 
Stress your DUT
Stress your DUTStress your DUT
Stress your DUT
 
LF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOceanLF_OVS_17_OvS manipulation with Go at DigitalOcean
LF_OVS_17_OvS manipulation with Go at DigitalOcean
 
Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.Enabling Googley microservices with HTTP/2 and gRPC.
Enabling Googley microservices with HTTP/2 and gRPC.
 
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
SPDY & HTTP2.0 & QUIC - #bpstudy 2013-08-28
 
Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?Are we really ready to turn off IPv4?
Are we really ready to turn off IPv4?
 
Microservices summit talk 1/31
Microservices summit talk   1/31Microservices summit talk   1/31
Microservices summit talk 1/31
 
Introduction to QUIC
Introduction to QUICIntroduction to QUIC
Introduction to QUIC
 
HTTP/2 Introduction
HTTP/2 IntroductionHTTP/2 Introduction
HTTP/2 Introduction
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Technical Overview of QUIC
Technical  Overview of QUICTechnical  Overview of QUIC
Technical Overview of QUIC
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016
 
DNSTap Webinar
DNSTap WebinarDNSTap Webinar
DNSTap Webinar
 

Viewers also liked

HTTP/2の課題と将来
HTTP/2の課題と将来HTTP/2の課題と将来
HTTP/2の課題と将来Kazuho Oku
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP betterKazuho Oku
 
TLS & LURK @ IETF 95
TLS & LURK @ IETF 95TLS & LURK @ IETF 95
TLS & LURK @ IETF 95Kazuho Oku
 
JSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedJSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedKazuho Oku
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話Kazuho Oku
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向Kazuho Oku
 
Attacking http2 implementations (1)
Attacking http2 implementations (1)Attacking http2 implementations (1)
Attacking http2 implementations (1)John Villamil
 
Gude for C++11 in Apache Traffic Server
Gude for C++11 in Apache Traffic ServerGude for C++11 in Apache Traffic Server
Gude for C++11 in Apache Traffic ServerApache Traffic Server
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Serversupertom
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureToru Kawamura
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれからshigeki_ohtsu
 
Securty Testing For RESTful Applications
Securty Testing For RESTful ApplicationsSecurty Testing For RESTful Applications
Securty Testing For RESTful ApplicationsSource Conference
 
Webディレクターの実績を可視化する方法
Webディレクターの実績を可視化する方法Webディレクターの実績を可視化する方法
Webディレクターの実績を可視化する方法Yasuji Takase
 
Unit 1.1 Introduction to Programming
Unit 1.1 Introduction to Programming Unit 1.1 Introduction to Programming
Unit 1.1 Introduction to Programming Intan Jameel
 
A Long Walk to Water - Lssn 11
A Long Walk to Water - Lssn 11A Long Walk to Water - Lssn 11
A Long Walk to Water - Lssn 11Terri Weiss
 

Viewers also liked (20)

HTTP/2の課題と将来
HTTP/2の課題と将来HTTP/2の課題と将来
HTTP/2の課題と将来
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
TLS & LURK @ IETF 95
TLS & LURK @ IETF 95TLS & LURK @ IETF 95
TLS & LURK @ IETF 95
 
JSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons LearnedJSON SQL Injection and the Lessons Learned
JSON SQL Injection and the Lessons Learned
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
 
Attacking http2 implementations (1)
Attacking http2 implementations (1)Attacking http2 implementations (1)
Attacking http2 implementations (1)
 
ATS Internals
ATS InternalsATS Internals
ATS Internals
 
Gude for C++11 in Apache Traffic Server
Gude for C++11 in Apache Traffic ServerGude for C++11 in Apache Traffic Server
Gude for C++11 in Apache Traffic Server
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
 
20150521
2015052120150521
20150521
 
Web Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the futureWeb Clients for Ruby and What they should be in the future
Web Clients for Ruby and What they should be in the future
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれから
 
Securty Testing For RESTful Applications
Securty Testing For RESTful ApplicationsSecurty Testing For RESTful Applications
Securty Testing For RESTful Applications
 
Pentesting ReST API
Pentesting ReST APIPentesting ReST API
Pentesting ReST API
 
Webディレクターの実績を可視化する方法
Webディレクターの実績を可視化する方法Webディレクターの実績を可視化する方法
Webディレクターの実績を可視化する方法
 
Unit 1.1 Introduction to Programming
Unit 1.1 Introduction to Programming Unit 1.1 Introduction to Programming
Unit 1.1 Introduction to Programming
 
Zendframework Parte2
Zendframework    Parte2Zendframework    Parte2
Zendframework Parte2
 
A Long Walk to Water - Lssn 11
A Long Walk to Water - Lssn 11A Long Walk to Water - Lssn 11
A Long Walk to Water - Lssn 11
 
Vastu
VastuVastu
Vastu
 

Similar to H2O - making the Web faster

Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceJean Tunis
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?LivePerson
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocolsDaniel Austin
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 erapeychevi
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Edward Burns
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015Edward Burns
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1Daniel Austin
 
How to enable file transfer acceleration in FileCatalyst Workflow
How to enable file transfer acceleration in FileCatalyst WorkflowHow to enable file transfer acceleration in FileCatalyst Workflow
How to enable file transfer acceleration in FileCatalyst WorkflowFileCatalyst
 
HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster WebC4Media
 
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICAPNIC
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoAlessandro Nadalin
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouEdward Burns
 
Improving performance by changing the rules from fast to SPDY
Improving performance by changing the rules   from fast to SPDYImproving performance by changing the rules   from fast to SPDY
Improving performance by changing the rules from fast to SPDYCotendo
 
From Fast To SPDY
From Fast To SPDYFrom Fast To SPDY
From Fast To SPDYMike Belshe
 
A New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHAPNIC
 

Similar to H2O - making the Web faster (20)

Meetup Tech Talk on Web Performance
Meetup Tech Talk on Web PerformanceMeetup Tech Talk on Web Performance
Meetup Tech Talk on Web Performance
 
Http 2: Should I care?
Http 2: Should I care?Http 2: Should I care?
Http 2: Should I care?
 
HTTP/2 Comes to Java
HTTP/2 Comes to JavaHTTP/2 Comes to Java
HTTP/2 Comes to Java
 
Next generation web protocols
Next generation web protocolsNext generation web protocols
Next generation web protocols
 
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 eraHTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
HTTP/2 and QUICK protocols. Optimizing the Web stack for HTTP/2 era
 
Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015Servlet 4.0 at GeekOut 2015
Servlet 4.0 at GeekOut 2015
 
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015HTTP/2 comes to Java.  What Servlet 4.0 means to you. DevNexus 2015
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
 
HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1HTML5, HTTP2, and You 1.1
HTML5, HTTP2, and You 1.1
 
How to enable file transfer acceleration in FileCatalyst Workflow
How to enable file transfer acceleration in FileCatalyst WorkflowHow to enable file transfer acceleration in FileCatalyst Workflow
How to enable file transfer acceleration in FileCatalyst Workflow
 
HTTP/2 and a Faster Web
HTTP/2 and a Faster WebHTTP/2 and a Faster Web
HTTP/2 and a Faster Web
 
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUICA new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
 
HTTP2 is Here!
HTTP2 is Here!HTTP2 is Here!
HTTP2 is Here!
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
 
Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
 
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San FranciscoHTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
 
CON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To YouCON5898 What Servlet 4.0 Means To You
CON5898 What Servlet 4.0 Means To You
 
Improving performance by changing the rules from fast to SPDY
Improving performance by changing the rules   from fast to SPDYImproving performance by changing the rules   from fast to SPDY
Improving performance by changing the rules from fast to SPDY
 
From Fast To SPDY
From Fast To SPDYFrom Fast To SPDY
From Fast To SPDY
 
Http2 right now
Http2 right nowHttp2 right now
Http2 right now
 
A New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOHA New Internet? Introduction to HTTP/2, QUIC and DOH
A New Internet? Introduction to HTTP/2, QUIC and DOH
 

More from Kazuho Oku

QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7Kazuho Oku
 
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先Kazuho Oku
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計Kazuho Oku
 
JSX 速さの秘密 - 高速なJavaScriptを書く方法
JSX 速さの秘密 - 高速なJavaScriptを書く方法JSX 速さの秘密 - 高速なJavaScriptを書く方法
JSX 速さの秘密 - 高速なJavaScriptを書く方法Kazuho Oku
 
JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013Kazuho Oku
 
Using the Power to Prove
Using the Power to ProveUsing the Power to Prove
Using the Power to ProveKazuho Oku
 
JSX - 公開から1年を迎えて
JSX - 公開から1年を迎えてJSX - 公開から1年を迎えて
JSX - 公開から1年を迎えてKazuho Oku
 
JSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the WebJSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the WebKazuho Oku
 
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜Kazuho Oku
 
JSX Design Overview (日本語)
JSX Design Overview (日本語)JSX Design Overview (日本語)
JSX Design Overview (日本語)Kazuho Oku
 
Unix Programming with Perl 2
Unix Programming with Perl 2Unix Programming with Perl 2
Unix Programming with Perl 2Kazuho Oku
 
例えば牛丼を避ける
例えば牛丼を避ける例えば牛丼を避ける
例えば牛丼を避けるKazuho Oku
 
オープンソース開発者がDeNAを選ぶ理由
オープンソース開発者がDeNAを選ぶ理由オープンソース開発者がDeNAを選ぶ理由
オープンソース開発者がDeNAを選ぶ理由Kazuho Oku
 

More from Kazuho Oku (16)

QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7QUIC標準化動向 〜2017/7
QUIC標準化動向 〜2017/7
 
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
 
HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計HTTP/2時代のウェブサイト設計
HTTP/2時代のウェブサイト設計
 
JSX 速さの秘密 - 高速なJavaScriptを書く方法
JSX 速さの秘密 - 高速なJavaScriptを書く方法JSX 速さの秘密 - 高速なJavaScriptを書く方法
JSX 速さの秘密 - 高速なJavaScriptを書く方法
 
JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013JSX の現在と未来 - Oct 26 2013
JSX の現在と未来 - Oct 26 2013
 
Using the Power to Prove
Using the Power to ProveUsing the Power to Prove
Using the Power to Prove
 
JSX - 公開から1年を迎えて
JSX - 公開から1年を迎えてJSX - 公開から1年を迎えて
JSX - 公開から1年を迎えて
 
JSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the WebJSX - developing a statically-typed programming language for the Web
JSX - developing a statically-typed programming language for the Web
 
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
 
JSX
JSXJSX
JSX
 
JSX Optimizer
JSX OptimizerJSX Optimizer
JSX Optimizer
 
JSX Design Overview (日本語)
JSX Design Overview (日本語)JSX Design Overview (日本語)
JSX Design Overview (日本語)
 
JSX
JSXJSX
JSX
 
Unix Programming with Perl 2
Unix Programming with Perl 2Unix Programming with Perl 2
Unix Programming with Perl 2
 
例えば牛丼を避ける
例えば牛丼を避ける例えば牛丼を避ける
例えば牛丼を避ける
 
オープンソース開発者がDeNAを選ぶ理由
オープンソース開発者がDeNAを選ぶ理由オープンソース開発者がDeNAを選ぶ理由
オープンソース開発者がDeNAを選ぶ理由
 

Recently uploaded

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

H2O - making the Web faster

  • 1. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   H2O making  the  Web  faster DeNA  Co.,  Ltd. Kazuho  Oku 1  
  • 2. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Agenda n  How  H2O  started n  The  Goal  and  Key  Features n  Improving  User  Experience  with  HTTP/2 2  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 3. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   How  H2O  Started 3  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 4. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   About  H2O n  H2O  is  a  HTTP  server ⁃  debut  in  late  2014 ⁃  supports  HTTP/1  and  HTTP/2 ⁃  known  for  its  performance ⁃  developed  by  DeNA  Co.,  Ltd.  and  contributors "H2O  is  a  new  blazingly  fast  HTTP  server  with  http2   support  that  shows  potential" –  http2  explained  by  Daniel  Stenberg 4  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 5. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Benchmark 5  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 6. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   PicoHTTPParser n  originally  written  for  HTTP::Parser::XS ⁃  the  de-‐‑‒facto  HTTP  parser  of  Plack  servers n  the  core  of  H2O 6  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 7. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Design  philosophy  of  H2O n  Do  it  right,  from  the  ground  up n  design  wins  lead  to  higher  performance  with  less   code 7  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) $ wc picohttpparser.[hc] 596 2077 22192 picohttpparser.c 86 495 3363 picohttpparser.h 682 2572 25555 total $ wc http_parser.[hc] 2434 7281 70424 http_parser.c 342 1567 12991 http_parser.h 2776 8848 83415 total
  • 8. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   High-‐‑‒level  architecture  of  H2O n  event-‐‑‒driven ⁃  can  handle  many  connections  concurrently n  multi-‐‑‒thread ⁃  states  and  upstream  (reverse-‐‑‒proxy)  connections   are  reused •  impossible  under  a  multi-‐‑‒process  design n  multi-‐‑‒protocol ⁃  designed  for  HTTP/2  and  TLS 8  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 9. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   The  Goal  and  Key  Features 9  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 10. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   The  goal  of  H2O  is  to  provide... n  better  performance ⁃  demand  for  handling  more  requests:   •  IoT,  micro-‐‑‒services,  etc. n  better  user  experience ⁃  faster  content  delivery  using  HTTP/2 n  ease  to  use  and  configure ⁃  TLS  (OCSP  stapling,  record  size  tuning,   chacha20/poly1305,  ...) ⁃  dynamic  reconfiguration 10  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 11. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Key  features  of  H2O n  excellent  protocol  implementation ⁃  very  fast  HTTP/1 ⁃  one  of  the  leading  implementations  of  HTTP/2 n  optimally  configured  for  HTTPS ⁃  enabled  by  default:  OCSP  stapling,  record  size   tuning,  chacha20/poly1305,  ... ⁃  bundles  libressl  (hopefully  lesser  security  issues) n  graceful  restart  and  self  upgrade  via  Server::Starter 11  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 12. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Key  features  of  H2O  (cont'd) n  state-‐‑‒of-‐‑‒art  reverse  proxy ⁃  use  of  PicoHTTPParser  leads  to  performance ⁃  reuses  connections  with  a  server-‐‑‒wide   connection  pool ⁃  X-‐‑‒Reproxy-‐‑‒URL  support •  can  do  both:  backend-‐‑‒to-‐‑‒backend  and  backend-‐‑‒to-‐‑‒ local ⁃  DNS  lookup •  backend  servers  can  be  added  /  removed  by   updating  DNS  or  /etc/hosts 12  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 13. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Improving  User  Experience  with  H2O  &  HTTP/2 13  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 14. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Issues  of  HTTP/1  fixed  by  HTTP/2 n  head-‐‑‒of-‐‑‒line  blocking ⁃  using  multiple  TCP  connections  had  performance   issues  due  to  slow-‐‑‒start  /  too  little  concurrency n  prioritized  resource  loading ⁃  load  assets  that  block  rendering  (e.g.  CSS,  JS)   before  images 14  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 15. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Prioritization  in  HTTP/2 n  weight-‐‑‒based  and  dependency-‐‑‒based ⁃  weight-‐‑‒based:  75%  of  bandwidth  to  A,  25%  to  B ⁃  dependency-‐‑‒based:  send  HTML  after  JavaScript n  Firefox  is  known  for  its  state-‐‑‒of-‐‑‒art  protocol  impl. ⁃  send  CSS  and  JavaScript  files  in  <HEAD>  before   HTML  and/or  image  files ⁃  HTML  is  given  2.5x  bandwidth  above  images n  Chrome  uses  weight-‐‑‒based  only ⁃  adapted  from  its  SPDY  implementation 15  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 16. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   The  benchmark n  test  data:  http2rulez.com ⁃  loads  5  CSS  and  8  JavaScript  files  in  <HEAD> •  including  minified  jquery.js ⁃  loads  18  non-‐‑‒blocking  asset  files  (e.g.  images),   both  small  and  large n  network  is  given  100ms  latency ⁃  uses  a  virtual  network  to  avoid  noise n  web  browsers:  Chrome  43  /  Firefox  38 n  servers:  H2O  1.3.0-‐‑‒alpha1  /  Nginx  1.9.1 ⁃  on  Ubuntu  14.04  (on  VMware  fusion) 16  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 17. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Nginx  (HTTP/1.1)  +  Chrome 17  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.83  seconds
  • 18. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Nginx  (SPDY/3.1)  +  Chrome 18  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.89  seconds
  • 19. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   H2O  (HTTP/2)  +  Chrome 19  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.87  seconds
  • 20. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Why  not  faster  with  HTTP/2? n  Because  Chrome  (does  not)  prioritize  CSS  /  script   files  above  images n  upcoming  version  of  H2O  provides  a  configuration   directive  http2-‐‑‒reprioritize-‐‑‒blocking-‐‑‒assets  to  tackle   the  issue ⁃  when  set  to  ON,  the  server  sends  CSS  /  scripts   before  anything  else 20  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 21. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   H2O  (HTTP/2+reprioritize:ON)  +  Chrome 21  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.32  seconds
  • 22. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Nginx  (HTTP/1.1)  +  Firefox 22  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.32  seconds
  • 23. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Nginx  (SPDY/3.1)  +  Firefox 23  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.87  seconds
  • 24. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   H2O  (HTTP/2)  +  Firefox 24  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015) first-‐‑‒paint  time:  1.03  seconds
  • 25. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   The  benchmark  scores 25  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 26. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Analysis n  H2O  (HTTP/2)  is  50%  faster  in  first-‐‑‒paint  time   than  Nginx  (HTTP/1.1)  on  both  browsers ⁃  Chrome  needs  the  reprioritize  directive  set  to  ON n  Nginx  (SPDY/3.1)  is  not  faster  than  HTTP/1.1,  likely   because  it  does  not  prioritize  the  streams ⁃  on  Firefox,  HTTP/1.1  is  faster  than  SPDY/3.1   since  the  browser  delays  sending  requests  for   images  until  receiving  all  the  blocking  assets 26  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 27. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Conclusion n  H2O  (and  HTTP/2)  provides  better  user  experience ⁃  esp.  under  high-‐‑‒latency  network  (e.g.  mobile) n  prioritization  is  very  important  in  SPDY  &  HTTP/2 ⁃  benchmark  your  HTTP/2  server! ⁃  on  the  client-‐‑‒side,  Firefox  is  doing  very  well •  Chrome  needs  improvement,  H2O  provides  a  fix 27  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 28. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   What's  coming  to  H2O n  Version  1.3 ⁃  expected  this  week? ⁃  http2-‐‑‒reprioritize-‐‑‒blocking-‐‑‒assets  for  better  user   experience  on  Chrome ⁃  preliminary  support  for  FastCGI n  Version  1.4  and  beyond ⁃  ease-‐‑‒of-‐‑‒use  features 28  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)
  • 29. Copyright  (C)  2015  DeNA  Co.,Ltd.  All  Rights  Reserved.   Stay  Tuned! 29  H2O  -‐‑‒  making  the  Web  faster  (Jun  2  2015)