SlideShare a Scribd company logo
Introduction to HTTP
History, Knowledge and Usages
code4crafter@gmail.com
2015.4.1
O U T L I N E
• History
• HTTP Basics
• Extended Topics
Background - Beyond text
• Hypertext is text which is not constrained to be linear. Hypertext is text
which contains links to other texts.
——《Computer Lib/Dream Machines》 Ted Nelson
W h a t i s “ h y p e r ” ?
P r o j e c t X a n a d u ( 1 9 6 0 - 2 0 1 4 ? )
The Birth of Web 1989
• Tim Beners-Lee @CERN
T h e F i r s t B r o w s e r
• “WorldWideWeb”(Nexus)
The First Web Server
• CERN httpd on NeXT
The First Website
• http://info.cern.ch/hypertext/WWW/TheProject.html
WWW and Internet
O U T L I N E
• History
• HTTP Basics
• Extended Topics
HTTP Message Structure
HTTP Message Structure — Start Line
• Method
• OPTIONS/GET/HEAD/POST/PUT/DELETE/TRACE/CONNECT
• http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
• URL
• URL is an impl of URI
• Status Code(Response)
• 1xx/2xx/3xx/4xx/5xx
• http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
• Reason-Phrase(Response)
• 200 OK, 404 Not Found,
• CRLF
• Carriage-Return r Line-Feed n
HTTP Message Structure — Headers
• Request Headers
• Accept headers:
• Accept, Accept-Charset, Accept-Encoding , Accept-Language
• Conditional request headers:
• If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since
• Request security headers:
• Authorization, Cookie, Cookie2
• Proxy request headers:
• Max-Forwards, Proxy-Authorization, Proxy-Connection
HTTP Message Structure — Headers
• Response Headers
• Negotiation headers:
• Accept-Ranges, Vary
• Response security headers:
• Proxy-Authenticate, Set-Cookie, Set-Cookie2, WWW-Authenticate, Access-Control-Allow-Origin
• Content cache headers:
• ETag, Last-Modified, Expires, Cache-Control
HTTP Message Structure — Body
• Content Headers
• Content-Type
• Content-Type: application/x-www-form-urlencoded
• Content-Type: text/html; charset=utf-8
• Content-Length
• Content-Encoding
• Content-Range
• Content-Language
O U T L I N E
• History
• HTTP Basics
• Extended Topics
Persistent Connection
• Why Keep-Alive
• The TCP connection setup handshake
• TCP slow-start congestion control
• Nagle’s Algorithm and TCP_NODELAY
• HTTP 1.0
• Connection: Keep-Alive
• HTTP 1.1
• By Default Keep Alive
• To Close: Connection: Close
Caching
• Browser Caching
• Document Expires?
• Cache-Control: max-age=604800
• Expire: Tue, 07 Apr 2015 15:26:18 GMT
Caching — Revalidation with Server
• Date • Tag
Content-Type — Internet media type
• image/audio/video/text/application/multipart
• http://en.wikipedia.org/wiki/Internet_media_type
• Application
• application/x-www-form-urlencoded
• Query String => Post Body
• application/xml, application/json
Content-Type — Multipart & MIME
• Multipart
• multipart/form-data
• MIME—Multi-Purpose Internet Mail Extensions
Range
• Response
• Content-Length/ Accept-Ranges
• Request
• Range
H t t p v e r s i o n s
• HTTP V 0.9(1991)
• Request-Response, only GET
• HTTP V 1.0(1992 draft,1996 release)
• Version Code, More Operations, Headers, Mime
• HTTP V 1.1(1992 draft,1999 release)
• Keep-alive, Proxy
• HTTP V 2.0(2014 draft,? release)
• Header Compression, Parallel Loading over single connection
E n d
• Thanks!

More Related Content

PDF
HTTP - The Protocol of Our Lives
PPTX
Introduction to HTTP protocol
PDF
Http methods
PPTX
PPTX
Http protocol
PDF
Lec 7(HTTP Protocol)
PPTX
HTTP Protocol Basic
PPTX
Http basics by-joshi_29_4_15-ppt
HTTP - The Protocol of Our Lives
Introduction to HTTP protocol
Http methods
Http protocol
Lec 7(HTTP Protocol)
HTTP Protocol Basic
Http basics by-joshi_29_4_15-ppt

What's hot (20)

PPTX
KEY
What's up with HTTP?
PPT
Hypertext transfer protocol (http)
PPTX
Http - All you need to know
PDF
21 HTTP Protocol #burningkeyboards
PPTX
PPT
HTTP
PPSX
HTTP Presentation
PPTX
Http Protocol
PPTX
HyperText Transfer Protocol (HTTP)
PDF
PPTX
Http-protocol
PPTX
HTTP fundamentals for developers
PPTX
HTTP vs HTTPS, Do You Really Need HTTPS?
PPTX
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
PPTX
Introducing HTTP/2
PDF
What HTTP/2.0 Will Do For You
PPTX
HTTPS
PPTX
Hypertext Transfer Protocol
What's up with HTTP?
Hypertext transfer protocol (http)
Http - All you need to know
21 HTTP Protocol #burningkeyboards
HTTP
HTTP Presentation
Http Protocol
HyperText Transfer Protocol (HTTP)
Http-protocol
HTTP fundamentals for developers
HTTP vs HTTPS, Do You Really Need HTTPS?
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Introducing HTTP/2
What HTTP/2.0 Will Do For You
HTTPS
Hypertext Transfer Protocol
Ad

Viewers also liked (15)

PDF
Session hijacking
PPT
HTTP Basics
PPTX
An Introduction to HTTP
PDF
Access Control for HTTP Operations on Linked Data
PDF
Igor Cernopolc - Http authentication in automated testing - presentation
PPSX
Hypertext Transfer Protocol
PDF
Hack session for NYTimes Dialect Map Visualization( developed by R Shiny)
PPT
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
PDF
Working with Cookies in NodeJS
PPTX
Http Vs Https .
PPT
HyperText Transfer Protocol
PPTX
ASP.NET Web API and HTTP Fundamentals
PPTX
Internet access via cable tv network ppt
PPT
Network security
PDF
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
Session hijacking
HTTP Basics
An Introduction to HTTP
Access Control for HTTP Operations on Linked Data
Igor Cernopolc - Http authentication in automated testing - presentation
Hypertext Transfer Protocol
Hack session for NYTimes Dialect Map Visualization( developed by R Shiny)
HTTP Session Replication with Oracle Coherence, GlassFish, WebLogic
Working with Cookies in NodeJS
Http Vs Https .
HyperText Transfer Protocol
ASP.NET Web API and HTTP Fundamentals
Internet access via cable tv network ppt
Network security
A Guide to SlideShare Analytics - Excerpts from Hubspot's Step by Step Guide ...
Ad

Similar to Introduction to HTTP (20)

PPT
Http VS. Https
PPTX
Evolution of HTTP - Miran Al Mehrab
PPT
HTTP.ppt
PPT
Hypertext Transfer Protocol Hypertext Transfer Protocol
PPT
HTTP.ppt
PPT
HTTP (syper text transfer protocol)(6).ppt
PPT
HTTP_2.ppt
PPT
PPT
www | HTTP | HTML - Tutorial
PDF
HTTP/2: What's new?
PPT
KMUTNB - Internet Programming 2/7
PDF
Hypertexttransferprotocolhttp 131012171813-phpapp02
PDF
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
PDF
HTTP In-depth
PPTX
It unit 1
PDF
HTTPs Strict Transport Security
PPT
A detailed presentation on the World Wide Web
PDF
Introduction to HTTP
PPTX
http presentation 1.pptx
PDF
HTTP colon slash slash: the end of the road?
Http VS. Https
Evolution of HTTP - Miran Al Mehrab
HTTP.ppt
Hypertext Transfer Protocol Hypertext Transfer Protocol
HTTP.ppt
HTTP (syper text transfer protocol)(6).ppt
HTTP_2.ppt
www | HTTP | HTML - Tutorial
HTTP/2: What's new?
KMUTNB - Internet Programming 2/7
Hypertexttransferprotocolhttp 131012171813-phpapp02
HTTP2 in action - Piet Van Dongen - Codemotion Amsterdam 2017
HTTP In-depth
It unit 1
HTTPs Strict Transport Security
A detailed presentation on the World Wide Web
Introduction to HTTP
http presentation 1.pptx
HTTP colon slash slash: the end of the road?

Recently uploaded (20)

PPTX
international classification of diseases ICD-10 review PPT.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PDF
Paper PDF World Game (s) Great Redesign.pdf
PPTX
innovation process that make everything different.pptx
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PPTX
Internet___Basics___Styled_ presentation
PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
Introduction to the IoT system, how the IoT system works
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PPTX
Digital Literacy And Online Safety on internet
PPT
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
DOCX
Unit-3 cyber security network security of internet system
PPTX
Funds Management Learning Material for Beg
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
Introduction to Information and Communication Technology
PPTX
artificial intelligence overview of it and more
international classification of diseases ICD-10 review PPT.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
Unit-1 introduction to cyber security discuss about how to secure a system
An introduction to the IFRS (ISSB) Stndards.pdf
Paper PDF World Game (s) Great Redesign.pdf
innovation process that make everything different.pptx
Module 1 - Cyber Law and Ethics 101.pptx
Internet___Basics___Styled_ presentation
The Internet -By the Numbers, Sri Lanka Edition
Introduction to the IoT system, how the IoT system works
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Tenda Login Guide: Access Your Router in 5 Easy Steps
Digital Literacy And Online Safety on internet
isotopes_sddsadsaadasdasdasdasdsa1213.ppt
Unit-3 cyber security network security of internet system
Funds Management Learning Material for Beg
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Introduction to Information and Communication Technology
artificial intelligence overview of it and more

Introduction to HTTP

  • 1. Introduction to HTTP History, Knowledge and Usages code4crafter@gmail.com 2015.4.1
  • 2. O U T L I N E • History • HTTP Basics • Extended Topics
  • 3. Background - Beyond text • Hypertext is text which is not constrained to be linear. Hypertext is text which contains links to other texts. ——《Computer Lib/Dream Machines》 Ted Nelson
  • 4. W h a t i s “ h y p e r ” ?
  • 5. P r o j e c t X a n a d u ( 1 9 6 0 - 2 0 1 4 ? )
  • 6. The Birth of Web 1989 • Tim Beners-Lee @CERN
  • 7. T h e F i r s t B r o w s e r • “WorldWideWeb”(Nexus)
  • 8. The First Web Server • CERN httpd on NeXT
  • 9. The First Website • http://info.cern.ch/hypertext/WWW/TheProject.html
  • 11. O U T L I N E • History • HTTP Basics • Extended Topics
  • 13. HTTP Message Structure — Start Line • Method • OPTIONS/GET/HEAD/POST/PUT/DELETE/TRACE/CONNECT • http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html • URL • URL is an impl of URI • Status Code(Response) • 1xx/2xx/3xx/4xx/5xx • http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html • Reason-Phrase(Response) • 200 OK, 404 Not Found, • CRLF • Carriage-Return r Line-Feed n
  • 14. HTTP Message Structure — Headers • Request Headers • Accept headers: • Accept, Accept-Charset, Accept-Encoding , Accept-Language • Conditional request headers: • If-Match, If-None-Match, If-Modified-Since, If-Unmodified-Since • Request security headers: • Authorization, Cookie, Cookie2 • Proxy request headers: • Max-Forwards, Proxy-Authorization, Proxy-Connection
  • 15. HTTP Message Structure — Headers • Response Headers • Negotiation headers: • Accept-Ranges, Vary • Response security headers: • Proxy-Authenticate, Set-Cookie, Set-Cookie2, WWW-Authenticate, Access-Control-Allow-Origin • Content cache headers: • ETag, Last-Modified, Expires, Cache-Control
  • 16. HTTP Message Structure — Body • Content Headers • Content-Type • Content-Type: application/x-www-form-urlencoded • Content-Type: text/html; charset=utf-8 • Content-Length • Content-Encoding • Content-Range • Content-Language
  • 17. O U T L I N E • History • HTTP Basics • Extended Topics
  • 18. Persistent Connection • Why Keep-Alive • The TCP connection setup handshake • TCP slow-start congestion control • Nagle’s Algorithm and TCP_NODELAY • HTTP 1.0 • Connection: Keep-Alive • HTTP 1.1 • By Default Keep Alive • To Close: Connection: Close
  • 19. Caching • Browser Caching • Document Expires? • Cache-Control: max-age=604800 • Expire: Tue, 07 Apr 2015 15:26:18 GMT
  • 20. Caching — Revalidation with Server • Date • Tag
  • 21. Content-Type — Internet media type • image/audio/video/text/application/multipart • http://en.wikipedia.org/wiki/Internet_media_type • Application • application/x-www-form-urlencoded • Query String => Post Body • application/xml, application/json
  • 22. Content-Type — Multipart & MIME • Multipart • multipart/form-data • MIME—Multi-Purpose Internet Mail Extensions
  • 23. Range • Response • Content-Length/ Accept-Ranges • Request • Range
  • 24. H t t p v e r s i o n s • HTTP V 0.9(1991) • Request-Response, only GET • HTTP V 1.0(1992 draft,1996 release) • Version Code, More Operations, Headers, Mime • HTTP V 1.1(1992 draft,1999 release) • Keep-alive, Proxy • HTTP V 2.0(2014 draft,? release) • Header Compression, Parallel Loading over single connection
  • 25. E n d • Thanks!

Editor's Notes

  • #6: http://www.xanadu.com/
  • #7: http://en.wikipedia.org/wiki/Tim_Berners-Lee http://home.web.cern.ch/topics/birth-web
  • #10: http://en.wikipedia.org/wiki/Tim_Berners-Lee
  • #11: 引用:http://en.wikipedia.org/wiki/World_Wide_Web
  • #13: http://www.w3.org/Protocols/rfc2616/rfc2616-sec5.html http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html 图片来自:《HTTP权威指南》 HTTP: The Definitive Guide
  • #14: http://www.w3.org/Protocols/rfc2616/rfc2616.html => rfc 7230-7237 https://tools.ietf.org/html/rfc7237 <scheme>://<user>:<password>@<host>:<port>/<path>;<params>? <query>#<frag> http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
  • #15: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
  • #16: http://en.wikipedia.org/wiki/List_of_HTTP_header_fields http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
  • #17: http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
  • #20: http://www.w3.org/Protocols/rfc2616/rfc2616.html http://tools.ietf.org/html/rfc7234
  • #22: http://en.wikipedia.org/wiki/Internet_media_type https://tools.ietf.org/html/rfc7231
  • #23: http://en.wikipedia.org/wiki/MIME http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
  • #24: http://tools.ietf.org/html/rfc7233 curl -I http://t1.s2.dpfile.com/pc/mc/40b121f4c768759de07b2320b67e5565(640x1024)/thumb.jpg curl -H”Range:bytes=0-30224" http://t1.s2.dpfile.com/pc/mc/40b121f4c768759de07b2320b67e5565\(640x1024\)/thumb.jpg curl -H”Range:bytes=30225-“ http://t1.s2.dpfile.com/pc/mc/40b121f4c768759de07b2320b67e5565\(640x1024\)/thumb.jpg
  • #25: http://www.w3.org/Protocols/HTTP/AsImplemented.html 0.9 http://tools.ietf.org/html/rfc1945 1.0