SlideShare a Scribd company logo
What’s new in HTTP/2?
28 Oct 2015
MORE INFORMATION AT
NGINX.COM
Your Questions
1. Who are we?
● Floyd Smith, Technical Marketing Writer. Author of NGINX White Paper, “HTTP/2 for Web
Application Developers”.
● Faisal Memon, Product Marketer
● Here in spirit: Valentin Bartenev, SPDY and HTTP/2 lead developer at NGINX, presenter
at industry conferences. Author of blog post, “7 Tips for Faster HTTP/2 Performance”.
2. How will HTTP/2 affect my site?
3. Who will be implementing it?
4. Should I implement HTTP/2, and when?
MORE INFORMATION AT
NGINX.COM
Agenda
● Why HTTP/2 is important
● What’s new in HTTP/2
● How NGINX supports HTTP/2
● Conclusion
MORE INFORMATION AT
NGINX.COM
Why HTTP/2 is Important
1. Encourage security for users
• Credit card information theft
• Login information theft
• “Soft data” such as sites visited and search terms used
2. Protect publishers and advertisers
• Make sure site content gets to users
• Protect ads from being hijacked and replaced - key concern for Google, all
• Assurance for users
3. Side benefits
• Reduce Internet congestion by reducing connections
• Make app development and maintenance easier
MORE INFORMATION AT
NGINX.COM
Who Should Consider HTTP/2
1. Current SPDY Sites
• Matter of timing
• SPDY deprecated for Q1 2016
2. Greenfield SSL/TLS Sites
• Should be better performance
• Simplifies code and delivery architecture
3. Performance-Critical SSL/TLS Sites
• Test performance before deployment
• Use time saved by simpler coding for other improvements
4. Sites that want tech bragging rights
• Client software (browsers), server software (ie NGINX!), and tools (WireShark)
• Sites that like to lead on technology and that are actually faster on HTTP/2
• Developers or business side can lead
MORE INFORMATION AT
NGINX.COM
Who Uses HTTP/2 / SPDY Already
1. Get the Indicator for Google Chrome
• Search for “Chrome plugin HTTP/2”
• Or go to https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/
• Grey - HTTP/1.x, Green - SPDY, Blue - HTTP/2, Red - QUIC
2. A few current users (most of Top 10 websites - not eBay, Microsoft)
• SPDY: Facebook, YouTube, Baidu, Yahoo!, Amazon, Wikipedia, Dropbox
• HTTP/2: Google search, Cloudflare, WordPress
• QUIC (Google experimental protocol): Gmail, Google Calendar etc.
MORE INFORMATION AT
NGINX.COM
SPDY - Predecessor to HTTP/2
1. Introduced by Google five years ago
● One connection, multiplexing, SSL/TLS, compressed headers, prioritization - like HTTP/2
● Proprietary, non-standard
● Protects “soft data” such as sites visited and search terms used
2. Protect publishers and advertisers
● Make sure site content gets to users
● Protect ads from being hijacked and replaced - key concern for Google, all
3. Side benefits
● Reduce Internet congestion by reducing connections
● Make app development and maintenance easier
● Minus: Binary protocols harder to debug
4. NGINX the SPDY leader
● Early, robust, widely recognized support in NGINX
● Only about 5% of sites used SPDY - Google, Facebook, WordPress - but awareness and
interest among developers were high
MORE INFORMATION AT
NGINX.COM
Agenda
● Why HTTP/2 is important
● What’s new in HTTP/2
● How NGINX supports HTTP/2
● Conclusion
MORE INFORMATION AT
NGINX.COM
HTTP Refresher
• Hyper Text Transfer Protocol
• Defines how web content is downloaded
over the internet
• Language is actions (GET, POST, etc)
• Last update was in June 1999 (HTTP/1.1)
GeoCities was the third most popular website
in 1999
MORE INFORMATION AT
NGINX.COM
HTTP/1 HTTP/2
MORE INFORMATION AT
NGINX.COM
HTTP/1.1 Overview
• One request at a time per TCP connection
Why?
• Easier implementation
• Thread/Process per connection
What about HTTP Pipelining?
• Defined but not used in practice
• Still requires In-order completion
MORE INFORMATION AT
NGINX.COM
HTTP/1.1: Multiple Connections
Browsers typically makes 6 connections per domain
MORE INFORMATION AT
NGINX.COM
HTTP/1.1: Performance Improvements
• Domain Sharding – Use multiple sub-domains to get more connections
• sub-1.example.com, sub-2.example.com, sub-3.example.com, etc.
• Complicates architecture
• Concatenating – Combine resources (CSS, JS, images) into a single larger
image
• Poor cache utilization – Change in one element means entire combined resource must
be fetched
• Delays – Must download entire resource before any concatenated resource can be used
• Inlining – Embed resources directly within the HTML
• Duplication – Must be inlined everywhere it is being used
MORE INFORMATION AT
NGINX.COM
HTTP/2: True Multiplexing
• Multiples requests over a time per TCP connection
• Out of order completion
• Actions (GET,POST, etc) are unchanged
• Based on Google’s SPDY protocol
MORE INFORMATION AT
NGINX.COM
HTTP/2: True Multiplexing
Requests and Responses are interleaved on the same TCP connection
- From High Performance Browser Networking by Ilya Grigorik
MORE INFORMATION AT
NGINX.COM
HTTP/2: Binary Header
MORE INFORMATION AT
NGINX.COM
HTTP/2: Request Prioritization
Web content can be assigned weights and dependencies
MORE INFORMATION AT
NGINX.COM
HTTP/2: More features
• Server Push – Server pushes resources to client before it requests it
• Header Compression – HPACK header compression reduces size of HTTP/2
header
• Mandatory SSL – Not mandated by RFC but Chrome and Firefox won’t support
without it
• More secure websites
• Higher search rankings for encrypted sites
MORE INFORMATION AT
NGINX.COM
HTTP/2: Backwards Compatibility
• ALPN (OpenSSL 1.0.2)
• NPN (OpenSSL 1.0.1)
• Browser sends list of
supported protocols
• If h2 in list, HTTP/2 will
be used
MORE INFORMATION AT
NGINX.COM
Agenda
● Why HTTP/2 is important
● What’s new in HTTP/2
● How NGINX supports HTTP/2
● Conclusion
MORE INFORMATION AT
NGINX.COM
How NGINX Supports HTTP/2
NGINX translates HTTP/2 to the language your application speaks
MORE INFORMATION AT
NGINX.COM
How NGINX Supports HTTP/2
• Supported in both NGINX Plus R7 and NGINX 1.9.5
• Pre-built binaries are built with OpenSSL 1.0.1
• ALPN is supported but requires OpenSSL 1.0.2
• Compile from source to use ALPN
• SPDY and HTTP/2 not supported at the same time
• No Server Push yet...
MORE INFORMATION AT
NGINX.COM
NGINX HTTP/2 Configuration
server {
listen 80;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2 default_server;
ssl_certificate server.crt;
ssl_certificate_key server.key;
…
}
MORE INFORMATION AT
NGINX.COM
Agenda
● Why HTTP/2 is important
● What’s new in HTTP/2
● How NGINX supports HTTP/2
● Conclusion
MORE INFORMATION AT
NGINX.COM
What Developers Have to Do
1. Monitor browser support for HTTP/2
• 63% of current browsers support it
• Adding about 2% per month
• Older browsers default to HTTP/1.x
2. Decide when to move to SSL and HTTP/2
• Move to SSL can be a big deal - not good for streaming media
• Moving to HTTP/2 soon is a no-brainer for SSL sites
• SPDY is an interim solution to early 2016
3. Implement changes
• Turn on HTTP/2 in NGINX
• Remove or modify HTTP/1.x optimizations: Domain sharding, image sprites, code
concatenation, inlining files
MORE INFORMATION AT
NGINX.COM
Think Through HTTP/2 Implementation
1. Are you already a leader?
• SPDY user
• Performance-led website
• Wanting tech cred
2. Greenfield SSL/TLS Sites
• Should be better performance
• Simplifies code and delivery architecture
3. Performance-Critical SSL/TLS Sites
• Test performance before deployment
• Use time saved by simpler coding for other improvements
4. Sites that are tech leaders
• Client software (browsers), server software (ie NGINX!), and tools (WireShark)
• Sites that like to lead on technology and that are indeed faster on HTTP/2
• Developers or business side can get the ball rolling
MORE INFORMATION AT
NGINX.COM
What You Can Do
1. Read the Materials
• Upcoming blog post, 7 Tips for Higher HTTP/2 Performance, nginx.com//7-tips-http2
• Links to white paper, HTTP/2 for Web Application Developers, nginx.com/http2-ebook
• Links to Valentin Bartenev presentation, https://www.nginx.com/http2-presentation
• Ilya Grigorich special edition ebook, High Performance Networking, nginx.com/http2-ebook
2. Ask customers their SSL and HTTP/2 expectations
3. Position your site as a leader on SPDY and HTTP/2, or….
Wait and see on SPDY and HTTP/2

More Related Content

PDF
Http/2 - What's it all about?
PDF
HTTP/2 - for TCP/IP Geeks Stockholm
PPTX
HTTP/2: Ask Me Anything
PPTX
Introduction to HTTP/2
PDF
Http2 right now
PPTX
PPTX
Introducing HTTP/2
PPTX
Introduction to HTTP/2
Http/2 - What's it all about?
HTTP/2 - for TCP/IP Geeks Stockholm
HTTP/2: Ask Me Anything
Introduction to HTTP/2
Http2 right now
Introducing HTTP/2
Introduction to HTTP/2

What's hot (20)

PPTX
HTTP/2 Changes Everything
PPTX
HTTP/2 Introduction
PDF
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
PDF
HTTP 2.0 – What do I need to know?
PPTX
HTTP/2 for Developers
PPTX
HTML5, HTTP2, and You 1.1
PPTX
HTTP/2 : why upgrading the web? - apidays Paris
PDF
Revisiting HTTP/2
PDF
HTTP/2: What no one is telling you
PDF
HTTP/2 standard for video streaming
PDF
SPDY and HTTP/2
PDF
HTTP2:新的机遇与挑战
PPTX
SPDY - or maybe HTTP2.0
PPTX
What's New in NGINX Plus R7?
PPTX
Http2: why the web is upgrading? - bdx.io 2015
PDF
Revisiting HTTP/2
PPTX
NGINX: HTTP/2 Server Push and gRPC
PPTX
Delivering High Performance Websites with NGINX
PPTX
5 things you didn't know nginx could do velocity
PDF
Communicating on the web
HTTP/2 Changes Everything
HTTP/2 Introduction
O'Reilly Fluent Conference: HTTP/1.1 vs. HTTP/2
HTTP 2.0 – What do I need to know?
HTTP/2 for Developers
HTML5, HTTP2, and You 1.1
HTTP/2 : why upgrading the web? - apidays Paris
Revisiting HTTP/2
HTTP/2: What no one is telling you
HTTP/2 standard for video streaming
SPDY and HTTP/2
HTTP2:新的机遇与挑战
SPDY - or maybe HTTP2.0
What's New in NGINX Plus R7?
Http2: why the web is upgrading? - bdx.io 2015
Revisiting HTTP/2
NGINX: HTTP/2 Server Push and gRPC
Delivering High Performance Websites with NGINX
5 things you didn't know nginx could do velocity
Communicating on the web
Ad

Viewers also liked (17)

PDF
HTTP2 is Here!
PDF
The Case for HTTP/2
PPTX
HTTP/2 in Examples
PPTX
WordPress + NGINX Best Practices with EasyEngine
PDF
HTTP2 & HPACK #pyfes 2013-11-30
PDF
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
PPTX
Maximizing PHP Performance with NGINX
PDF
How to Create a Professional Slideshare for Absolute Beginners
PPTX
Benchmarking NGINX for Accuracy and Results
PDF
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
PPTX
NGINX Installation and Tuning
PDF
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
PDF
How to monitor NGINX
PPTX
Load Balancing and Scaling with NGINX
PDF
What HTTP/2.0 Will Do For You
PPTX
NGINX High-performance Caching
PPTX
Load Balancing Apps in Docker Swarm with NGINX
HTTP2 is Here!
The Case for HTTP/2
HTTP/2 in Examples
WordPress + NGINX Best Practices with EasyEngine
HTTP2 & HPACK #pyfes 2013-11-30
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
Maximizing PHP Performance with NGINX
How to Create a Professional Slideshare for Absolute Beginners
Benchmarking NGINX for Accuracy and Results
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
NGINX Installation and Tuning
Monitoring Highly Dynamic and Distributed Systems with NGINX Amplify
How to monitor NGINX
Load Balancing and Scaling with NGINX
What HTTP/2.0 Will Do For You
NGINX High-performance Caching
Load Balancing Apps in Docker Swarm with NGINX
Ad

Similar to What's New in HTTP/2 (20)

PDF
Http 2: Should I care?
PDF
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
PPTX
Next generation web protocols
PPTX
2018 ui5con http2 ui5
PDF
Meetup Tech Talk on Web Performance
PDF
HTTP/2: What's new?
PDF
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
PDF
A New Internet? Introduction to HTTP/2, QUIC and DOH
PDF
Introduction to HTTP2
PPTX
PPTX
Http2 Security Perspective
PPTX
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
PDF
Massively Scaled High Performance Web Services with PHP
PPTX
What's New in NGINX Plus R8
PPTX
In a HTTP/2 World - DeccanRubyConf 2017
PPTX
I want the next generation web here SPDY QUIC
PDF
HTML5, CSS3 and the Future of the Web
PPTX
HTTP/2 and web development practices
PPTX
Http2 is here! And why the web needs it
Http 2: Should I care?
A new Internet? Intro to HTTP/2, QUIC, DoH and DNS over QUIC
Next generation web protocols
2018 ui5con http2 ui5
Meetup Tech Talk on Web Performance
HTTP/2: What's new?
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
A New Internet? Introduction to HTTP/2, QUIC and DOH
Introduction to HTTP2
Http2 Security Perspective
Google are pushing HTTPS hard. Why? And​,​ when should you act? by Mark Thoma...
Massively Scaled High Performance Web Services with PHP
What's New in NGINX Plus R8
In a HTTP/2 World - DeccanRubyConf 2017
I want the next generation web here SPDY QUIC
HTML5, CSS3 and the Future of the Web
HTTP/2 and web development practices
Http2 is here! And why the web needs it

More from NGINX, Inc. (20)

PDF
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
PDF
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
PDF
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
PPTX
Get Hands-On with NGINX and QUIC+HTTP/3
PPTX
Managing Kubernetes Cost and Performance with NGINX & Kubecost
PDF
Manage Microservices Chaos and Complexity with Observability
PDF
Accelerate Microservices Deployments with Automation
PDF
Unit 2: Microservices Secrets Management 101
PDF
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
PDF
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
PDF
Easily View, Manage, and Scale Your App Security with F5 NGINX
PDF
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
PDF
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
PPTX
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
PPTX
Protecting Apps from Hacks in Kubernetes with NGINX
PPTX
NGINX Kubernetes API
PPTX
Successfully Implement Your API Strategy with NGINX
PPTX
Installing and Configuring NGINX Open Source
PPTX
Shift Left for More Secure Apps with F5 NGINX
PPTX
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx
【NGINXセミナー】 Ingressを使ってマイクロサービスの運用を楽にする方法
【NGINXセミナー】 NGINXのWAFとは?その使い方と設定方法 解説セミナー
【NGINXセミナー】API ゲートウェイとしてのNGINX Plus活用方法
Get Hands-On with NGINX and QUIC+HTTP/3
Managing Kubernetes Cost and Performance with NGINX & Kubecost
Manage Microservices Chaos and Complexity with Observability
Accelerate Microservices Deployments with Automation
Unit 2: Microservices Secrets Management 101
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
NGINX基本セミナー(セキュリティ編)~NGINXでセキュアなプラットフォームを実現する方法!
Easily View, Manage, and Scale Your App Security with F5 NGINX
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Install and Configure NGINX Unit, the Universal Application, Web, and Proxy S...
Protecting Apps from Hacks in Kubernetes with NGINX
NGINX Kubernetes API
Successfully Implement Your API Strategy with NGINX
Installing and Configuring NGINX Open Source
Shift Left for More Secure Apps with F5 NGINX
How to Avoid the Top 5 NGINX Configuration Mistakes.pptx

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Cloud computing and distributed systems.
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
DOCX
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Diabetes mellitus diagnosis method based random forest with bat algorithm
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Cloud computing and distributed systems.
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Chapter 3 Spatial Domain Image Processing.pdf
Programs and apps: productivity, graphics, security and other tools
sap open course for s4hana steps from ECC to s4
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
The AUB Centre for AI in Media Proposal.docx

What's New in HTTP/2

  • 1. What’s new in HTTP/2? 28 Oct 2015
  • 2. MORE INFORMATION AT NGINX.COM Your Questions 1. Who are we? ● Floyd Smith, Technical Marketing Writer. Author of NGINX White Paper, “HTTP/2 for Web Application Developers”. ● Faisal Memon, Product Marketer ● Here in spirit: Valentin Bartenev, SPDY and HTTP/2 lead developer at NGINX, presenter at industry conferences. Author of blog post, “7 Tips for Faster HTTP/2 Performance”. 2. How will HTTP/2 affect my site? 3. Who will be implementing it? 4. Should I implement HTTP/2, and when?
  • 3. MORE INFORMATION AT NGINX.COM Agenda ● Why HTTP/2 is important ● What’s new in HTTP/2 ● How NGINX supports HTTP/2 ● Conclusion
  • 4. MORE INFORMATION AT NGINX.COM Why HTTP/2 is Important 1. Encourage security for users • Credit card information theft • Login information theft • “Soft data” such as sites visited and search terms used 2. Protect publishers and advertisers • Make sure site content gets to users • Protect ads from being hijacked and replaced - key concern for Google, all • Assurance for users 3. Side benefits • Reduce Internet congestion by reducing connections • Make app development and maintenance easier
  • 5. MORE INFORMATION AT NGINX.COM Who Should Consider HTTP/2 1. Current SPDY Sites • Matter of timing • SPDY deprecated for Q1 2016 2. Greenfield SSL/TLS Sites • Should be better performance • Simplifies code and delivery architecture 3. Performance-Critical SSL/TLS Sites • Test performance before deployment • Use time saved by simpler coding for other improvements 4. Sites that want tech bragging rights • Client software (browsers), server software (ie NGINX!), and tools (WireShark) • Sites that like to lead on technology and that are actually faster on HTTP/2 • Developers or business side can lead
  • 6. MORE INFORMATION AT NGINX.COM Who Uses HTTP/2 / SPDY Already 1. Get the Indicator for Google Chrome • Search for “Chrome plugin HTTP/2” • Or go to https://chrome.google.com/webstore/detail/http2-and-spdy-indicator/ • Grey - HTTP/1.x, Green - SPDY, Blue - HTTP/2, Red - QUIC 2. A few current users (most of Top 10 websites - not eBay, Microsoft) • SPDY: Facebook, YouTube, Baidu, Yahoo!, Amazon, Wikipedia, Dropbox • HTTP/2: Google search, Cloudflare, WordPress • QUIC (Google experimental protocol): Gmail, Google Calendar etc.
  • 7. MORE INFORMATION AT NGINX.COM SPDY - Predecessor to HTTP/2 1. Introduced by Google five years ago ● One connection, multiplexing, SSL/TLS, compressed headers, prioritization - like HTTP/2 ● Proprietary, non-standard ● Protects “soft data” such as sites visited and search terms used 2. Protect publishers and advertisers ● Make sure site content gets to users ● Protect ads from being hijacked and replaced - key concern for Google, all 3. Side benefits ● Reduce Internet congestion by reducing connections ● Make app development and maintenance easier ● Minus: Binary protocols harder to debug 4. NGINX the SPDY leader ● Early, robust, widely recognized support in NGINX ● Only about 5% of sites used SPDY - Google, Facebook, WordPress - but awareness and interest among developers were high
  • 8. MORE INFORMATION AT NGINX.COM Agenda ● Why HTTP/2 is important ● What’s new in HTTP/2 ● How NGINX supports HTTP/2 ● Conclusion
  • 9. MORE INFORMATION AT NGINX.COM HTTP Refresher • Hyper Text Transfer Protocol • Defines how web content is downloaded over the internet • Language is actions (GET, POST, etc) • Last update was in June 1999 (HTTP/1.1) GeoCities was the third most popular website in 1999
  • 11. MORE INFORMATION AT NGINX.COM HTTP/1.1 Overview • One request at a time per TCP connection Why? • Easier implementation • Thread/Process per connection What about HTTP Pipelining? • Defined but not used in practice • Still requires In-order completion
  • 12. MORE INFORMATION AT NGINX.COM HTTP/1.1: Multiple Connections Browsers typically makes 6 connections per domain
  • 13. MORE INFORMATION AT NGINX.COM HTTP/1.1: Performance Improvements • Domain Sharding – Use multiple sub-domains to get more connections • sub-1.example.com, sub-2.example.com, sub-3.example.com, etc. • Complicates architecture • Concatenating – Combine resources (CSS, JS, images) into a single larger image • Poor cache utilization – Change in one element means entire combined resource must be fetched • Delays – Must download entire resource before any concatenated resource can be used • Inlining – Embed resources directly within the HTML • Duplication – Must be inlined everywhere it is being used
  • 14. MORE INFORMATION AT NGINX.COM HTTP/2: True Multiplexing • Multiples requests over a time per TCP connection • Out of order completion • Actions (GET,POST, etc) are unchanged • Based on Google’s SPDY protocol
  • 15. MORE INFORMATION AT NGINX.COM HTTP/2: True Multiplexing Requests and Responses are interleaved on the same TCP connection - From High Performance Browser Networking by Ilya Grigorik
  • 17. MORE INFORMATION AT NGINX.COM HTTP/2: Request Prioritization Web content can be assigned weights and dependencies
  • 18. MORE INFORMATION AT NGINX.COM HTTP/2: More features • Server Push – Server pushes resources to client before it requests it • Header Compression – HPACK header compression reduces size of HTTP/2 header • Mandatory SSL – Not mandated by RFC but Chrome and Firefox won’t support without it • More secure websites • Higher search rankings for encrypted sites
  • 19. MORE INFORMATION AT NGINX.COM HTTP/2: Backwards Compatibility • ALPN (OpenSSL 1.0.2) • NPN (OpenSSL 1.0.1) • Browser sends list of supported protocols • If h2 in list, HTTP/2 will be used
  • 20. MORE INFORMATION AT NGINX.COM Agenda ● Why HTTP/2 is important ● What’s new in HTTP/2 ● How NGINX supports HTTP/2 ● Conclusion
  • 21. MORE INFORMATION AT NGINX.COM How NGINX Supports HTTP/2 NGINX translates HTTP/2 to the language your application speaks
  • 22. MORE INFORMATION AT NGINX.COM How NGINX Supports HTTP/2 • Supported in both NGINX Plus R7 and NGINX 1.9.5 • Pre-built binaries are built with OpenSSL 1.0.1 • ALPN is supported but requires OpenSSL 1.0.2 • Compile from source to use ALPN • SPDY and HTTP/2 not supported at the same time • No Server Push yet...
  • 23. MORE INFORMATION AT NGINX.COM NGINX HTTP/2 Configuration server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl http2 default_server; ssl_certificate server.crt; ssl_certificate_key server.key; … }
  • 24. MORE INFORMATION AT NGINX.COM Agenda ● Why HTTP/2 is important ● What’s new in HTTP/2 ● How NGINX supports HTTP/2 ● Conclusion
  • 25. MORE INFORMATION AT NGINX.COM What Developers Have to Do 1. Monitor browser support for HTTP/2 • 63% of current browsers support it • Adding about 2% per month • Older browsers default to HTTP/1.x 2. Decide when to move to SSL and HTTP/2 • Move to SSL can be a big deal - not good for streaming media • Moving to HTTP/2 soon is a no-brainer for SSL sites • SPDY is an interim solution to early 2016 3. Implement changes • Turn on HTTP/2 in NGINX • Remove or modify HTTP/1.x optimizations: Domain sharding, image sprites, code concatenation, inlining files
  • 26. MORE INFORMATION AT NGINX.COM Think Through HTTP/2 Implementation 1. Are you already a leader? • SPDY user • Performance-led website • Wanting tech cred 2. Greenfield SSL/TLS Sites • Should be better performance • Simplifies code and delivery architecture 3. Performance-Critical SSL/TLS Sites • Test performance before deployment • Use time saved by simpler coding for other improvements 4. Sites that are tech leaders • Client software (browsers), server software (ie NGINX!), and tools (WireShark) • Sites that like to lead on technology and that are indeed faster on HTTP/2 • Developers or business side can get the ball rolling
  • 27. MORE INFORMATION AT NGINX.COM What You Can Do 1. Read the Materials • Upcoming blog post, 7 Tips for Higher HTTP/2 Performance, nginx.com//7-tips-http2 • Links to white paper, HTTP/2 for Web Application Developers, nginx.com/http2-ebook • Links to Valentin Bartenev presentation, https://www.nginx.com/http2-presentation • Ilya Grigorich special edition ebook, High Performance Networking, nginx.com/http2-ebook 2. Ask customers their SSL and HTTP/2 expectations 3. Position your site as a leader on SPDY and HTTP/2, or…. Wait and see on SPDY and HTTP/2