SlideShare une entreprise Scribd logo
1  sur  35
1 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
HTTP HYPERTEXT TRANSFER PROTOCOL 
2 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
The Hypertext Transfer Protocol (HTTP) is an application-level protocol 
for distributed, collaborative, hypermedia information systems. 
Hypertext Transfer Protocol -- HTTP/1.1 IETF. RFC 2616 
3 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
WHY THIS TALK? 
▸ Know your tools 
4 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
WHY THIS TALK? 
▸ Caching 
▸ SEO 
▸ Performance 
5 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
ABOUT ME 
▸ Fabian Blechschmidt @Fabian_ikono 
▸ blechschmidt@fabian-blechschmidt.de 
▸ Magento since 2011 
▸ Certified Magento Developer (Plus) 
playing alot around, at the moment: TDD, BDD, DDD 
6 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
OUTLINE 
▸ History 
▸ Request and Response 
▸ Methods 
▸ Status codes 
▸ (Future) 
7 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
HISTORY 
▸ First idea: 
Vannevar Bush's vision (1930's) of the microfilm-based information 
retrieval and management memex 
As We May Think (1945) 
▸ Ted Nelson in 1965 in the Xanadu Project 
▸ First version: 1991 HTTP 0.9 
8 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
OSI 
Application Protocol - Layer 7 
▸ HTTP 
▸ TCP 
▸ IP 
▸ Ethernet 
9 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
BASICS 
HTTP is 
- stateless 
- plaintext (readable) 
- request/response pattern 
10 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
HTTP REQUEST & RESPONSE 11 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
HTTP REQUEST 
$method $path $protocol 
GET /my-cool-path/filename HTTP/1.1 
Host: www.example.com 
12 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
HTTP RESPONSE 
HTTP/1.1 200 OK 
Date: Mon, 23 May 2005 22:38:34 GMT 
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) 
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT 
ETag: "3f80f-1b6-3e1cb03b" 
Content-Type: text/html; charset=UTF-8 
Content-Length: 131 
Accept-Ranges: bytes 
Connection: close 
<html> 
<head> 
<title>An Example Page</title> 
</head> 
<body> 
Hello World, this is a very simple HTML document. 
</body> 
</html> 
13 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
METHODS 
14 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
METHODS 
▸ GET 
▸ POST 
▸ PUT 
▸ DELETE 
15 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
MORE METHODS 
▸ HEAD 
▸ TRACE 
▸ OPTIONS 
▸ PATCH 
16 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
STATUS CODES 
17 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
1XX: INFORMATIONAL MESSAGES 
100: Continue 
101: Switching Protocols 
18 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
2XX: SUCCESSFUL 
Everything is ok! 
200 OK 
202 Accepted 
204 No Content 
205 Reset Content 
206 Partial Content 
19 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
3XX: REDIRECTION 
Try it somewhere else! 
300 Multiple Choices 
301 Moved Permanently 
302 Found 
303 See Other 
304 Not Modified 
305 Use Proxy 
307 Temporary Redirect 
20 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
302 FOUND 
Learned through reading RFCs: 
▸ should follow Location header WITHOUT changing method! 
All browsers do this wrong. 
21 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
CLIENT ERROR 4XX 
You made somewthing wrong. 
400 Bad Request 
401 Unauthorized 
402 Payment Required 
403 Forbidden 
404 Not Found 
405 Method Not Allowed 
406 Not Acceptable 
407 Proxy Authentication Required 
408 Request Timeout 
409 Conflict 
410 Gone 
22 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
SERVER ERROR 5XX 
We made something wrong. 
500 Internal Server Error 
501 Not Implemented 
502 Bad Gateway 
503 Service Unavailable 
504 Gateway Timeout 
505 HTTP Version Not Supported 
23 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
CACHING1 
▸ etag 
▸ Cache-Control header 
1 https://tools.ietf.org/html/rfc7234 
24 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
ETAGS 
First request without cached version 
25 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
ETAGS 
Validating cached responses with ETags 
26 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
CACHE-CONTROL HEADER 
Send Cache-Control header 
27 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
HOW TO CACHE 
28 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
USER AGENTS 
29 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
USER AGENTS 
▸ web browser 
▸ crawler 
▸ search bots -> robots.txt 
▸ screen reader 
▸ HTTP proxie 
30 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
FUTURE 
▸ SPDY 
▸ HTTP 2.0 
31 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
THANKS YOU 
QUESTIONS? 
http://theslidesareonline.de/http 
32 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
RESOURCES 
▸ https://developers.google.com/web/fundamentals/performance/ 
optimizing-content-efficiency/http-caching?hl=en 
▸ http://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer- 
must-know-part-1--net-31177 
▸ https://en.wikipedia.org/wiki/HypertextTransferProtocol 
▸ http://zacstewart.com/2012/04/14/http-options-method.html 
33 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
RESOURCES 
▸ https://stackoverflow.com/questions/2068418/whats-the-difference- 
between-a-302-and-a-307-redirect 
▸ http://www.chromium.org/spdy/spdy-whitepaper 
▸ https://tools.ietf.org/html/draft-ietf-httpbis-http2-15 
34 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
IMAGES 
- By John from USA (Backup Backup Backup - And Test Restores) [CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons 
- http://humor.beecy.net/menwomen/the-perfect-man/ 
35 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany

Contenu connexe

En vedette (8)

HyperText Transfer Protocol
HyperText Transfer ProtocolHyperText Transfer Protocol
HyperText Transfer Protocol
 
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
Hypertext transfer protocol and hypertext transfer protocol secure(HTTP and H...
 
HTTP
HTTPHTTP
HTTP
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
 
Http Vs Https .
Http Vs Https . Http Vs Https .
Http Vs Https .
 
Introduction to HTTP protocol
Introduction to HTTP protocolIntroduction to HTTP protocol
Introduction to HTTP protocol
 
HTTP Basics
HTTP BasicsHTTP Basics
HTTP Basics
 
HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)HyperText Transfer Protocol (HTTP)
HyperText Transfer Protocol (HTTP)
 

Similaire à Fabien Blechschmidt: HYPERTEXT TRANSFER PROTOCOL

HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
Mayflower GmbH
 

Similaire à Fabien Blechschmidt: HYPERTEXT TRANSFER PROTOCOL (20)

OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and AveOWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
OWASP Top 10 - Checkmarx Presentation at Polytechnic Institute of Cávado and Ave
 
20190516 web security-basic
20190516 web security-basic20190516 web security-basic
20190516 web security-basic
 
TYPO3 as Things Management System
TYPO3 as Things Management SystemTYPO3 as Things Management System
TYPO3 as Things Management System
 
Green Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in GovernmentGreen Shoots in the Brownest Field: Being a Startup in Government
Green Shoots in the Brownest Field: Being a Startup in Government
 
Getting started with rabbitmq
Getting started with rabbitmqGetting started with rabbitmq
Getting started with rabbitmq
 
Extending LabVIEW to the Web Using the LabSocket System
Extending LabVIEW to the Web Using the LabSocket SystemExtending LabVIEW to the Web Using the LabSocket System
Extending LabVIEW to the Web Using the LabSocket System
 
HTTPS and HTTP/2
HTTPS and HTTP/2HTTPS and HTTP/2
HTTPS and HTTP/2
 
Introduction to python scrapping
Introduction to python scrappingIntroduction to python scrapping
Introduction to python scrapping
 
Pentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare RuleenginePentaho PDI and the Jare Ruleengine
Pentaho PDI and the Jare Ruleengine
 
PHP Testing Workshop
PHP Testing WorkshopPHP Testing Workshop
PHP Testing Workshop
 
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
 
Basic Introduction to Web Development
Basic Introduction to Web DevelopmentBasic Introduction to Web Development
Basic Introduction to Web Development
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Geek Moot '09 -- Multilang Implemenatation
Geek Moot '09 -- Multilang ImplemenatationGeek Moot '09 -- Multilang Implemenatation
Geek Moot '09 -- Multilang Implemenatation
 
Do zero ao deploy
Do zero ao deployDo zero ao deploy
Do zero ao deploy
 
HTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPCHTML5 for PHP Developers - IPC
HTML5 for PHP Developers - IPC
 
EdTechJoker Spring 2020 - Lecture 2 - Git
EdTechJoker Spring 2020 - Lecture 2 - GitEdTechJoker Spring 2020 - Lecture 2 - Git
EdTechJoker Spring 2020 - Lecture 2 - Git
 
GT-Mconf - Transfer of Technology Course
GT-Mconf - Transfer of Technology CourseGT-Mconf - Transfer of Technology Course
GT-Mconf - Transfer of Technology Course
 
HTML 5 Security
HTML 5 SecurityHTML 5 Security
HTML 5 Security
 
NuGet Nuggets
NuGet NuggetsNuGet Nuggets
NuGet Nuggets
 

Plus de Meet Magento Poland

Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...
Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...
Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...
Meet Magento Poland
 
Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...
Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...
Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...
Meet Magento Poland
 
Fabrizio Balliano: Tracking visitors despite Varnish
Fabrizio Balliano: Tracking visitors despite VarnishFabrizio Balliano: Tracking visitors despite Varnish
Fabrizio Balliano: Tracking visitors despite Varnish
Meet Magento Poland
 
Alex Ursa: ERP Integrations with Magento: How to do it fast, good and affordable
Alex Ursa: ERP Integrations with Magento: How to do it fast, good and affordableAlex Ursa: ERP Integrations with Magento: How to do it fast, good and affordable
Alex Ursa: ERP Integrations with Magento: How to do it fast, good and affordable
Meet Magento Poland
 
Robert Żochowski, Jarosław Gąsiorek: Integracja Magento SAP
Robert Żochowski, Jarosław Gąsiorek: Integracja Magento SAPRobert Żochowski, Jarosław Gąsiorek: Integracja Magento SAP
Robert Żochowski, Jarosław Gąsiorek: Integracja Magento SAP
Meet Magento Poland
 
Maciej Ostrowski: Podstawy implementacji multi-inwentarza w Magento
Maciej Ostrowski: Podstawy implementacji multi-inwentarza w MagentoMaciej Ostrowski: Podstawy implementacji multi-inwentarza w Magento
Maciej Ostrowski: Podstawy implementacji multi-inwentarza w Magento
Meet Magento Poland
 
Andrei Vashkievich: 5 Steps For No-SPAM E-mails in Magento
Andrei Vashkievich: 5 Steps For No-SPAM E-mails in MagentoAndrei Vashkievich: 5 Steps For No-SPAM E-mails in Magento
Andrei Vashkievich: 5 Steps For No-SPAM E-mails in Magento
Meet Magento Poland
 
Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...
Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...
Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...
Meet Magento Poland
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Meet Magento Poland
 

Plus de Meet Magento Poland (20)

Wiktor Naskręt: Jednorazowa przygoda, przelotna znajomość, 
zżyte małżeństwo...
Wiktor Naskręt: Jednorazowa przygoda, przelotna znajomość, 
zżyte małżeństwo...Wiktor Naskręt: Jednorazowa przygoda, przelotna znajomość, 
zżyte małżeństwo...
Wiktor Naskręt: Jednorazowa przygoda, przelotna znajomość, 
zżyte małżeństwo...
 
Toni Anicic: Conversion Rate Optimization for Magento in the Age of Responsive
Toni Anicic: Conversion Rate Optimization for Magento  in the Age of ResponsiveToni Anicic: Conversion Rate Optimization for Magento  in the Age of Responsive
Toni Anicic: Conversion Rate Optimization for Magento in the Age of Responsive
 
Davide Consonni: Best Practices to Improve Customer Experience and Conversions
Davide Consonni: Best Practices to Improve Customer Experience and ConversionsDavide Consonni: Best Practices to Improve Customer Experience and Conversions
Davide Consonni: Best Practices to Improve Customer Experience and Conversions
 
Eugene Vtorov: Integration of eCommerce and 3D Technologies: see what you buy
Eugene Vtorov: Integration of eCommerce and 3D Technologies: see what you buyEugene Vtorov: Integration of eCommerce and 3D Technologies: see what you buy
Eugene Vtorov: Integration of eCommerce and 3D Technologies: see what you buy
 
Michał Sadowski: Nowoczesne metody promocji marki w sieci
Michał Sadowski: Nowoczesne metody promocji marki w sieciMichał Sadowski: Nowoczesne metody promocji marki w sieci
Michał Sadowski: Nowoczesne metody promocji marki w sieci
 
Paulina Rutecka: Trudni klienci jako choroba przenoszona drogą e-commerce
Paulina Rutecka: Trudni klienci jako choroba przenoszona drogą e-commercePaulina Rutecka: Trudni klienci jako choroba przenoszona drogą e-commerce
Paulina Rutecka: Trudni klienci jako choroba przenoszona drogą e-commerce
 
Krzysztof Wroński: Let’s do this project... together!
Krzysztof Wroński: Let’s do this project... together!Krzysztof Wroński: Let’s do this project... together!
Krzysztof Wroński: Let’s do this project... together!
 
Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...
Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...
Patrycja Andrzejewska: Responsive checkout - Jak zoptymalizować proces zakup...
 
Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...
Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...
Mateusz Falkowski: Merchandising w e-commerce. Zarządzanie produktem i pozyc...
 
Fabrizio Balliano: Tracking visitors despite Varnish
Fabrizio Balliano: Tracking visitors despite VarnishFabrizio Balliano: Tracking visitors despite Varnish
Fabrizio Balliano: Tracking visitors despite Varnish
 
Alex Ursa: ERP Integrations with Magento: How to do it fast, good and affordable
Alex Ursa: ERP Integrations with Magento: How to do it fast, good and affordableAlex Ursa: ERP Integrations with Magento: How to do it fast, good and affordable
Alex Ursa: ERP Integrations with Magento: How to do it fast, good and affordable
 
Daniel Sloof: Magento on HHVM
Daniel Sloof: Magento on HHVMDaniel Sloof: Magento on HHVM
Daniel Sloof: Magento on HHVM
 
Robert Żochowski, Jarosław Gąsiorek: Integracja Magento SAP
Robert Żochowski, Jarosław Gąsiorek: Integracja Magento SAPRobert Żochowski, Jarosław Gąsiorek: Integracja Magento SAP
Robert Żochowski, Jarosław Gąsiorek: Integracja Magento SAP
 
Maciej Ostrowski: Podstawy implementacji multi-inwentarza w Magento
Maciej Ostrowski: Podstawy implementacji multi-inwentarza w MagentoMaciej Ostrowski: Podstawy implementacji multi-inwentarza w Magento
Maciej Ostrowski: Podstawy implementacji multi-inwentarza w Magento
 
Andrei Vashkievich: 5 Steps For No-SPAM E-mails in Magento
Andrei Vashkievich: 5 Steps For No-SPAM E-mails in MagentoAndrei Vashkievich: 5 Steps For No-SPAM E-mails in Magento
Andrei Vashkievich: 5 Steps For No-SPAM E-mails in Magento
 
Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...
Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...
Mateusz Rzetecki: Redesign serwisu w zgodzie z działaniami SEO - o czym pamię...
 
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
Maciej Rudnicki: Zautomatyzowane środowisko deweloperskie.
 
Rytis Lauris: Missed opportunities of automated
cart recovery messages
Rytis Lauris: Missed opportunities of automated
cart recovery messagesRytis Lauris: Missed opportunities of automated
cart recovery messages
Rytis Lauris: Missed opportunities of automated
cart recovery messages
 
Viacheslav Kravchuk: Conversion rate optimisation. What’s really proved to m...
Viacheslav Kravchuk: Conversion rate optimisation.  What’s really proved to m...Viacheslav Kravchuk: Conversion rate optimisation.  What’s really proved to m...
Viacheslav Kravchuk: Conversion rate optimisation. What’s really proved to m...
 
Thomas Goletz: Commerce & growth – why is it important to have a broader view
Thomas Goletz: Commerce & growth – why is it important to have a broader viewThomas Goletz: Commerce & growth – why is it important to have a broader view
Thomas Goletz: Commerce & growth – why is it important to have a broader view
 

Dernier

If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
David Celestin
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 

Dernier (15)

Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 

Fabien Blechschmidt: HYPERTEXT TRANSFER PROTOCOL

  • 1. 1 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 2. HTTP HYPERTEXT TRANSFER PROTOCOL 2 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 3. The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems. Hypertext Transfer Protocol -- HTTP/1.1 IETF. RFC 2616 3 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 4. WHY THIS TALK? ▸ Know your tools 4 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 5. WHY THIS TALK? ▸ Caching ▸ SEO ▸ Performance 5 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 6. ABOUT ME ▸ Fabian Blechschmidt @Fabian_ikono ▸ blechschmidt@fabian-blechschmidt.de ▸ Magento since 2011 ▸ Certified Magento Developer (Plus) playing alot around, at the moment: TDD, BDD, DDD 6 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 7. OUTLINE ▸ History ▸ Request and Response ▸ Methods ▸ Status codes ▸ (Future) 7 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 8. HISTORY ▸ First idea: Vannevar Bush's vision (1930's) of the microfilm-based information retrieval and management memex As We May Think (1945) ▸ Ted Nelson in 1965 in the Xanadu Project ▸ First version: 1991 HTTP 0.9 8 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 9. OSI Application Protocol - Layer 7 ▸ HTTP ▸ TCP ▸ IP ▸ Ethernet 9 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 10. BASICS HTTP is - stateless - plaintext (readable) - request/response pattern 10 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 11. HTTP REQUEST & RESPONSE 11 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 12. HTTP REQUEST $method $path $protocol GET /my-cool-path/filename HTTP/1.1 Host: www.example.com 12 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 13. HTTP RESPONSE HTTP/1.1 200 OK Date: Mon, 23 May 2005 22:38:34 GMT Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux) Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT ETag: "3f80f-1b6-3e1cb03b" Content-Type: text/html; charset=UTF-8 Content-Length: 131 Accept-Ranges: bytes Connection: close <html> <head> <title>An Example Page</title> </head> <body> Hello World, this is a very simple HTML document. </body> </html> 13 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 14. METHODS 14 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 15. METHODS ▸ GET ▸ POST ▸ PUT ▸ DELETE 15 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 16. MORE METHODS ▸ HEAD ▸ TRACE ▸ OPTIONS ▸ PATCH 16 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 17. STATUS CODES 17 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 18. 1XX: INFORMATIONAL MESSAGES 100: Continue 101: Switching Protocols 18 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 19. 2XX: SUCCESSFUL Everything is ok! 200 OK 202 Accepted 204 No Content 205 Reset Content 206 Partial Content 19 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 20. 3XX: REDIRECTION Try it somewhere else! 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 307 Temporary Redirect 20 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 21. 302 FOUND Learned through reading RFCs: ▸ should follow Location header WITHOUT changing method! All browsers do this wrong. 21 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 22. CLIENT ERROR 4XX You made somewthing wrong. 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 22 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 23. SERVER ERROR 5XX We made something wrong. 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported 23 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 24. CACHING1 ▸ etag ▸ Cache-Control header 1 https://tools.ietf.org/html/rfc7234 24 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 25. ETAGS First request without cached version 25 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 26. ETAGS Validating cached responses with ETags 26 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 27. CACHE-CONTROL HEADER Send Cache-Control header 27 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 28. HOW TO CACHE 28 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 29. USER AGENTS 29 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 30. USER AGENTS ▸ web browser ▸ crawler ▸ search bots -> robots.txt ▸ screen reader ▸ HTTP proxie 30 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 31. FUTURE ▸ SPDY ▸ HTTP 2.0 31 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 32. THANKS YOU QUESTIONS? http://theslidesareonline.de/http 32 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 33. RESOURCES ▸ https://developers.google.com/web/fundamentals/performance/ optimizing-content-efficiency/http-caching?hl=en ▸ http://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer- must-know-part-1--net-31177 ▸ https://en.wikipedia.org/wiki/HypertextTransferProtocol ▸ http://zacstewart.com/2012/04/14/http-options-method.html 33 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 34. RESOURCES ▸ https://stackoverflow.com/questions/2068418/whats-the-difference- between-a-302-and-a-307-redirect ▸ http://www.chromium.org/spdy/spdy-whitepaper ▸ https://tools.ietf.org/html/draft-ietf-httpbis-http2-15 34 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany
  • 35. IMAGES - By John from USA (Backup Backup Backup - And Test Restores) [CC-BY-2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons - http://humor.beecy.net/menwomen/the-perfect-man/ 35 — MageUnconference.org - first magento unconference 7th and 8th May in Berlin, Germany