Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Parlez-Vous HTTP?
Search
Frederic Jean
March 14, 2012
Technology
160
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Parlez-Vous HTTP?
Introduction to the HTTP protocol, complete with HTTP Status Cats
Frederic Jean
March 14, 2012
More Decks by Frederic Jean
See All by Frederic Jean
CleanShaved: See the Mustache Disappear
fredjean
0
170
Parlez-Vous HTTP? (Abbreviated)
fredjean
4
130
Other Decks in Technology
See All in Technology
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
190
生成AIエージェントを用いた、 手動テスト手順書から自動テストへの 変換手法の検討
magicpod
0
160
人間はどの意思決定を手放せるのか
kawasima
15
7.1k
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
4
1.3k
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
290
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
330
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
110
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
930
Minecraft JavaのMODをSwiftで作る
1mash0
0
170
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
620
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
830
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
540
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Balancing Empowerment & Direction
lara
6
1.3k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
660
Un-Boring Meetings
codingconduct
0
420
Transcript
Parlez-Vous HTTP? Frédéric Jean Principal Software Engineer Snugg Home LLC
1 Wednesday, March 14, 12
Why talk about HTTP? 2 Wednesday, March 14, 12
A brief history... 3 Wednesday, March 14, 12
1989-1990: Initial WWW prototype developed on NeXT workstation 4 Wednesday,
March 14, 12
5 Wednesday, March 14, 12
1991: HTTP/0.9 released 6 Wednesday, March 14, 12
1996: HTTP/1.0 released as RFC 1945 7 Wednesday, March 14,
12
1996: HTTP/1.1 draft introduced 8 Wednesday, March 14, 12
1997: HTTP/1.1 released as RFC 2068 9 Wednesday, March 14,
12
1999: RFC 2616 Updates and improves HTTP/1.1 10 Wednesday, March
14, 12
What is HTTP? 11 Wednesday, March 14, 12
12 Wednesday, March 14, 12
12 Wednesday, March 14, 12
12 Wednesday, March 14, 12
12 Wednesday, March 14, 12
12 Wednesday, March 14, 12
12 Wednesday, March 14, 12
HTTP Is... 13 Wednesday, March 14, 12
Stateless HTTP Is... 13 Wednesday, March 14, 12
Stateless Insecure HTTP Is... 13 Wednesday, March 14, 12
Stateless Insecure Textual HTTP Is... 13 Wednesday, March 14, 12
<Initial line> <Headers> <Body> Message Format 14 Wednesday, March 14,
12
15 Wednesday, March 14, 12
15 Wednesday, March 14, 12
Request GET / HTTP/1.1 Host: boulderjug.org User-‐Agent: Mozilla/5.0 (Macintosh; Intel
Mac OS X 10.7; rv:8.0.1) Gecko/ 20100101 Firefox/8.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-‐Language: en-‐us,en;q=0.5 Accept-‐Encoding: gzip, deflate Accept-‐Charset: ISO-‐8859-‐1,utf-‐8;q=0.7,*;q=0.7 Cookie: __utma=1.709566692.1315366607.1322835520.1325736840.8; __utmz=1.1325736840.8.8.utmcsr=typepad.com|utmccn=(referral)| utmcmd=referral|utmcct=/site/blogs/6a010536bb2e9f970b010536bb2ea2970b/ posts; __qca=P0-‐138304784-‐1315366608389; __utmc=1 !" 16 Wednesday, March 14, 12
Request Initial Line 17 Wednesday, March 14, 12
GET / HTTP/1.1 18 Wednesday, March 14, 12
GET / HTTP/1.1 19 Wednesday, March 14, 12
HTTP Request Methods Method Safe Idempotent GET X X POST
PUT X DELETE X HEAD X X OPTIONS X X CONNECT PATCH TRACE X X 20 Wednesday, March 14, 12
GET / HTTP/1.1 21 Wednesday, March 14, 12
GET / HTTP/1.1 22 Wednesday, March 14, 12
Request Headers 23 Wednesday, March 14, 12
Host: boulderjug.org 24 Wednesday, March 14, 12
User-‐Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:8.0.1)... 25
Wednesday, March 14, 12
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-‐Language: en-‐us,en;q=0.5 Accept-‐Encoding: gzip, deflate Accept-‐Charset: ISO-‐8859-‐1,utf-‐8;q=0.7,*;q=0.7 26
Wednesday, March 14, 12
Cookie: __utma=1.709566692.1315366607.1322835520.1325736840.8;
__qca=P0-‐138304784-‐1315366608389; __utmc=1 27 Wednesday, March 14, 12
Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== 28 Wednesday, March 14, 12
Request Body PUT, POST, PATCH should have a body GET,
HEAD, OPTIONS, TRACE, CONNECT should not 29 Wednesday, March 14, 12
Request GET / HTTP/1.1 Host: boulderjug.org User-‐Agent: Mozilla/5.0 (Macintosh; Intel
Mac OS X 10.7; rv:8.0.1) Gecko/ 20100101 Firefox/8.0.1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-‐Language: en-‐us,en;q=0.5 Accept-‐Encoding: gzip, deflate Accept-‐Charset: ISO-‐8859-‐1,utf-‐8;q=0.7,*;q=0.7 Cookie: __utma=1.709566692.1315366607.1322835520.1325736840.8; __utmz=1.1325736840.8.8.utmcsr=typepad.com|utmccn=(referral)| utmcmd=referral|utmcct=/site/blogs/6a010536bb2e9f970b010536bb2ea2970b/ posts; __qca=P0-‐138304784-‐1315366608389; __utmc=1 !" 30 Wednesday, March 14, 12
31 Wednesday, March 14, 12
31 Wednesday, March 14, 12
Response HTTP/1.1 200 OK Server: Apache X-‐PhApp: oak-‐tp-‐web026 X-‐Webserver: oak-‐tp-‐web026
Vary: cookie,Accept-‐Encoding Content-‐Encoding: gzip Keep-‐Alive: timeout=300, max=100 Content-‐Type: text/html; charset=utf-‐8 Content-‐Length: 12033 Date: Fri, 06 Jan 2012 05:48:59 GMT X-‐Varnish: 3423770493 Age: 0 Via: 1.1 varnish <!DOCTYPE html PUBLIC "-‐//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-‐transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" id="typepad-‐standard" xmlns:fb="http://www.facebook.com/2008/fbml"> ... </html> 32 Wednesday, March 14, 12
Response Initial Line 33 Wednesday, March 14, 12
aka: Status Line 34 Wednesday, March 14, 12
HTTP/1.1 200 OK 35 Wednesday, March 14, 12
HTTP/1.1 200 OK 36 Wednesday, March 14, 12
HTTP/1.1 200 OK 37 Wednesday, March 14, 12
HTTP/1.1 200 OK 38 Wednesday, March 14, 12
39 Wednesday, March 14, 12
40 Wednesday, March 14, 12
41 Wednesday, March 14, 12
HTTP/1.1 202 Accepted Location: http://example.com/asynch/jobs/3332334 42 Wednesday, March 14, 12
43 Wednesday, March 14, 12
HTTP/1.1 301 Moved Permanently Location: http://example.com/new_path 44 Wednesday, March 14,
12
302 Found 45 Wednesday, March 14, 12
HTTP/1.1 302 Found Location: http://example.com/new_path 46 Wednesday, March 14, 12
47 Wednesday, March 14, 12
HTTP/1.1 307 Temporary Redirect Location: http://example.com/maintenance.html 48 Wednesday, March 14,
12
49 Wednesday, March 14, 12
50 Wednesday, March 14, 12
HTTP/1.1 401 Authorization Required Server: HTTPd/1.0 Date: Sat, 27 Nov
2004 10:18:15 GMT WWW-Authenticate: Basic realm="Secure Area" Content-Type: text/html Content-Length: 311 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/ loose.dtd"> <HTML> <HEAD> <TITLE>Error</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> </HEAD> <BODY><H1>401 Unauthorized.</H1></BODY> </HTML> 51 Wednesday, March 14, 12
52 Wednesday, March 14, 12
53 Wednesday, March 14, 12
54 Wednesday, March 14, 12
55 Wednesday, March 14, 12
HTTP Response Headers 56 Wednesday, March 14, 12
Server Information Resource Metadata Caching Hints 57 Wednesday, March 14,
12
Server: Apache X-‐PhApp: oak-‐tp-‐web026 X-‐Webserver: oak-‐tp-‐web026 X-‐Varnish: 3423770493 Via: 1.1
varnish Server Information Headers 58 Wednesday, March 14, 12
Resource Metadata Content-‐Encoding: gzip Content-‐Type: text/html; charset=utf-‐8 Content-‐Length: 12033 Date:
Fri, 06 Jan 2012 05:48:59 GMT 59 Wednesday, March 14, 12
Caching Hints Vary: cookie,Accept-‐Encoding Age: 0 Cache-Control: max-age=600 Expires: Mon
06 Oct 2008 12:43:48 GMT 60 Wednesday, March 14, 12
Connection Headers Connection: close 61 Wednesday, March 14, 12
HTTP Conditional Requests Server Client Last-Modified If-Modified-Since If-Unmodified-Since ETag If-None-Match
62 Wednesday, March 14, 12
Response HTTP/1.1 200 OK Server: Apache X-‐PhApp: oak-‐tp-‐web026 X-‐Webserver: oak-‐tp-‐web026
Vary: cookie,Accept-‐Encoding Content-‐Encoding: gzip Keep-‐Alive: timeout=300, max=100 Content-‐Type: text/html; charset=utf-‐8 Content-‐Length: 12033 Date: Fri, 06 Jan 2012 05:48:59 GMT X-‐Varnish: 3423770493 Age: 0 Via: 1.1 varnish <!DOCTYPE html PUBLIC "-‐//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-‐transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" id="typepad-‐standard" xmlns:fb="http://www.facebook.com/2008/fbml"> ... </html> 63 Wednesday, March 14, 12
64 Wednesday, March 14, 12
64 Wednesday, March 14, 12
64 Wednesday, March 14, 12
64 Wednesday, March 14, 12
64 Wednesday, March 14, 12
64 Wednesday, March 14, 12
Troubleshooting HTTP 65 Wednesday, March 14, 12
Browser Developer Tools 66 Wednesday, March 14, 12
67 Wednesday, March 14, 12
68 Wednesday, March 14, 12
69 Wednesday, March 14, 12
70 Wednesday, March 14, 12
71 Wednesday, March 14, 12
72 Wednesday, March 14, 12
curl 73 Wednesday, March 14, 12
74 Wednesday, March 14, 12
Charles 75 Wednesday, March 14, 12
76 Wednesday, March 14, 12
Fiddler 77 Wednesday, March 14, 12
78 Wednesday, March 14, 12
Network Analysis Tools Wireshark Eavesdrop (Mac OS X) tcpdump snoop
(Solaris) 79 Wednesday, March 14, 12
80 Wednesday, March 14, 12
81 Wednesday, March 14, 12
81 Wednesday, March 14, 12
81 Wednesday, March 14, 12
81 Wednesday, March 14, 12
81 Wednesday, March 14, 12
81 Wednesday, March 14, 12
Connection: close 82 Wednesday, March 14, 12
298158373_a47d6db5cf_b.jpg (flickr: sbisson) HTTP Status Cats: http:/ /httpcats.herokuapp.com/ Images from
GirlieMac Picture Credits 83 Wednesday, March 14, 12