Abhishek Yadav
ரூபீ ப்ரோக்ராமர்
Co-organizer: Chennai.rb
1989: Tim Berners Lee: First GET requests
1996: Browser wars
1996: 40-60 % browsers already on Http1.0
1998: Google founded
1997-2000: Dot Com Bubble
2004: Facebook founded
2004: Gmail launched
2007: Iphone released
2008: Android released
2005: Ruby on Rails-1
2011: Rails 3.1: asset pipeline
2000: Roy Fielding: REST
2008: Chrome launched
2008: HTML5 Draft-1
2014: HTML5 finalized
2013: Chrome-29: SPDY
2011: Websockets shipped
2013: Snowden: NSA
2014: India: Modi as PM: massive use of social media
1989: Tim Berners Lee: First GET requests
1996: Browser wars
1996: 40-60 % browsers already on Http1.0
1998: Google founded
1997-2000: Dot Com Bubble
2004: Facebook founded
2004: Gmail launched
2007: Iphone released
2008: Android released
2005: Ruby on Rails-1
2011: Rails 3.1: asset pipeline
2000: Roy Fielding: REST
2008: Chrome launched
2008: HTML5 Draft-1
2014: HTML5 finalized
2013: Chrome-29: SPDY
2011: Websockets shipped
2005-2015: China+India add 600 million users (450+180).
India is at 350million now
HTTP 1.1 has been stable, and popular
Internet has changed, has newer challenges
Majority users are on mobile
Privacy and security have become political
Governments are major stakeholders
THe web must be efficient and secure
HTTP is built on top of TCP
A typical web page load in browser:
Open TCP connection
Send the GET request
Receive HTML, parse it, start rendering it
Open new TCP connection for each asset referred in the html (asset: Javascript, CSS, image, font)
Server sends data only when browser requests it (exception: Websockets)
Every new connection creates a massive overheard
Popular websites have hundreds of such requests
Only upto 6 parallel connections are permitted per domain
Creating sprites from images
Data inlining for images
Domain Sharding: serving assets from different domains to parallelize
Caching (Conditional GET, Etag etc)
Optimizations to HTTP 1.1
HTTP-2 Proposals
HTTP-2 Proposals: connection multiplexing
Connection multiplexing: possible impacts
And
Compression and encoding
And
Impacts: HTTPS
In Rails world
HTTP-2 experiments with Rack