An introduction to HTTP/2 &
Service Workers for SEOs
@TomAnthonySEO
EMAILS RUNNING OUT OF POWER
500 MILE EMAIL
Connection timeout = 3 milliseconds
Speed of light = 299 792 458 m/s
Distance = 558 miles
HAD MY OWN 500 MILE EMAIL RECENTLY…
… TURNS OUT BROWSERS DON’T WORK LIKE I THOUGHT.
VIEW SOURCE VS INSPECT ELEMENT
VIEW SOURCE VS INSPECT ELEMENT
HTML FROM
THE SERVER
HTML AFTER
JS RENDERS
WRONG!
JS CAN ALTER
THIS TOO!
HTML AFTER
JS RENDERS
HTTP2 SERVICE
WORKERS
HTTP2
1
HTTP
ANATOMY OF AN HTTP/1.1 REQUEST
GET /anchorman/ HTTP/1.1
ANATOMY OF AN HTTP/1.1 REQUEST
GET /anchorman/ HTTP/1.1
Host: www.ronburgundy.com
ANATOMY OF AN HTTP/1.1 REQUEST
GET /anchorman/ HTTP/1.1
Host: www.ronburgundy.com
User-Agent: my-browser
ANATOMY OF A RESPONSE
HTTP/1.1 200 OK
Content-Type: text/html HEADERS
ANATOMY OF A RESPONSE
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head>
<title>Ron’s Page</title>
</head>
<body>
You stay classy, San Diego!
</body>
</html>
HEADERS
BODY
1 REQUEST IS FOR 1 FILE
HTTP TRUCKS!
Imagine an HTTP request is a truck, sent from your
browser to a server to collect a web page.
TCP/IP & HTTP
TCP is the road; the transport layer for HTTP.
HTTP REQUESTS
Outbound trucks carry an HTTP request.
Request
HTTP RESPONSES
Returning trucks carry an HTTP response.
Response
PROBLEM! ANYONE CAN LOOK INTO PASSING TRUCKS
With HTTP, people could look into the trucks,
and find out all your secrets!!
HTTPS
With HTTPS the road is the same, but we drive through a tunnel.
HTTPS REQUESTS ARE IDENTICAL TO HTTP
The trucks in the tunnel are still exactly the same.
HTTP sounds great &
HTTPS is secure.
Why change?
?
PROBLEM #1: SMALL REQUESTS/RESPONSES STILL TAKE TIME
Even the fastest trucks can only
go at the speed of light!
LATENCY & ROUND TRIP TIMES
Longer roads mean it takes longer
for a response to come back.
PROBLEM #2: PAGES MADE OF MANY FILES (MANY REQUESTS)
NUMBER OF ASSETS ON PAGES HAS INCREASED
OFTEN 50-100 SEPARATE HTTP REQUESTS
PROBLEM #3) MOBILE CONNECTIONS INCREASE LATENCY
What does all of
this add up to?
!
BROWSER COLLECTING A PAGE
Imagine the browser wants to render a page.
EVERY ROUND TRIP TAKES TIME
50ms to get to the server.
EVERY ROUND TRIP TAKES TIME
Server takes 50ms
to make page.
EVERY ROUND TRIP TAKES TIME
50ms to get back to the browser.
HTML RESPONSE PROMPTS MORE ROUND TRIPS
Once it has the HMTL the browser
discovers it needs more files.
1 CONNECTION CAN HANDLE 1 REQUEST
Every truck needs its own road.
LUCKILY BROWSERS CAN HANDLE MULTIPLE CONNECTIONS
We can have more roads and more trucks.
BUT CONNECTIONS TAKE TIME TO OPEN
Think of it as a steamroller laying down the road.
BUT CONNECTIONS TAKE TIME TO OPEN
Opening a new connection requires a full round trip,
before we can send a truck down it.
BROWSERS TYPICALLY OPEN ABOUT 6 CONNECTIONS MAX
Opening more has diminishing returns,
and other issues.
THIS MEANS SOME REQUESTS HAVE TO WAIT
Trucks have to queue line up for a road.
BLOCKED REQUESTS
Only 6 requests being run at a time.
DECREASING LATENCY IMPROVES THINGS A LOT
Short roads reduce truck waiting times,
and dramatically improve load times.
source: https://hpbn.co/primer-on-web-performance/
THIS IS WHY PEOPLE MADE SPRITE SETS
CDNS MOVE THINGS CLOSER & REDUCE LATENCY
HTTP/2 to
the rescue!
MULTIPLEXING ALLOWS MANY REQUESTS PER CONNECTION
Now multiple trucks can be on the road at once!
HTTP/1.1 WATERFALL - BLOCKED REQUESTS
HTTP/2 WATERFALL - NO BLOCKING
HTTP2 REQUESTS ARE STILL THE SAME
The content of the trucks are still the same.
Just a new road / traffic management system!
HTTP/2 FORMAT IS THE SAME AS HTTP/1.1
GET /anchorman/ HTTP/2
host: www.ronburgundy.com
user-agent: my-browser
HEADER & BODY
HTTP/2 200
content-type: text/html
<html>
<head>
<title>Ron’s Page</title>
</head>
<body>
You stay classy, San Diego!
</body>
</html>
HEADERS
BODY
HTTP/2 RESPONSE CODES UNCHANGED
200 404301
HTTP2 ALLOWS ‘SERVER PUSH’
With Server Push, a single request is sent,
but the server sends multiple responses.
HTTP2 ALLOWS ‘SERVER PUSH’
If the server knows the HTML requires other assets,
it can send them back with the HTML.
HTTP2 REQUIRES HTTPS
In order to get the better traffic management, you need a tunnel!
How can I
get HTTP/2?
?
Your devs don’t need to do anything!
The server does all the work.
CDNS CAN DO IT FOR YOU!
HTTP/2 between
visitors and CDN
HTTP/1.1 between
CDN and Server
Does Google notice
if I have HTTP/2?
?
GOOGLEBOT DOES NOT CRAWL
https://moz.com/blog/challenging-googlebot-experiment
THUS IT WON’T IMPROVE SCORES IN GSC
Google’s WRS doesn’t use it at all, currently.
BUT THAT ISN’T HOW GOOGLE EVALUATE SPEED
CHROME USER EXPERIENCE REPORTS
HTTP/2 TAKEAWAYS
It can be a quick performance win.
CDNs can make deployment ‘easy’.
HTTP/2 requires HTTPS*.
Likely to see last holds outs migrating to HTTPS.
(* in all major browsers)
Enable the ‘Protocol’ column.
SPDY was HTTP/2’s predecessor.
It is being retired.
Chrome Extension:
https://dis.tl/showhttp2
HTTP/1.1 and HTTP/2 exist together.
Browsers will fall back to HTTP/1.1.
Moving to HTTP/2 is
not a migration.
2
SERVICE WORKERS
An introduction to HTTP/2 & Service Workers for SEOs
WEBSITE: ’TRADITIONAL’ MODEL
WEBSITE: ’TRADITIONAL’ MODEL
Server generates
HTML
SERVER
WEBSITE: ’TRADITIONAL’ MODEL
Server generates
HTML
CSS controls
layout
SERVER
WEBSITE: ’TRADITIONAL’ MODEL
Server generates
HTML
Javascript adds
behaviour
CSS controls
layout
SERVER
SINGLE PAGE APPLICATION MODEL
Frameworks like React and Angular.
SINGLE PAGE APPLICATION MODEL
Server supplies
stub HTML
SERVER
SINGLE PAGE APPLICATION MODEL
Server supplies
stub HTML
CSS controls
layout
SERVER
SINGLE PAGE APPLICATION MODEL
Server supplies
stub HTML
Main logic
in Javascript
CSS controls
layout
SERVER
SINGLE PAGE APPLICATION MODEL
HTML built
in browser
Javascript code
manages everything
CSS controls
layout
SERVER
2 THINGS TURN AN SPA INTO A PWA
SERVICE
WORKER
MANIFEST
MANIFEST
Essentially “Settings” for your app (theme colour etc.)
“A service worker is a script that your
browser runs in the background,
separate from a web page.”
“
SERVICE WORKERS ENABLE…
Background Sync
Push Notifications
Offline Functionality
Intelligent Caching
CLIENT SIDE JAVASCRIPT ALREADY AN SEO PAIN POINT
I ♥ SEO
Service Workers can exist outside of a PWA too.
(which I think we will see more of)
So today, focusing just on them.
Where do
Service Workers live?
?
BROWSER & SERVER COMMUNICATION
GET / HTTP/1.1
<html></html>
BROWSER SERVER
IN REALITY, BROWSER IS MORE COMPLEX
GET / HTTP/1.1
BROWSER
SERVER
CORE CACHE
CACHE IS CHECKED BEFORE REQUEST SENT TO SERVER
GET / HTTP/1.1
BROWSER
SERVER
CORE CACHE
GET / HTTP/1.1
CACHE IS CHECKED BEFORE REQUEST SENT TO SERVER
GET / HTTP/1.1
BROWSER
SERVER
<html></html>
CORE CACHE
GET / HTTP/1.1
<html></html>
SUBSEQUENT REQUESTS MAY BE HANDLED BY CACHE
GET / HTTP/1.1
BROWSER
SERVER
<html></html>
CORE CACHE
CTRL-REFRESH (F5) REFRESHES THE CACHE
BROWSER
SERVER
CORE CACHE
GET / HTTP/1.1
<html></html> <html></html>
CORE
NETWORK TAB IS NOT SAME AS ACTUAL NETWORK!
GET / HTTP/1.1
CACHE
GET / HTTP/1.1
BROWSER
SERVER
<html></html><html></html>
View Source &
Network Tab
show this
CORE
NETWORK TAB IS NOT SAME AS ACTUAL NETWORK!
GET / HTTP/1.1
CACHE
BROWSER
SERVER
<html></html>
View Source &
Network Tab
show this
Even if nothing
went over the
actual network
CACHED RESPONSE IN NETWORK TAB
It came from the
cache, but still we
see a ‘response’
CORE
WHERE SERVICE WORKERS FIT IN
CACHE
BROWSER
SERVICE
WORKER
SERVER
CORE
YOUR JAVASCRIPT CODE EMBEDS THE BROWSER
CACHE
BROWSER
SERVICE
WORKER Code doesn’t run
‘on a page’, but in
the browser
SERVER
CORE
SERVICE WORKERS CAN INTERCEPT REQUESTS
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 SERVER
CORE
IT MAY JUST PASS IT ON
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 GET / HTTP/1.1
SERVER
CORE
IT MAY JUST PASS IT ON
CACHE
BROWSER
SERVER
SERVICE
WORKER
GET / HTTP/1.1
GET / HTTP/1.1
<html></html>
GET / HTTP/1.1
CORE
IT MAY JUST PASS IT ON
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 GET / HTTP/1.1
<html></html><html></html>
SERVER
GET / HTTP/1.1
<html></html>
CORE
JAVASCRIPT CAN RUN AT THIS POINT…
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 SERVER
CORE
FOR EXAMPLE…
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 SERVER
I recognise this page,
I’m going to prefetch
some things!
CORE
OR…
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 SERVER
I can see I have
the CSS, so I’ll use that,
but will update it for
next time.
CORE
JAVASCRIPT CAN ALSO RUN AT THIS POINT
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 GET / HTTP/1.1
<html></html>
SERVER
GET / HTTP/1.1
<html></html>
CORE
FOR EXAMPLE…
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 GET / HTTP/1.1
<html></html>
SERVER
GET / HTTP/1.1
<html></html>I am going to customise
this page for the user.
CORE
SERVICE WORKERS CAN EDIT WHAT YOU SEE
CACHE
BROWSER
SERVICE
WORKER
GET / HTTP/1.1 GET / HTTP/1.1
<html></html><html></html>
View Source &
Network Tab
show this
SERVER
GET / HTTP/1.1
<html></html>
THUS VIEW SOURCE
JS ENABLED JS DISABLED
BUT THE NETWORK TAB WILL BE ‘TRUE’, RIGHT?!
JS ENABLED JS DISABLED
BUT THE NETWORK TAB WILL BE ‘TRUE’, RIGHT?!
JS ENABLED JS DISABLED
How to spot
Service Workers
SERVICE WORKERS REQUIRE HTTPS
Service Workers are very powerful.
With great power comes great responsibility.
REGISTERING A SERVICE WORKER
COG IN NETWORK PANEL = SERVICE WORKER
APPLICATION TAB
CAN CLEAR THEM HERE TOO
chrome://serviceworker-internals/ 
CTRL-REFRESH (F5) BYPASSES SERVICE WORKERS*
GET / HTTP/1.1
BROWSER
<html></html>
CORE CACHE
SERVICE
WORKER
<html></html>
SERVER
(* but not in View Source)
Googlebot (and WRS) doesn’t
use Service Workers
Not directly visible to Google,
but affects Chrome User Experience Reports data.
3
TAKE AWAYS
Spot HTTP/2:
Turn on ‘Protocol’ column in Chrome,
and/or install the Chrome extension.
Be wary of cutting edge advice:
e.g HTTP/2 Server Push
Be wary of outdated advice:
HTTP/2 makes some old school
performance tricks redundant.
Spot Service Workers:
Look for the cog in Network panel.
Detect Service Worker Changes:
View source with JS-disabled
HTTP/2 & Service Workers provide
speed improvements for users.
Googlebot won’t benefit,
but Google will notice.
Thank you!
@TomAnthonySEO

More Related Content

PDF
HTTP/2 BrightonSEO 2018
PDF
An introduction to HTTP/2 for SEOs
PPTX
.htaccess for SEOs - A presentation by Roxana Stingu
PDF
Hacking Web Performance 2019
PPT
DPC 2007 My First Mashup (Cal Evans)
 
PDF
Mastering message queues | Tobias Nyholm | CODEiD
PPTX
HTTPS and HTTP/2
PDF
The Case for HTTP/2
HTTP/2 BrightonSEO 2018
An introduction to HTTP/2 for SEOs
.htaccess for SEOs - A presentation by Roxana Stingu
Hacking Web Performance 2019
DPC 2007 My First Mashup (Cal Evans)
 
Mastering message queues | Tobias Nyholm | CODEiD
HTTPS and HTTP/2
The Case for HTTP/2

What's hot (20)

PPTX
Ruby in the Browser - RubyConf 2011
PDF
The Case for HTTP/2 - EpicFEL Sept 2015
PPTX
3 Tips for a better mobile User Experience
PDF
Keep the Web Fast
PDF
さぶみっと
PDF
WordPress&映像配信セミナー+さぶみっと!オフ会- 第2回 さぶみっと! WEB制作セミナー Supported by NTTスマートコネクト
PDF
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
PDF
Speed Matters!
PPT
Plaxo OSCON 2006
PPT
Joseph-Smarr-Plaxo-OSCON-2006
PPTX
How webpage loading takes place?
PDF
Site Performance Optimization for Joomla #jwc13
PDF
WebPagetest Power Users - Velocity 2014
PDF
From zero to almost rails in about a million slides...
PDF
Hacking Web Performance @ ForwardJS 2017
PPT
ReST-ful Resource Management
KEY
Optimize wordpress
PDF
Using Websockets with Play!
PPTX
Measuring the visual experience of website performance
PDF
Optimising Web Application Frontend
Ruby in the Browser - RubyConf 2011
The Case for HTTP/2 - EpicFEL Sept 2015
3 Tips for a better mobile User Experience
Keep the Web Fast
さぶみっと
WordPress&映像配信セミナー+さぶみっと!オフ会- 第2回 さぶみっと! WEB制作セミナー Supported by NTTスマートコネクト
Are Today’s Good Practices… Tomorrow’s Performance Anti-Patterns?
Speed Matters!
Plaxo OSCON 2006
Joseph-Smarr-Plaxo-OSCON-2006
How webpage loading takes place?
Site Performance Optimization for Joomla #jwc13
WebPagetest Power Users - Velocity 2014
From zero to almost rails in about a million slides...
Hacking Web Performance @ ForwardJS 2017
ReST-ful Resource Management
Optimize wordpress
Using Websockets with Play!
Measuring the visual experience of website performance
Optimising Web Application Frontend
Ad

Similar to An introduction to HTTP/2 & Service Workers for SEOs (20)

PDF
HTTP colon slash slash: the end of the road?
PPT
5-WebServers.ppt
PDF
Introduction to Rest Protocol
PDF
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
PDF
SocketStream
PPT
Basics Of Servlet
ODP
Starting With Php
PDF
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
PDF
Progressive web apps
ODP
PHP Training: Module 1
PPTX
1 Introduction to Dynamic Web Content - Copy.pptx
PPTX
HTTP/2 : why upgrading the web? - apidays Paris
PPTX
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you
PDF
HTTP Basics Demo
PPSX
Web server
PDF
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
PPTX
RESTful APIs
PPTX
Day02 a pi.
PDF
Restful Web Services
PPT
Web services - REST and SOAP
HTTP colon slash slash: the end of the road?
5-WebServers.ppt
Introduction to Rest Protocol
HTTP colon slash slash: end of the road? @ CakeFest 2013 in San Francisco
SocketStream
Basics Of Servlet
Starting With Php
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client Manager
Progressive web apps
PHP Training: Module 1
1 Introduction to Dynamic Web Content - Copy.pptx
HTTP/2 : why upgrading the web? - apidays Paris
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you
HTTP Basics Demo
Web server
HTTP by Hand: Exploring HTTP/1.0, 1.1 and 2.0
RESTful APIs
Day02 a pi.
Restful Web Services
Web services - REST and SOAP
Ad

More from Tom Anthony (17)

PDF
An introduction to HTTP/3 - with trucks!
PDF
Browser Changes That Will Impact SEO From 2019-2020
PDF
SEO Tests on Big Sites & Small - What Etsy, Pinterest and Others Can Teach Us
PDF
SEO by Hypothesis
PDF
3 New Techniques for the Modern Age of SEO
PDF
Next Era of SEO: A Guide to SEO Split-Testing
PDF
SEO Split-Testing - Why and How
PDF
Intelligent Personal Assistants & New Types of Search
PDF
Intelligent Personal Assistants, Search & SEO
PDF
Beacons and their Impact on Search & SEO
PDF
5 Emerging Trends in Search
PDF
How to Spot a Bear - An Intro to Machine Learning for SEO
PDF
Technologies that will change the Future of Search
PDF
The Evolution of Search
PDF
Post Penguin SEO
PDF
API? WTF!
PDF
Putting the love back into links
An introduction to HTTP/3 - with trucks!
Browser Changes That Will Impact SEO From 2019-2020
SEO Tests on Big Sites & Small - What Etsy, Pinterest and Others Can Teach Us
SEO by Hypothesis
3 New Techniques for the Modern Age of SEO
Next Era of SEO: A Guide to SEO Split-Testing
SEO Split-Testing - Why and How
Intelligent Personal Assistants & New Types of Search
Intelligent Personal Assistants, Search & SEO
Beacons and their Impact on Search & SEO
5 Emerging Trends in Search
How to Spot a Bear - An Intro to Machine Learning for SEO
Technologies that will change the Future of Search
The Evolution of Search
Post Penguin SEO
API? WTF!
Putting the love back into links

Recently uploaded (20)

PPT
Ethics in Information System - Management Information System
PPTX
Internet Safety for Seniors presentation
PDF
Containerization lab dddddddddddddddmanual.pdf
PPTX
Reading as a good Form of Recreation
PPT
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
PDF
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
PPTX
IPCNA VIRTUAL CLASSES INTERMEDIATE 6 PROJECT.pptx
PPTX
Introduction to cybersecurity and digital nettiquette
PDF
Exploring The Internet Of Things(IOT).ppt
PPT
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
PPTX
KSS ON CYBERSECURITY INCIDENT RESPONSE AND PLANNING MANAGEMENT.pptx
PPTX
AI_Cyberattack_Solutions AI AI AI AI .pptx
PDF
Exploring VPS Hosting Trends for SMBs in 2025
PPTX
t_and_OpenAI_Combined_two_pressentations
PDF
Alethe Consulting Corporate Profile and Solution Aproach
PDF
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
PPTX
1402_iCSC_-_RESTful_Web_APIs_--_Josef_Hammer.pptx
PDF
si manuel quezon at mga nagawa sa bansang pilipinas
PPT
12 Things That Make People Trust a Website Instantly
PDF
simpleintnettestmetiaerl for the simple testint
Ethics in Information System - Management Information System
Internet Safety for Seniors presentation
Containerization lab dddddddddddddddmanual.pdf
Reading as a good Form of Recreation
FIRE PREVENTION AND CONTROL PLAN- LUS.FM.MQ.OM.UTM.PLN.00014.ppt
📍 LABUAN4D EXCLUSIVE SERVER STAR GAMING ASIA NO.1 TERPOPULER DI INDONESIA ! 🌟
IPCNA VIRTUAL CLASSES INTERMEDIATE 6 PROJECT.pptx
Introduction to cybersecurity and digital nettiquette
Exploring The Internet Of Things(IOT).ppt
415456121-Jiwratrwecdtwfdsfwgdwedvwe dbwsdjsadca-EVN.ppt
KSS ON CYBERSECURITY INCIDENT RESPONSE AND PLANNING MANAGEMENT.pptx
AI_Cyberattack_Solutions AI AI AI AI .pptx
Exploring VPS Hosting Trends for SMBs in 2025
t_and_OpenAI_Combined_two_pressentations
Alethe Consulting Corporate Profile and Solution Aproach
Session 1 (Week 1)fghjmgfdsfgthyjkhfdsadfghjkhgfdsa
1402_iCSC_-_RESTful_Web_APIs_--_Josef_Hammer.pptx
si manuel quezon at mga nagawa sa bansang pilipinas
12 Things That Make People Trust a Website Instantly
simpleintnettestmetiaerl for the simple testint

An introduction to HTTP/2 & Service Workers for SEOs