SlideShare a Scribd company logo
1 of 32
Download to read offline
Type“google.com”into
thebrowserandhitenter
Whathappensnext?
1 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
HowtheInternetworks
GraemeMathieson
Email me: mathie@woss.name
Tweet me: @mathie
2 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
google.com
3 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
IsitaURL?
· Yep. OK, cool, my work here is done.
· Kinda. Well, let’s turn it into a well formed URL.
· Nope. OK, I’m gonna assume you meant to
search for something. Let’s turn it into a well
formed URL for a web search.
4 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
HTTPStrictTransportSecurity
Does this site prefer HTTPS?
· Strict-Transport-Security header from
a previous request?
· In the browser’s list of HSTS preloads?
5 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
HTTPStrictTransportSecurity
Does this site prefer HTTPS?
· Yep OK, set the URL scheme to https.
· Nope Fine then. If you don’t care for security

6 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
https://google.com/
7 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
Browsercache
Is the URL in the browser cache?
· Yep Let’s check it’s still valid.
· Nope Well, we’re going to have to fetch it.
8 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
Browsercache
Is the cached content still valid?
Expires
Cache-Control: max-age
· Yep Awesome. We might skip a network request!
· Nope OK, let’s check in with the server.
9 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
Browsercache
Should the cached content be revalidated?
Cache-Control: must-revalidate
· Yep OK, let’s check in with the server.
· Nope Awesome. Skip to rendering!
10 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
ParsetheURL
· Scheme: “https”
· Authority: “google.com”
· Path: “/“
11 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
DNSLookup:Browsercache
Is the hostname in the browser’s cache?
· Yep Awesome, let’s use that IP address.
· Nope OK, we’re going to have to do this the hard
way.
12 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
DNSLookup:OSresolver
Is the hostname in the operating system’s cache?
· Yep Job done. We’ll use that IP address.
· Nope OK, we’re really going to have to look it
up.
13 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
NameServiceSwitch
· Check /etc/hosts
· Try multicast DNS
· Perform a DNS lookup
14 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
DNSLookup
Get the IP address of a name server
· From DHCP
· Statically configured
15 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
DNSRecordTypes
· A and AAAA are address records: mappings from
name to IP address.
· PTR is a reverse mapping from IP address to
name
· NS is a pointer to a name server.
· Other record types: SOA, CNAME, MX, TXT.
16 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
SendtheDNSrequest
New is Apple iOS 9 & El Capitan
· Send out an AAAA request; and
· Send out an A request, in parallel.
17 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
RecursiveDNSrequest
Is the record in the name server’s cache?
· Yep Is it still valid? (TTL) If so, return the record.
Job done.
· Nope OK, we’ll need to look it up.
18 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
UpstreamDNSserver
Is our local DNS server configured to have one or
more upstream servers?
· Yep OK, let’s pass the request oïŹ€ to an upstream
and let it figure out the answer.
· Nope Damn. We’re going to have to do the hard
work ourselves.
19 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
RootDNSServers
· 13 well-known IP addresses of root servers.
· Really, they’re hundreds of machines
distributed globally.
· Authoritative for the root zone.
20 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
DNSAuthority
Root servers are authoritative for the root zone.
Know the canonical answer for who serves each
TLD: “.com”, “.net”, “.uk”, etc.
21 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
What’stheArecordfor
“google.com”?
22 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
Rootservers
What’s the A record for “google.com”?
· No idea, but here’s the list of name servers for
“.com”.
· Oh, and have the IP addresses of those name
servers, too.
23 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
Authoritativeserversfor“.com”
What’s the A record for “google.com”?
· No idea, but here’s a list of name servers for
“google.com”.
· Oh, and have the IP addresses of those name
servers, too.
24 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
Authoritativeserversfor“google.com”
What’s the A record for “google.com”?
· Hey, I know this! Here’s a list of IP addresses!
25 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
FiguringouttheTCPport
What TCP port should we connect to?
· Figure out from the URL scheme
· Ask the operating system: getservbyname()
· Name Service Switch
· grep '^https.*tcp' /etc/services
26 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
MakingaTCPconnection
We know the IP address and port. Now we can
connect!
27 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
TCP:Threewayhandshake
Open connection, and agree initial sequence
numbers.
· -> SYN
· <- SYN+ACK
· -> ACK
28 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
TransmissionControlProtocol(TCP)
· Ordered data transfer
· Reliable data transfer
· Flow control
· Congestion control
29 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
TransportLayerSecurity
Create a secure connection between the client
and server.
· Authentication of the server (and, optionally,
the client).
· Negotiate a session key.
· Encrypt data between client and server.
30 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
HTTP:GET
GET / HTTP/1.1
Host: google.com
31 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
FIN
FIN -> ACK -> FIN -> ACK
TCP/IP Illustrated by W. Richard Stevens
<https://woss.name/>
32 — © 2015 Graeme Mathieson. CC BY-SA 4.0.

More Related Content

Viewers also liked

Akamai IPv6 Measurement
Akamai IPv6 MeasurementAkamai IPv6 Measurement
Akamai IPv6 MeasurementAPNIC
 
BGP and Traffic Engineering with Akamai
BGP and Traffic Engineering with AkamaiBGP and Traffic Engineering with Akamai
BGP and Traffic Engineering with AkamaiInternet Society
 
Rackspace & Akamai vs. Amazon & CloudFront for a Django site
Rackspace & Akamai vs. Amazon & CloudFront for a Django siteRackspace & Akamai vs. Amazon & CloudFront for a Django site
Rackspace & Akamai vs. Amazon & CloudFront for a Django siteSep Dehpour
 
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)đŸ’» Javier Garza
 
Akamai company profile
Akamai company profileAkamai company profile
Akamai company profilerahulp9999
 
Cache Optimization with Akamai
Cache Optimization with AkamaiCache Optimization with Akamai
Cache Optimization with AkamaiBlake Crosby
 
5 introduction to internet
5 introduction to internet5 introduction to internet
5 introduction to internetVedpal Yadav
 
Web Servers - How They Work
Web Servers -  How They WorkWeb Servers -  How They Work
Web Servers - How They WorkBrian Gallagher
 
Servers & Web Hosting
Servers & Web HostingServers & Web Hosting
Servers & Web HostingReza San
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.pptwebhostingguy
 
Presentation (PowerPoint File)
Presentation (PowerPoint File)Presentation (PowerPoint File)
Presentation (PowerPoint File)webhostingguy
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Serverswebhostingguy
 
Internet applications
Internet applicationsInternet applications
Internet applicationsNur Azlina
 
What Happens When You Own Google.com For A Minute?
 What Happens When You Own Google.com For A Minute? What Happens When You Own Google.com For A Minute?
What Happens When You Own Google.com For A Minute?Bhoomi Patel
 
Understanding
Understanding Understanding
Understanding webhostingguy
 
Web Server Primer
Web Server PrimerWeb Server Primer
Web Server Primerwebhostingguy
 
Akamai Technologies - Company Overview
Akamai Technologies - Company OverviewAkamai Technologies - Company Overview
Akamai Technologies - Company OverviewAkamai Technologies
 

Viewers also liked (20)

Akamai IPv6 Measurement
Akamai IPv6 MeasurementAkamai IPv6 Measurement
Akamai IPv6 Measurement
 
BGP and Traffic Engineering with Akamai
BGP and Traffic Engineering with AkamaiBGP and Traffic Engineering with Akamai
BGP and Traffic Engineering with Akamai
 
Rackspace & Akamai vs. Amazon & CloudFront for a Django site
Rackspace & Akamai vs. Amazon & CloudFront for a Django siteRackspace & Akamai vs. Amazon & CloudFront for a Django site
Rackspace & Akamai vs. Amazon & CloudFront for a Django site
 
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)
Real world experiences with HTTP/2 (Michael Gooding, Javier Garza from Akamai)
 
Akamai company profile
Akamai company profileAkamai company profile
Akamai company profile
 
Cache Optimization with Akamai
Cache Optimization with AkamaiCache Optimization with Akamai
Cache Optimization with Akamai
 
5 introduction to internet
5 introduction to internet5 introduction to internet
5 introduction to internet
 
Web Servers - How They Work
Web Servers -  How They WorkWeb Servers -  How They Work
Web Servers - How They Work
 
Web servers
Web serversWeb servers
Web servers
 
Servers & Web Hosting
Servers & Web HostingServers & Web Hosting
Servers & Web Hosting
 
5-WebServers.ppt
5-WebServers.ppt5-WebServers.ppt
5-WebServers.ppt
 
Presentation (PowerPoint File)
Presentation (PowerPoint File)Presentation (PowerPoint File)
Presentation (PowerPoint File)
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
 
Download It
Download ItDownload It
Download It
 
Internet applications
Internet applicationsInternet applications
Internet applications
 
What Happens When You Own Google.com For A Minute?
 What Happens When You Own Google.com For A Minute? What Happens When You Own Google.com For A Minute?
What Happens When You Own Google.com For A Minute?
 
Understanding
Understanding Understanding
Understanding
 
Web Server Primer
Web Server PrimerWeb Server Primer
Web Server Primer
 
Web servers
Web serversWeb servers
Web servers
 
Akamai Technologies - Company Overview
Akamai Technologies - Company OverviewAkamai Technologies - Company Overview
Akamai Technologies - Company Overview
 

Similar to How a Webpage Request Works Behind the Scenes

Scaling Push Messaging for Millions of Netflix Devices
Scaling Push Messaging for Millions of Netflix DevicesScaling Push Messaging for Millions of Netflix Devices
Scaling Push Messaging for Millions of Netflix DevicesSusheel Aroskar
 
ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶
ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶
ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶Mu Chun Wang
 
Converting you website to https
Converting you website to httpsConverting you website to https
Converting you website to httpsPeter Salerno
 
CTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeCTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeAmazon Web Services
 
2015 03 06 lmtv wtf http webcast
2015 03 06 lmtv wtf http webcast2015 03 06 lmtv wtf http webcast
2015 03 06 lmtv wtf http webcastTony Fortunato
 
SRV312_Taking Serverless to the Edge
SRV312_Taking Serverless to the EdgeSRV312_Taking Serverless to the Edge
SRV312_Taking Serverless to the EdgeAmazon Web Services
 
How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...
How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...
How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...Amazon Web Services
 
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...Amazon Web Services
 
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018Amazon Web Services
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWSAmazon Web Services Korea
 
DEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesDEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesAmazon Web Services
 
Serverless and DevOps
Serverless and DevOpsServerless and DevOps
Serverless and DevOpsChris Munns
 
Case Study: The internals of Amazon.com's architecture that allows it to secu...
Case Study: The internals of Amazon.com's architecture that allows it to secu...Case Study: The internals of Amazon.com's architecture that allows it to secu...
Case Study: The internals of Amazon.com's architecture that allows it to secu...Amazon Web Services
 
仄 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™
仄 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™ä»„ 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™
仄 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™Amazon Web Services
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSAmazon Web Services
 
F5 ASM v12 DDoS best practices
F5 ASM v12 DDoS best practices F5 ASM v12 DDoS best practices
F5 ASM v12 DDoS best practices Lior Rotkovitch
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018Amazon Web Services
 
More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...Shannon Williams
 
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...Amazon Web Services
 
Building Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdfBuilding Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdfAmazon Web Services
 

Similar to How a Webpage Request Works Behind the Scenes (20)

Scaling Push Messaging for Millions of Netflix Devices
Scaling Push Messaging for Millions of Netflix DevicesScaling Push Messaging for Millions of Netflix Devices
Scaling Push Messaging for Millions of Netflix Devices
 
ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶
ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶
ćŠ‚äœ•äœżç”š iframe èŁœäœœäž€ć€‹æ˜“æ–Œæ›Žæ–°ćŠæ›Žćź‰ć…šçš„ć‰ç«Żć„—ä»¶
 
Converting you website to https
Converting you website to httpsConverting you website to https
Converting you website to https
 
CTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real TimeCTD406_Measuring the Internet in Real Time
CTD406_Measuring the Internet in Real Time
 
2015 03 06 lmtv wtf http webcast
2015 03 06 lmtv wtf http webcast2015 03 06 lmtv wtf http webcast
2015 03 06 lmtv wtf http webcast
 
SRV312_Taking Serverless to the Edge
SRV312_Taking Serverless to the EdgeSRV312_Taking Serverless to the Edge
SRV312_Taking Serverless to the Edge
 
How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...
How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...
How Rovio Uses Amazon CloudFront for Secure API Acceleration (CTD315) - AWS r...
 
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
Introduction to Amazon Route 53 Resolver for Hybrid Cloud (NET215) - AWS re:I...
 
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
[NEW LAUNCH!] Introducing AWS Transit Gateway (NET331) - AWS re:Invent 2018
 
[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS[AWS Container Service] Getting Started with Kubernetes on AWS
[AWS Container Service] Getting Started with Kubernetes on AWS
 
DEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to MicroservicesDEV329_Cisco’s Journey from Monolith to Microservices
DEV329_Cisco’s Journey from Monolith to Microservices
 
Serverless and DevOps
Serverless and DevOpsServerless and DevOps
Serverless and DevOps
 
Case Study: The internals of Amazon.com's architecture that allows it to secu...
Case Study: The internals of Amazon.com's architecture that allows it to secu...Case Study: The internals of Amazon.com's architecture that allows it to secu...
Case Study: The internals of Amazon.com's architecture that allows it to secu...
 
仄 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™
仄 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™ä»„ 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™
仄 12 èŠçŽ æ‡‰ç”šæšĄćŒćœš AWS 䞊構ć»șćŸźæœć‹™
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
F5 ASM v12 DDoS best practices
F5 ASM v12 DDoS best practices F5 ASM v12 DDoS best practices
F5 ASM v12 DDoS best practices
 
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
A Chronicle of Airbnb Architecture Evolution (ARC407) - AWS re:Invent 2018
 
More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...More tips and tricks for running containers like a pro - Rancher Online MEetu...
More tips and tricks for running containers like a pro - Rancher Online MEetu...
 
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...
Optimizing Lambda@Edge for Performance and Cost Efficiency (CTD405-R2) - AWS ...
 
Building Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdfBuilding Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdf
 

Recently uploaded

Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...SofiyaSharma5
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$kojalkojal131
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebJames Anderson
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024APNIC
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...APNIC
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girladitipandeya
 
VIP Call Girls Kolkata Ananya đŸ€Œ 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya đŸ€Œ  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya đŸ€Œ  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya đŸ€Œ 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts servicesonalikaur4
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGAPNIC
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneRussian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneCall girls in Ahmedabad High profile
 

Recently uploaded (20)

Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔☆9289244007✔☆ Female E...
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
Call Girls Dubai Prolapsed O525547819 Call Girls In Dubai Princes$
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
10.pdfMature Call girls in Dubai +971563133746 Dubai Call girls
 
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark WebGDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
GDG Cloud Southlake 32: Kyle Hettinger: Demystifying the Dark Web
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024On Starlink, presented by Geoff Huston at NZNOG 2024
On Starlink, presented by Geoff Huston at NZNOG 2024
 
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Saket Delhi 💯Call Us 🔝8264348440🔝
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call GirlVIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
VIP 7001035870 Find & Meet Hyderabad Call Girls LB Nagar high-profile Call Girl
 
VIP Call Girls Kolkata Ananya đŸ€Œ 8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya đŸ€Œ  8250192130 🚀 Vip Call Girls KolkataVIP Call Girls Kolkata Ananya đŸ€Œ  8250192130 🚀 Vip Call Girls Kolkata
VIP Call Girls Kolkata Ananya đŸ€Œ 8250192130 🚀 Vip Call Girls Kolkata
 
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Porur Phone 🍆 8250192130 👅 celebrity escorts service
 
Networking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOGNetworking in the Penumbra presented by Geoff Huston at NZNOG
Networking in the Penumbra presented by Geoff Huston at NZNOG
 
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Uttam Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service ThaneRussian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
Russian Call Girls Thane Swara 8617697112 Independent Escort Service Thane
 

How a Webpage Request Works Behind the Scenes

  • 2. HowtheInternetworks GraemeMathieson Email me: mathie@woss.name Tweet me: @mathie 2 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 3. google.com 3 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 4. IsitaURL? · Yep. OK, cool, my work here is done. · Kinda. Well, let’s turn it into a well formed URL. · Nope. OK, I’m gonna assume you meant to search for something. Let’s turn it into a well formed URL for a web search. 4 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 5. HTTPStrictTransportSecurity Does this site prefer HTTPS? · Strict-Transport-Security header from a previous request? · In the browser’s list of HSTS preloads? 5 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 6. HTTPStrictTransportSecurity Does this site prefer HTTPS? · Yep OK, set the URL scheme to https. · Nope Fine then. If you don’t care for security
 6 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 7. https://google.com/ 7 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 8. Browsercache Is the URL in the browser cache? · Yep Let’s check it’s still valid. · Nope Well, we’re going to have to fetch it. 8 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 9. Browsercache Is the cached content still valid? Expires Cache-Control: max-age · Yep Awesome. We might skip a network request! · Nope OK, let’s check in with the server. 9 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 10. Browsercache Should the cached content be revalidated? Cache-Control: must-revalidate · Yep OK, let’s check in with the server. · Nope Awesome. Skip to rendering! 10 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 11. ParsetheURL · Scheme: “https” · Authority: “google.com” · Path: “/“ 11 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 12. DNSLookup:Browsercache Is the hostname in the browser’s cache? · Yep Awesome, let’s use that IP address. · Nope OK, we’re going to have to do this the hard way. 12 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 13. DNSLookup:OSresolver Is the hostname in the operating system’s cache? · Yep Job done. We’ll use that IP address. · Nope OK, we’re really going to have to look it up. 13 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 14. NameServiceSwitch · Check /etc/hosts · Try multicast DNS · Perform a DNS lookup 14 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 15. DNSLookup Get the IP address of a name server · From DHCP · Statically configured 15 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 16. DNSRecordTypes · A and AAAA are address records: mappings from name to IP address. · PTR is a reverse mapping from IP address to name · NS is a pointer to a name server. · Other record types: SOA, CNAME, MX, TXT. 16 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 17. SendtheDNSrequest New is Apple iOS 9 & El Capitan · Send out an AAAA request; and · Send out an A request, in parallel. 17 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 18. RecursiveDNSrequest Is the record in the name server’s cache? · Yep Is it still valid? (TTL) If so, return the record. Job done. · Nope OK, we’ll need to look it up. 18 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 19. UpstreamDNSserver Is our local DNS server configured to have one or more upstream servers? · Yep OK, let’s pass the request oïŹ€ to an upstream and let it figure out the answer. · Nope Damn. We’re going to have to do the hard work ourselves. 19 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 20. RootDNSServers · 13 well-known IP addresses of root servers. · Really, they’re hundreds of machines distributed globally. · Authoritative for the root zone. 20 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 21. DNSAuthority Root servers are authoritative for the root zone. Know the canonical answer for who serves each TLD: “.com”, “.net”, “.uk”, etc. 21 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 23. Rootservers What’s the A record for “google.com”? · No idea, but here’s the list of name servers for “.com”. · Oh, and have the IP addresses of those name servers, too. 23 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 24. Authoritativeserversfor“.com” What’s the A record for “google.com”? · No idea, but here’s a list of name servers for “google.com”. · Oh, and have the IP addresses of those name servers, too. 24 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 25. Authoritativeserversfor“google.com” What’s the A record for “google.com”? · Hey, I know this! Here’s a list of IP addresses! 25 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 26. FiguringouttheTCPport What TCP port should we connect to? · Figure out from the URL scheme · Ask the operating system: getservbyname() · Name Service Switch · grep '^https.*tcp' /etc/services 26 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 27. MakingaTCPconnection We know the IP address and port. Now we can connect! 27 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 28. TCP:Threewayhandshake Open connection, and agree initial sequence numbers. · -> SYN · <- SYN+ACK · -> ACK 28 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 29. TransmissionControlProtocol(TCP) · Ordered data transfer · Reliable data transfer · Flow control · Congestion control 29 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 30. TransportLayerSecurity Create a secure connection between the client and server. · Authentication of the server (and, optionally, the client). · Negotiate a session key. · Encrypt data between client and server. 30 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 31. HTTP:GET GET / HTTP/1.1 Host: google.com 31 — © 2015 Graeme Mathieson. CC BY-SA 4.0.
  • 32. FIN FIN -> ACK -> FIN -> ACK TCP/IP Illustrated by W. Richard Stevens <https://woss.name/> 32 — © 2015 Graeme Mathieson. CC BY-SA 4.0.