Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to HTTP 1.1
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Zaki Shaheen
April 07, 2015
Programming
0
93
Introduction to HTTP 1.1
A brief introduction to HTTP for web and mobile developers.
Zaki Shaheen
April 07, 2015
Tweet
Share
More Decks by Zaki Shaheen
See All by Zaki Shaheen
Improving development workflow with GruntJS
zakishaheen
0
77
Introduction to VIM
zakishaheen
0
210
Introduction to Design Patterns
zakishaheen
0
160
Other Decks in Programming
See All in Programming
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
CSC307 Lecture 07
javiergs
PRO
1
550
SourceGeneratorのススメ
htkym
0
200
2026年 エンジニアリング自己学習法
yumechi
0
140
CSC307 Lecture 01
javiergs
PRO
0
690
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
140
AWS re:Invent 2025参加 直前 Seattle-Tacoma Airport(SEA)におけるハードウェア紛失インシデントLT
tetutetu214
2
120
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
130
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Featured
See All Featured
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
280
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
150
エンジニアに許された特別な時間の終わり
watany
106
230k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
67
Building AI with AI
inesmontani
PRO
1
700
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
200
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
130
Raft: Consensus for Rubyists
vanstee
141
7.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
650
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
Introduction to HTTP 1.1 By Zaki Shaheen
“There is no sense in being precise if you do
not know what you are talking about.” John von Neumann
Prerequisites Understanding of computer networks Understanding of OSI and TCP/IP
Model Understanding of network applications (client, server, connection, persistent/nonpersistent connection, etc.)
The OSI Layer Model (Charles Bachmann, Honeywell, 1983 - ISO
7498)
None
None
None
What is HTTP? HTTP = HyperText Transfer Protocol Application-level protocol
for distributed, collaborative hypermedia systems. Mother of All Demos (D. Englebart - 1968)
HyperText HyperText = Contains links to other Vennevar Bush, 1930-1945
- “As we may think” Ted Nelson, 1965
Foundational technology of the WorldWideWeb. Generic and stateless.
Can be used for almost any kind of information exchange in a distributed environment. Focus on “negotiation” to transfer any kind of data.
Brief History of HTTP v0.9 - 1991 v1.0 - 1996
(Tim Berners-Lee RFC1945) v1.1 - 1999 (The internet society - RFC2616) Other related things: URIs (RFC 5785)
2014 update to HTTP Message syntax and routing (RFC 7230)
Semantics and content (RFC 7231) Conditional Requests (RFC 7232) Range Requests (RFC 7233) Caching (RFC 7234) Authentication (RFC 7235) Authentication Registration (RFC 7236) ...
Skipping URIs but...
Remember... connection packet, frame, message, request, response resource, entity, representation
client, user agent, server
Pop Quiz How is a request transmitted from your browser
to the server and back?
None
None
HTTP message header entity | message Entity entity-header response-header general-header
entity-header request-header general-header Entity
Header fields general-header request-header | response-header entity-header message body can
be any content but must be specified what kind of content it is.
general-header cache-control connection date transfer-encoding (chunked?)
request-header Accept, Accept-charset, Accept-Encoding, Accept-Language, Authorization, Expect, From, Host, If-
Match, If-Modified-Since, User-Agent…
response-header accept-ranges, age, e-Tag, location (201, created), proxy-authentication, retry-after, server,
vary, www- authenticate...
entity-header
message
Pop-Quiz How many HTTP request methods?
8 methods GET POST OPTIONS HEAD PUT DELETE TRACE CONNECT
GET and HEAD Normal GET Partial GET (Range headers) Conditional
GET (If-Modified-Since) Head only returns the header, not the entity itself.
POST The POST method is used to request that the
origin server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
PUT and DELETE Add or update. Client specifies the URI.
If new Entity is created - respond with 201. If existing entity is updated - respond with 200. Delete deletes the entity specified.
TRACE Reflect my message back to me!
Pop- Quiz: How many status messages?
41 Status codes Informational: 100-101 Successful: 200 - 206 Redirection:
300 - 307 Client error: 400 - 417 Server error: 500 - 505
100 - continue 101 - switching protocols 200 - OK
201 - Created 202 - Accepted 203 - non-authoritative information 204 - no content
205 - reset content 206 - partial content … 400
- bad request 401 - unauthorized 403 - forbidden 404 - not found
Advanced topics Authentication and authorisation Caching Advanced header fields
Resources Read the HTTP and related RFCs TutsPlus articles on
HTTP Read The Innovators for a beautiful history of computing.