http/2 - the web of future

Post on 06-Aug-2015

563 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

HTTP/2THE WEB OF FUTURE

/ Vahe Evoyan @evoyan

evoyan.org/http2-barcamp/

vahe-evoyan.github.io/http2-presentation/

WHO THE HECK IS THIS GUY?

10+ YEARS OF SW ENGINEERING

WORKS AT INSTIGATE MOBILE

ACTIVE MEMBER AND CO-LEADER AT OWASP ARMENIA

WHY HTTP/2?

IT'S ALL ABOUT PERFORMANCE

TCP INTRODUCTIONTHREE-WAY HANDSHAKE

TCP SLOW START

HTTP 1.01995

HTTP 1.1OPTIONS METHOD

ADVANCED CACHING

RANGE REQUESTS

COMPRESSION ALGORITHMS

PIPELINING

HOL BLOCKING

TOTAL TRANSFER SIZE AND TOTAL REQUESTS

2011 2012 2013 2014 2015

600

800

1,000

1,200

1,400

1,600

1,800

2,000

2,200

76

78

80

82

84

86

88

90

92

94

96

98

100JS chart by amCharts

WORKAROUNDS

SPRITING

INLININGCSS

li { background: url(data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/ no-repeat left center; padding: 5px 0 5px 25px;}

HTML<img width="16" height="16" src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7"

CONCATENATION/*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module...

SHARDINGSTATIC-1.EXAMPLE.COM

STATIC-2.EXAMPLE.COM

STATIC-3.EXAMPLE.COM

STATIC-4.EXAMPLE.COM

SPDY2009

COMPRESSION

MULTIPLEXING

PRIORITIZATION

...

WAIT!

SPDYBINARY PROTOCOL

TLS ONLY

NPN

Application (HTTP 1.1)

Session (SPDY | TLS)

Transport (TCP)

Network (IP)

TLS INTRODUCTIONTHREE-WAY HANDSHAKE + NEXT PROTOCOL NEGOTIATION

HTTP/2Application (HTTP/2)

Session (TLS)

Transport (TCP)

Network (IP)

Binary FramingBINARY PROTOCOL

TLS IS OPTIONAL

APPLICATION-LAYER PROTOCOLNEGOTIATION

MULTIPLEXINGSTREAM - MESSAGE - FRAME

PRIORITIZATIONWEIGHTED STREAMS

DEPENDENCIES

SERVER PUSHPUSH_PROMISE FRAMES

RST_STREAM FRAMES

HEADER COMPRESSIONHPACK

AND A LOT MORESecurity Now (Ep. 495). HTTP/2HTTP vs HTTPS - Test them bothHTTP/2 Specs (RFC 2119)http2 explained - The HTTP/2 book

ApacheNgin

x

MicrosoftIIS

LiteSpeed

TomcatLighttpdTengine

Nodejs

CowboyZopeZeus

Gunicorn

WEBric

k

Thin

Resin

Jetty

Kangle

BaseHTTPServer

Torn

ado

Cherokee

Mongrel

AOLserverRoxen

CherryPy

WebSTAR

Hiawatha

WebToB

IceWarp

Abyss

Twisted

KomHttpServer

Orion

Jexus

WebHare

CouchDB

NaviServer

Yaws

RaidenHTTPD CaudiumGWAN

Monkey

AllegroServe

Misultin

Hunch

entoo

t

Virtuoso

Swazoo

Trifork Wildca

t

Blazix

Inets

Mongr

el2

TclW

ebse

rver

Comanche

Mathop

d

Tntnet

WebSiphon

XavanteGoogle Servers

Apache Traffic Server

IBM Servers

Oracle Servers

Paste WSGI HTTP Server

Yahoo Traffic Server

Barracuda ServerAda Web Server

SO WHAT ABOUT US?

THANKS!

top related