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
Introduction to HTTP 1.1
Search
Zaki Shaheen
April 07, 2015
Programming
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to HTTP 1.1
A brief introduction to HTTP for web and mobile developers.
Zaki Shaheen
April 07, 2015
More Decks by Zaki Shaheen
See All by Zaki Shaheen
Improving development workflow with GruntJS
zakishaheen
0
85
Introduction to VIM
zakishaheen
0
220
Introduction to Design Patterns
zakishaheen
0
180
Other Decks in Programming
See All in Programming
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
330
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2.1k
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
250
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.3k
Getting Started with Vibe Coding
miccheng
0
170
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
690
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
330
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
8年前のNode.jsを動かして分かった、npm installの裏側
keisukeikeda
0
120
Coding with AI: How to trust the storyteller (AWS Community Day Adria, Ljubljana 2026)
slobodan
0
130
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
4
3.6k
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
270
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Bash Introduction
62gerente
615
220k
Git: the NoSQL Database
bkeepers
PRO
433
67k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
490
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
440
GitHub's CSS Performance
jonrohan
1033
470k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
470
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.7k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
600
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.