HTTP Request
@stmcallister
GET / HTTP/1.1
Host: demo.ngrokpaperscissors.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS
X 10_15_7) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/114.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml
Slide 12
Slide 12 text
HTTP Request
@stmcallister
GET / HTTP/1.1
Host: demo.ngrokpaperscissors.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS
X 10_15_7) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/114.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml
Method or Verb
Slide 13
Slide 13 text
HTTP Request
@stmcallister
GET / HTTP/1.1
Host: demo.ngrokpaperscissors.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS
X 10_15_7) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/114.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml
Headers
TLS
@stmcallister
Requires Digital Certificate from Server
Generated from Trusted Certificate Authority
Public/Private Keys
Slide 42
Slide 42 text
HTTPS TLS Handshake
@stmcallister
Presents certificate & public key
Client Server
Slide 43
Slide 43 text
HTTPS TLS Handshake
@stmcallister
Presents certificate & public key
Client Server
Verifies cert. Generates random string.
Encrypts with public key.
Slide 44
Slide 44 text
HTTPS TLS Handshake
@stmcallister
Presents certificate & public key
Client Server
Verifies cert. Generates random string.
Encrypts with public key.
Decrypts message with private key. Client and
server now have same secret string.
Secret string used to generate Session Key
Slide 45
Slide 45 text
Authentication
@stmcallister
Slide 46
Slide 46 text
Basic Authentication
@stmcallister
Client Server
GET / HTTP/1.1
Slide 47
Slide 47 text
Basic Authentication
@stmcallister
Client Server
Responds with 401 (Unauthorized) status.
WWW-Authenticate header w/ challenge
GET / HTTP/1.1
Slide 48
Slide 48 text
Basic Authentication
@stmcallister
Client Server
Responds with 401 (Unauthorized) status.
WWW-Authenticate header w/ challenge
GET / HTTP/1.1
GET / HTTP/1.1
Authorization: Basic bAs364enc0d3Cr3ds
Slide 49
Slide 49 text
Basic Authentication
@stmcallister
Client Server
Responds with 401 (Unauthorized) status.
WWW-Authenticate header w/ challenge
GET / HTTP/1.1
GET / HTTP/1.1
Authorization: Basic bAs364enc0d3Cr3ds
HTTP/1.1 200 OK
Slide 50
Slide 50 text
OAuth
@stmcallister
Slide 51
Slide 51 text
OAuth
❏ Open standard for authorizing secure access on HTTP
service
❏ Uses tokens rather than password data to prove identity
❏ Provides “secure delegated access” to client applications
❏ Limits user’s scope of access
@stmcallister
Slide 52
Slide 52 text
Resources
@stmcallister
HTTP Docs on MDN
https://developer.mozilla.org/en-US/docs/Web/HTTP
What is HTTP and How Does It Work?
https://youtu.be/2yfDgnm6eAs
Learning ngrok: Inspect and Replay
https://dev.to/stmcallister/learning-ngrok-inspect-and-replay-14ge
HTTP Status Dogs
https://httpstatusdogs.com/
HTTP Status Cats
https://httpcats.com/
SSL, TLS, HTTPS Explained
https://youtu.be/j9QmMEWmcfo