Presented by Thomas Britton / Github: tmbritton
Web Developer - Digital Web Team
tom.britton@wholefoods.com
HyperText
Transfer
Protocol
(Obligatory abbreviation definition)
It's the communications protocol that runs on top of TCP/IP that's the foundation of data transfer on the web
Most of our performance optimization techniques are work-arounds for deficiencies in HTTP 1.1
HTTP/2 is a whole different ballgame and addresses a lot of the deficiencies we've for which developed work-arounds. Using the techniques to optimize for HTTP 1 on a HTTP/2 server could actually degrade performance.
The HTTP/2 specification was published as RFC 7540 in May 2015. Most major modern browsers already support HTTP/2
Browser support is good and server support is coming along.
A drastically simplified description.
Domain Name Service
(Obligatory abbreviation definition)
DNS translates an IP address to a readable domain name
216.58.218.110 = www.google.com, for example
Oh lord, more neckbeardiness.
Transfer Control Protocol / Internet Protocol
(Obligatory abbreviation definition)
TCP handles the breaking of data into packets and IP handles the routing of the packets
Avoiding establishing these connection is the reason behind many of the performance optimization techniques developed over the years.
CSS Sprites, CSS & JS Concatenation, browser caching.
(Obligatory internet meme)
CSS & JS concatenation
CSS Sprites
Image optimization
CSS & JS minification
Domain Sharding/CDN
Most browsers support a max of 6 connections per domain.
And more across multiple domains. (source)
(At least the bits I understand)
No more CSS Sprites
No more CSS concatenation
No more JS concatenation
Each connection to a new domain means establishing a new TCP/IP connection.
Chrome network tab