SlideShare a Scribd company logo
HTTP Protocol
Instructor: Prof. Dr. Friedbert Kaspar
Mai Nam Chuong
VGU BIS 2012 – Computer Networks
Definitions
HTTP Communication chain
HTTP Transport binding
HTTP Methods
HTTP Messages
HTTP Status Codes
HTTP Caching
Q&A
Agenda
2
A set of rules and regulations that
determine how data is transmitted.
Communication Protocol?
3
7 OSI layers
HTTP, SMTP, FTP, DNS
…
4
Application vs. Application layer
Application layer provides services for user
applications to use. Or,
User applications use protocols that reside
at the application layer.
Ex: Internet Explorer – HTTP; Outlook –
SMTP
Application layer?
5
Hypertext Transfer Protocol
an application-level protocol for
distributed, collaborative, hypermedia
information systems (RFC-2616)
Not only text but graphics and multimedia
A part of TCP/IP protocols suite
HTTP protocol?
6
HTTP protocol?
7
History
1990 – HTTP/0.9
1996 – HTTP/1.0
1999 – HTTP/1.1
Next HTTP/2.0 (draft)
HTTP protocol?
8
The HTTP protocol is a request/response
protocol
A client sends a request to the server
The server responds data
HTTP Communication chain
Request
Response
HTTP Client HTTP Server9
HTTP Request/Response Chain with
Intermediaries
HTTP Communication chain
Request
Response
HTTP Client
HTTP ServerIntermediary
Request
Response
Proxy
Gateway
10
Do not remember previous
request/response chain
HTTP stateless protocol
Request 1
Response 1
HTTP Client HTTP Server
Request 2
Response 2
How to maintain state?
11
Transitory connection
One connection is created for each
request/response
Persistent connection
The connection is kept open after each
request/response set until the client is done
requesting all the documents.
HTTP Transport binding
12
GET (*)
HEAD (*)
POST (*)
OPTIONS
PUT
DELETE
TRACE
CONNECT
HTTP Methods
13
GET - Requests data from a specified
resource
POST - Submits data to be processed to
a specified resource
HTTP GET vs. POST
14
HTTP GET vs. POST
15
Communication between devices using
the HTTP takes place via HTTP messages
Two types: requests and responses.
Text-based message format.
HTTP Message
16
HTTP Request Message
17
Accept:
tell the server what Internet media types it is willing to
accept in a response
Accept: type/subtype; text/plain; image/jpg; */*
Accept-Charset
specifies what character sets the client is willing to
accept in a response
Accept-Charset: iso-8859-5, UTF-8
Accept-Encoding
specifies what content encodings the client is willing to
accept
Accept-Encoding: compress, gzip
Accept-Language
indicate what languages the client supports
Accept-Language: en-gb; vi-vn
HTTP Request Headers
18
Host:
Specifies the Internet host
Host: www.vgu.edu.vn:8080
User-Agent
Specifies what agent (application) is sending the
request
User-Agent: Mozilla/5.0
Cookie
Cookie data which previously set by the server
Cookie: user=1; category=pc;
Referer
the URL of the resource from which the URL of the
current request was obtained
Referer: http://google.com
HTTP Request Headers (cont.)
19
HTTP Response Message
20
Server
Server info that serves the request
Server: Apache/2.4.1 (Unix)
Expires
gives the date/time after which the response is
considered
Expires: Thu, 20 Jul 2013 16:00:00 GMT
Refresh
Used in redirection, or when a new resource has been
created.
Refresh: 5; url=http://www.vgu.edu.vn
HTTP Response Headers
21
1xx (Informational): Request received, server is
continuing the process.
2xx (Success): The request was successfully
received, understood, accepted and serviced.
3xx (Redirection): Further action must be taken in
order to complete the request.
4xx (Client Error): The request contains bad syntax
or cannot be understood.
5xx (Server Error): The server failed to fulfill an
apparently valid request.
HTTP Status codes
22
200 OK: The request is fulfilled.
301 Move Permanently: The resource
requested for has been permanently
moved to a new location
304 Not Modified: Server notifies that
the resource requested has not been
modified.
Common HTTP Status codes
23
400 Bad Request: Server could not
understand the request (syntax error).
401 Authentication Required: The
requested resource is protected, and
require client’s credential.
403 Forbidden: Server refuses to supply
the resource, regardless of identity of
client.
404 Not Found: The requested resource
cannot be found in the server.
Common HTTP Status codes
24
500 Internal Server Error: Server is error in
the server-side program responding to the
request.
503 Service Unavailable: Server cannot
response due to overloading or
maintenance. The client can try again later.
504 Gateway Timeout: Proxy or Gateway
indicates that it receives a timeout from an
upstream server.
Common HTTP Status codes
25
HTTP is a
stateless
protocol.
Cookies
provide a
mechanism to
"maintain
state".
HTTP Cookie
26
Cache: local copy of a resource
HTTP Caching
Request
Response
HTTP Client
Intermediary
Request
Response
HTTP Server
27
Expiration Model
How long a resource is valid?
Eliminate requests to server
Reduce network round-trip
Cache-Control: max-age=3600
Expires: Tue, 15 Aug 2013 07:19:00 GMT
HTTP Caching
28
Validation Model
When the resource last changed?
Eliminate full response to client
Reduce network bandwidth
If-Modified-Since: Thu, 17 Aug 2006 17:53:51 GMT
ETag: "686897696a7c876b7e"
HTTP Caching
29
RFC-2616:
http://www.w3.org/Protocols/rfc2616/rfc2616.html
TCP GUIDE:
http://www.tcpipguide.com/free/t_TCPIPHypertextTran
sferProtocolHTTP.htm
IBM Software Information Center - The HTTP
protocol
http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/top
ic/com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl29.htm
References
30
Q&A
31
Ad

More Related Content

What's hot (20)

Http-protocol
Http-protocolHttp-protocol
Http-protocol
Toushik Paul
 
Http protocol
Http protocolHttp protocol
Http protocol
Arpita Naik
 
HTTP Presentation
HTTP Presentation HTTP Presentation
HTTP Presentation
Lana Dujanovic
 
HTTP Basics
HTTP BasicsHTTP Basics
HTTP Basics
sanjoysanyal
 
Http Protocol
Http ProtocolHttp Protocol
Http Protocol
N R Z Malik
 
Https presentation
Https presentationHttps presentation
Https presentation
patel jatin
 
Hypertext Transfer Protocol
Hypertext Transfer ProtocolHypertext Transfer Protocol
Hypertext Transfer Protocol
Shubham Srivastava
 
Http VS. Https
Http VS. HttpsHttp VS. Https
Http VS. Https
Raed Aldahdooh
 
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...
rahul kundu
 
Https
HttpsHttps
Https
Pooya Sagharchiha
 
Http request and http response
Http request and http responseHttp request and http response
Http request and http response
Nuha Noor
 
Http and its Applications
Http and its ApplicationsHttp and its Applications
Http and its Applications
Nayan Dagliya
 
Https
HttpsHttps
Https
Bala Bhaskar Karakavalasa
 
Http headers
Http headersHttp headers
Http headers
Judy Ngure
 
Http
HttpHttp
Http
Luavis Kang
 
HTTPS
HTTPSHTTPS
HTTPS
R.K. University
 
Introduction to HTTP protocol
Introduction to HTTP protocolIntroduction to HTTP protocol
Introduction to HTTP protocol
Aviran Mordo
 
Hypertext transfer protocol (http)
Hypertext transfer protocol (http)Hypertext transfer protocol (http)
Hypertext transfer protocol (http)
Shimona Agarwal
 
HTTP
HTTPHTTP
HTTP
altaykarakus
 
HTTP Definition and Basics.
HTTP Definition and Basics.HTTP Definition and Basics.
HTTP Definition and Basics.
Halah Salih
 

Viewers also liked (20)

"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay
Bipin Upadhyay
 
Web Crawling- Scraping Ajax Sites
Web Crawling- Scraping Ajax SitesWeb Crawling- Scraping Ajax Sites
Web Crawling- Scraping Ajax Sites
PromptCloud
 
What's up with HTTP?
What's up with HTTP?What's up with HTTP?
What's up with HTTP?
Mark Nottingham
 
C++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabsC++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabs
Stephane Gleizes
 
Web I - 05 - HTTP Protocol
Web I - 05 - HTTP ProtocolWeb I - 05 - HTTP Protocol
Web I - 05 - HTTP Protocol
Randy Connolly
 
Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)
Geeks Anonymes
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
Niket Chandrawanshi
 
Bjarne essencegn13
Bjarne essencegn13Bjarne essencegn13
Bjarne essencegn13
Hunde Gurmessa
 
C++11
C++11C++11
C++11
ppd1961
 
C++11
C++11C++11
C++11
Quang Trần Duy
 
C++11 concurrency
C++11 concurrencyC++11 concurrency
C++11 concurrency
xu liwei
 
C++11 & C++14
C++11 & C++14C++11 & C++14
C++11 & C++14
CyberPlusIndia
 
C++17 - the upcoming revolution (Code::Dive 2015)/
C++17 - the upcoming revolution (Code::Dive 2015)/C++17 - the upcoming revolution (Code::Dive 2015)/
C++17 - the upcoming revolution (Code::Dive 2015)/
Sławomir Zborowski
 
Networking - TCP/IP stack introduction and IPv6
Networking - TCP/IP stack introduction and IPv6Networking - TCP/IP stack introduction and IPv6
Networking - TCP/IP stack introduction and IPv6
Rodolfo Kohn
 
Elements of C++11
Elements of C++11Elements of C++11
Elements of C++11
Uilian Ries
 
Database connectivity to sql server asp.net
Database connectivity to sql server asp.netDatabase connectivity to sql server asp.net
Database connectivity to sql server asp.net
Hemant Sankhla
 
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012 C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012
Sumant Tambe
 
C++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of ClassC++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of Class
Yogendra Rampuria
 
C# Tutorial MSM_Murach chapter-17-slides
C# Tutorial MSM_Murach chapter-17-slidesC# Tutorial MSM_Murach chapter-17-slides
C# Tutorial MSM_Murach chapter-17-slides
Sami Mut
 
"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay"Http protocol and other stuff" by Bipin Upadhyay
"Http protocol and other stuff" by Bipin Upadhyay
Bipin Upadhyay
 
Web Crawling- Scraping Ajax Sites
Web Crawling- Scraping Ajax SitesWeb Crawling- Scraping Ajax Sites
Web Crawling- Scraping Ajax Sites
PromptCloud
 
C++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabsC++17 introduction - Meetup @EtixLabs
C++17 introduction - Meetup @EtixLabs
Stephane Gleizes
 
Web I - 05 - HTTP Protocol
Web I - 05 - HTTP ProtocolWeb I - 05 - HTTP Protocol
Web I - 05 - HTTP Protocol
Randy Connolly
 
Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)
Geeks Anonymes
 
C++11 concurrency
C++11 concurrencyC++11 concurrency
C++11 concurrency
xu liwei
 
C++17 - the upcoming revolution (Code::Dive 2015)/
C++17 - the upcoming revolution (Code::Dive 2015)/C++17 - the upcoming revolution (Code::Dive 2015)/
C++17 - the upcoming revolution (Code::Dive 2015)/
Sławomir Zborowski
 
Networking - TCP/IP stack introduction and IPv6
Networking - TCP/IP stack introduction and IPv6Networking - TCP/IP stack introduction and IPv6
Networking - TCP/IP stack introduction and IPv6
Rodolfo Kohn
 
Elements of C++11
Elements of C++11Elements of C++11
Elements of C++11
Uilian Ries
 
Database connectivity to sql server asp.net
Database connectivity to sql server asp.netDatabase connectivity to sql server asp.net
Database connectivity to sql server asp.net
Hemant Sankhla
 
C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012 C++11 Idioms @ Silicon Valley Code Camp 2012
C++11 Idioms @ Silicon Valley Code Camp 2012
Sumant Tambe
 
C++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of ClassC++ 11 Style : A Touch of Class
C++ 11 Style : A Touch of Class
Yogendra Rampuria
 
C# Tutorial MSM_Murach chapter-17-slides
C# Tutorial MSM_Murach chapter-17-slidesC# Tutorial MSM_Murach chapter-17-slides
C# Tutorial MSM_Murach chapter-17-slides
Sami Mut
 
Ad

Similar to HTTP Protocol Basic (20)

Httpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-convertedHttpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-converted
computerorganization
 
Module 5.pptx HTTP protocol on optical and wireless communication
Module 5.pptx HTTP protocol on optical and wireless communicationModule 5.pptx HTTP protocol on optical and wireless communication
Module 5.pptx HTTP protocol on optical and wireless communication
chandushivamurthy4
 
Http
HttpHttp
Http
NITT, KAMK
 
Http_Protocol.pptx
Http_Protocol.pptxHttp_Protocol.pptx
Http_Protocol.pptx
Abshar Fatima
 
www and http services
www and http serviceswww and http services
www and http services
Jenica Salmorin
 
Hypertexttransferprotocolhttp 131012171813-phpapp02
Hypertexttransferprotocolhttp 131012171813-phpapp02Hypertexttransferprotocolhttp 131012171813-phpapp02
Hypertexttransferprotocolhttp 131012171813-phpapp02
Nidhitransport
 
Compute rNetwork.pptx
Compute rNetwork.pptxCompute rNetwork.pptx
Compute rNetwork.pptx
ShehryarFreelancer
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
HTTP.ppt
HTTP.pptHTTP.ppt
HTTP.ppt
NapoMosola
 
HTTP.ppt
HTTP.pptHTTP.ppt
HTTP.ppt
Jagdeep Singh
 
Hypertext Transfer Protocol Hypertext Transfer Protocol
Hypertext Transfer Protocol Hypertext Transfer ProtocolHypertext Transfer Protocol Hypertext Transfer Protocol
Hypertext Transfer Protocol Hypertext Transfer Protocol
sambreaker1
 
HTTP_2.ppt
HTTP_2.pptHTTP_2.ppt
HTTP_2.ppt
Ankit Mune
 
HTTP (syper text transfer protocol)(6).ppt
HTTP (syper text transfer protocol)(6).pptHTTP (syper text transfer protocol)(6).ppt
HTTP (syper text transfer protocol)(6).ppt
IshaanKumar43
 
Appl layer
Appl layerAppl layer
Appl layer
rajanikant
 
http presentation 1.pptx
http presentation 1.pptxhttp presentation 1.pptx
http presentation 1.pptx
DeepakKumar408406
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
Reza Gh
 
Http basics by-joshi_29_4_15-ppt
Http basics by-joshi_29_4_15-pptHttp basics by-joshi_29_4_15-ppt
Http basics by-joshi_29_4_15-ppt
Qwinix Technologies
 
WWW & HTTP
WWW & HTTPWWW & HTTP
WWW & HTTP
subbarayudu chakali
 
HTTPProtocol HTTPProtocol.pptHTTPProtocol.ppt
HTTPProtocol HTTPProtocol.pptHTTPProtocol.pptHTTPProtocol HTTPProtocol.pptHTTPProtocol.ppt
HTTPProtocol HTTPProtocol.pptHTTPProtocol.ppt
VietAnhNguyen337355
 
Httpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-convertedHttpbasics 1207412539273264-9-converted
Httpbasics 1207412539273264-9-converted
computerorganization
 
Module 5.pptx HTTP protocol on optical and wireless communication
Module 5.pptx HTTP protocol on optical and wireless communicationModule 5.pptx HTTP protocol on optical and wireless communication
Module 5.pptx HTTP protocol on optical and wireless communication
chandushivamurthy4
 
Hypertexttransferprotocolhttp 131012171813-phpapp02
Hypertexttransferprotocolhttp 131012171813-phpapp02Hypertexttransferprotocolhttp 131012171813-phpapp02
Hypertexttransferprotocolhttp 131012171813-phpapp02
Nidhitransport
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
Web Services 2009
Web Services 2009Web Services 2009
Web Services 2009
Cathie101
 
Hypertext Transfer Protocol Hypertext Transfer Protocol
Hypertext Transfer Protocol Hypertext Transfer ProtocolHypertext Transfer Protocol Hypertext Transfer Protocol
Hypertext Transfer Protocol Hypertext Transfer Protocol
sambreaker1
 
HTTP (syper text transfer protocol)(6).ppt
HTTP (syper text transfer protocol)(6).pptHTTP (syper text transfer protocol)(6).ppt
HTTP (syper text transfer protocol)(6).ppt
IshaanKumar43
 
Distributed web based systems
Distributed web based systemsDistributed web based systems
Distributed web based systems
Reza Gh
 
Http basics by-joshi_29_4_15-ppt
Http basics by-joshi_29_4_15-pptHttp basics by-joshi_29_4_15-ppt
Http basics by-joshi_29_4_15-ppt
Qwinix Technologies
 
HTTPProtocol HTTPProtocol.pptHTTPProtocol.ppt
HTTPProtocol HTTPProtocol.pptHTTPProtocol.pptHTTPProtocol HTTPProtocol.pptHTTPProtocol.ppt
HTTPProtocol HTTPProtocol.pptHTTPProtocol.ppt
VietAnhNguyen337355
 
Ad

More from Chuong Mai (9)

Sql vs. NoSql
Sql vs. NoSqlSql vs. NoSql
Sql vs. NoSql
Chuong Mai
 
Internet marketing - Đăng tin hiệu quả
Internet marketing - Đăng tin hiệu quảInternet marketing - Đăng tin hiệu quả
Internet marketing - Đăng tin hiệu quả
Chuong Mai
 
Leadership
LeadershipLeadership
Leadership
Chuong Mai
 
Intercultural Management case analysis
Intercultural Management case analysisIntercultural Management case analysis
Intercultural Management case analysis
Chuong Mai
 
IT governance in SMEs
IT governance in SMEsIT governance in SMEs
IT governance in SMEs
Chuong Mai
 
Quốc gia khởi nghiệp
Quốc gia khởi nghiệpQuốc gia khởi nghiệp
Quốc gia khởi nghiệp
Chuong Mai
 
Xác định mục tiêu và lập kế hoạch để đạt được mục tiêu
Xác định mục tiêu và lập kế hoạch để đạt được mục tiêuXác định mục tiêu và lập kế hoạch để đạt được mục tiêu
Xác định mục tiêu và lập kế hoạch để đạt được mục tiêu
Chuong Mai
 
Online marketing basic
Online marketing basicOnline marketing basic
Online marketing basic
Chuong Mai
 
Cloud computing made simple
Cloud computing made simpleCloud computing made simple
Cloud computing made simple
Chuong Mai
 
Internet marketing - Đăng tin hiệu quả
Internet marketing - Đăng tin hiệu quảInternet marketing - Đăng tin hiệu quả
Internet marketing - Đăng tin hiệu quả
Chuong Mai
 
Intercultural Management case analysis
Intercultural Management case analysisIntercultural Management case analysis
Intercultural Management case analysis
Chuong Mai
 
IT governance in SMEs
IT governance in SMEsIT governance in SMEs
IT governance in SMEs
Chuong Mai
 
Quốc gia khởi nghiệp
Quốc gia khởi nghiệpQuốc gia khởi nghiệp
Quốc gia khởi nghiệp
Chuong Mai
 
Xác định mục tiêu và lập kế hoạch để đạt được mục tiêu
Xác định mục tiêu và lập kế hoạch để đạt được mục tiêuXác định mục tiêu và lập kế hoạch để đạt được mục tiêu
Xác định mục tiêu và lập kế hoạch để đạt được mục tiêu
Chuong Mai
 
Online marketing basic
Online marketing basicOnline marketing basic
Online marketing basic
Chuong Mai
 
Cloud computing made simple
Cloud computing made simpleCloud computing made simple
Cloud computing made simple
Chuong Mai
 

Recently uploaded (20)

Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Web and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in RajpuraWeb and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in Rajpura
Erginous Technology
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Build 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHSBuild 3D Animated Safety Induction - Tech EHS
Build 3D Animated Safety Induction - Tech EHS
TECH EHS Solution
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
Web and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in RajpuraWeb and Graphics Designing Training in Rajpura
Web and Graphics Designing Training in Rajpura
Erginous Technology
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 

HTTP Protocol Basic

  • 1. HTTP Protocol Instructor: Prof. Dr. Friedbert Kaspar Mai Nam Chuong VGU BIS 2012 – Computer Networks
  • 2. Definitions HTTP Communication chain HTTP Transport binding HTTP Methods HTTP Messages HTTP Status Codes HTTP Caching Q&A Agenda 2
  • 3. A set of rules and regulations that determine how data is transmitted. Communication Protocol? 3
  • 4. 7 OSI layers HTTP, SMTP, FTP, DNS … 4
  • 5. Application vs. Application layer Application layer provides services for user applications to use. Or, User applications use protocols that reside at the application layer. Ex: Internet Explorer – HTTP; Outlook – SMTP Application layer? 5
  • 6. Hypertext Transfer Protocol an application-level protocol for distributed, collaborative, hypermedia information systems (RFC-2616) Not only text but graphics and multimedia A part of TCP/IP protocols suite HTTP protocol? 6
  • 8. History 1990 – HTTP/0.9 1996 – HTTP/1.0 1999 – HTTP/1.1 Next HTTP/2.0 (draft) HTTP protocol? 8
  • 9. The HTTP protocol is a request/response protocol A client sends a request to the server The server responds data HTTP Communication chain Request Response HTTP Client HTTP Server9
  • 10. HTTP Request/Response Chain with Intermediaries HTTP Communication chain Request Response HTTP Client HTTP ServerIntermediary Request Response Proxy Gateway 10
  • 11. Do not remember previous request/response chain HTTP stateless protocol Request 1 Response 1 HTTP Client HTTP Server Request 2 Response 2 How to maintain state? 11
  • 12. Transitory connection One connection is created for each request/response Persistent connection The connection is kept open after each request/response set until the client is done requesting all the documents. HTTP Transport binding 12
  • 13. GET (*) HEAD (*) POST (*) OPTIONS PUT DELETE TRACE CONNECT HTTP Methods 13
  • 14. GET - Requests data from a specified resource POST - Submits data to be processed to a specified resource HTTP GET vs. POST 14
  • 15. HTTP GET vs. POST 15
  • 16. Communication between devices using the HTTP takes place via HTTP messages Two types: requests and responses. Text-based message format. HTTP Message 16
  • 18. Accept: tell the server what Internet media types it is willing to accept in a response Accept: type/subtype; text/plain; image/jpg; */* Accept-Charset specifies what character sets the client is willing to accept in a response Accept-Charset: iso-8859-5, UTF-8 Accept-Encoding specifies what content encodings the client is willing to accept Accept-Encoding: compress, gzip Accept-Language indicate what languages the client supports Accept-Language: en-gb; vi-vn HTTP Request Headers 18
  • 19. Host: Specifies the Internet host Host: www.vgu.edu.vn:8080 User-Agent Specifies what agent (application) is sending the request User-Agent: Mozilla/5.0 Cookie Cookie data which previously set by the server Cookie: user=1; category=pc; Referer the URL of the resource from which the URL of the current request was obtained Referer: http://google.com HTTP Request Headers (cont.) 19
  • 21. Server Server info that serves the request Server: Apache/2.4.1 (Unix) Expires gives the date/time after which the response is considered Expires: Thu, 20 Jul 2013 16:00:00 GMT Refresh Used in redirection, or when a new resource has been created. Refresh: 5; url=http://www.vgu.edu.vn HTTP Response Headers 21
  • 22. 1xx (Informational): Request received, server is continuing the process. 2xx (Success): The request was successfully received, understood, accepted and serviced. 3xx (Redirection): Further action must be taken in order to complete the request. 4xx (Client Error): The request contains bad syntax or cannot be understood. 5xx (Server Error): The server failed to fulfill an apparently valid request. HTTP Status codes 22
  • 23. 200 OK: The request is fulfilled. 301 Move Permanently: The resource requested for has been permanently moved to a new location 304 Not Modified: Server notifies that the resource requested has not been modified. Common HTTP Status codes 23
  • 24. 400 Bad Request: Server could not understand the request (syntax error). 401 Authentication Required: The requested resource is protected, and require client’s credential. 403 Forbidden: Server refuses to supply the resource, regardless of identity of client. 404 Not Found: The requested resource cannot be found in the server. Common HTTP Status codes 24
  • 25. 500 Internal Server Error: Server is error in the server-side program responding to the request. 503 Service Unavailable: Server cannot response due to overloading or maintenance. The client can try again later. 504 Gateway Timeout: Proxy or Gateway indicates that it receives a timeout from an upstream server. Common HTTP Status codes 25
  • 26. HTTP is a stateless protocol. Cookies provide a mechanism to "maintain state". HTTP Cookie 26
  • 27. Cache: local copy of a resource HTTP Caching Request Response HTTP Client Intermediary Request Response HTTP Server 27
  • 28. Expiration Model How long a resource is valid? Eliminate requests to server Reduce network round-trip Cache-Control: max-age=3600 Expires: Tue, 15 Aug 2013 07:19:00 GMT HTTP Caching 28
  • 29. Validation Model When the resource last changed? Eliminate full response to client Reduce network bandwidth If-Modified-Since: Thu, 17 Aug 2006 17:53:51 GMT ETag: "686897696a7c876b7e" HTTP Caching 29
  • 30. RFC-2616: http://www.w3.org/Protocols/rfc2616/rfc2616.html TCP GUIDE: http://www.tcpipguide.com/free/t_TCPIPHypertextTran sferProtocolHTTP.htm IBM Software Information Center - The HTTP protocol http://publib.boulder.ibm.com/infocenter/cicsts/v3r1/top ic/com.ibm.cics.ts31.doc/dfhtl/topics/dfhtl29.htm References 30

Editor's Notes

  • #6: http://www.tcpipguide.com/free/t_ApplicationLayerLayer7.htm
  • #7: 1.0 http://www.ietf.org/rfc/rfc1945.txt1.1 http://www.w3.org/Protocols/rfc2616/rfc2616.html2.0 http://tools.ietf.org/html/draft-ietf-httpbis-http2-04The Hypertext Transfer Protocol (HTTP) is designed to enable communications between clients and servers.HTTP works as a request-response protocol between a client and server.A web browser may be the client, and an application on a computer that hosts a web site may be the server.Example: A client (browser) submits an HTTP request to the server; then the server returns a response to the client. The response contains status information about the request and may also the requested content.
  • #8: A part of TCP/IP protocols suite
  • #9: 0.9: The first version of HTTP, HTTP/0.9, was part of the early World Wide Web and was a very simple request/response protocol with limited capabilities that could transfer only text files.1.0 http://www.ietf.org/rfc/rfc1945.txtThe first widely-used version was HTTP/1.0, which is a more complete protocol that allows the transport of many types of files and resources.1.1 http://www.w3.org/Protocols/rfc2616/rfc2616.htmlMultiple host name. Multiple host on 1 IPPerformance, security2.0 http://tools.ietf.org/html/draft-ietf-httpbis-http2-04
  • #10: HTTP is a client/server-oriented, request/reply protocol. Basic communication consists of an HTTP Request message sent by an HTTP client to an HTTP server, which returns an HTTP Response message back to the client.
  • #11: Proxy:A proxy is a forwarding agent, receiving requests for a URI in its absolute form, rewriting all or part of the message, and forwarding the reformatted request toward the server.Gateway: receiving agent. A router that routes the data transmission.
  • #13: Persistent connections are connections between a Web client and a server that can be reused for more than one exchange of a request and a response.In HTTP/1.0, the default action for the server was to close the connection when it had received a request from the Web client and sent a response. If the Web client wanted the server to keep the connection open, it had to send a Connection: Keep-Alive header on the request.For HTTP/1.1, persistent connections are the default. When a connection is made between a Web client and a server, the server should keep the connection open by default. The connection should only be closed if the Web client requests closure by sending a Connection: close header, or if the server's timeout setting is reached, or if the server encounters an error.Persistent connections improve network performance because a new connection does not have to be established for each request. Establishing a new connection consumes significant additional network resources compared to making a request using an existing connection.DEMO using telnetDraw HTML document on the WHITEBOARD
  • #14: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.htmlTelnet demo Get and HeadGET:Retrieve a resource.HEAD Like GET, but returns just the HTTP header.POST create new resourceOPTIONS Get information about how the server allows to communicate with. OPTIONS * HTTP/1.1 Host: example.com HTTP/1.1 200 OK Date: … Allow: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE Content-Length: 0PUT Send data to the server.DELETE Delete an existing resource.TRACE Return the request headers sent by the client.
  • #15: Demo Web sniffer tool
  • #18: In this example, the client issues a GET request to ask for a document named "/index.html"; and negotiates to use HTTP/1.0 protocol. A blank line is needed after the request header. This request message does not contain a body.The server receives the request message, interprets and maps the request-URI to a document under its document directory. If the requested document is available, the server returns the document with a response status code "200 OK". The response headers provide the necessary description of the document returned, such as the last-modified date (Last-Modified), the MIME type (Content-Type), and the length of the document (Content-Length). The response body contains the requested document. The browser will format and display the document according to its media type (e.g., Plain-text, HTML, JPEG, GIF, and etc.) and other information obtained from the response headers.
  • #26: DEMO using chrome to access resources
  • #27: Important especially in authenticationNo cookie -> no sessionDEMO login google, yahoo
  • #28: The cache, which is local copies of resources, works because many resources change infrequently. When a browser can reuse a local copy, it saves the time to set up a connection as well as the time to download. The key to making the cache work effectively is HTTP caching headers, which are sent by the web server to specify how long a resource is valid and when it last changed.
  • #29: The Expires header specifies a date after which a resource is invalid. max-age specifies how long a resource is after it is downloaded.DEMOhttp://stevesouders.com/hpws/expiresoff.phphttp://stevesouders.com/hpws/expireson.php
  • #30: If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match