Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Web applications. Architecture. Standards. HTTP

Web applications. Architecture. Standarts. HTTP
by

Volodymyr Yakubovskiy

on 25 September 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Web applications. Architecture. Standards. HTTP

Web applications. Architecture. Standards. HTTP
Questions?
Thank you for your attention!
And one more question?...
TCP (1974)
Transmission control protocol
replacement of Network Control Protocol (NCP)

 'A Protocol for Packet Network Interconnection'
by Vint Cerf and Bob Kahn
 Reliable and ordered transmission of byte stream between two endpoints

 Migration of ARPANET to TCP/IP in 1982
Vint Cerf
Bob Kahn
Volodymyr Yakubovskyy
22 September 2013
ARPANET
TCP/IP
OSI
World Wode Web
Web applications architecture
HTTP
protocol
masseges
Agenda
ARPANET Map (March 1977)
TCP/IP (1978)
4 abstraction layers
each layer offers functionality to the above layer
separation of concerns
 Application layer
HTTP, FTP, POP, ...
 Transport layer
TCP, UDP, ...
 Internet layer
addressing hosts and packet routing
IP, ...
 Link layer
TCP/IP Layers
OSI Reference Model (1984)
Open Systems Interconnection Reference Model
released by ISO in 1984
dataflow between two computers over network
7 layer model
3 network layers (1-3)
4 host layers (4-7)
aims to simplify network interconnection
standardised interfaces
modular and interchangeable networking components
OSI Reference Model (1984)...
Application layer
enable access to network resources
HTTP, FTP, SMTP, Telnet, ...
 Presentation layer
translation, compression and encryption
 Session layer
establish, synchronise and terminate sessions between systems
 Transport layer
reliable endpoint-to-endpoint message delivery
TCP, UDP, ...
OSI Reference Model (1984)...

Network layer
move packets from a source to a destination
IP, ...
 Data link layer
divide stream of bits into frames (includes error correction)
PPP, ...
 Physical layer
transfer bits over a physical medium (e.g. electrical specifications)
repeaters, hubs, ...
World Wide Web (WWW)
Tim Berners-Lee
Robert Cailliau
Networked hypertext system (over ARPANET) to share information at CERN
first draft in March 1989
The Information Mine, Information Mesh, ...?
Components by end of 1990
HyperText Transfer Protocol (HTTP)
HyperText Markup Language (HTML)
HTTP server software
Web browser called WorldWideWeb
 First public "release" in August 1991
WordWideWeb Browser (1993)

Basic Client-Server Web Architecture
Effect of typing http://google.com in the broswer bar
use a Domain Name Service (DNS) to get the IP address for google.com (answer 173.194.70.100)
create a TCP connection to 173.194.70.100
send an HTTP request message over the TCP connection
visualise the received HTTP response message in the browser


Web Server
Tasks of a web server
setup connection
receive and process
HTTP request
fetch resource
create and send
HTTP response
logging
The most prominent web servers are the Apache HTTP Server and Microsoft's Internet Information Services (IIS)
 A lot of devices have an embedded web server
printers, WLAN routers, TVs, ...



Example HTTP Request Message



Example HTTP Response Message
HTTP Protocol
Request/response communication model
HTTP Request
HTTP Response
 Communication always has to be initiated by the client
 Stateless protocol
 HTTP can be used on top of various reliable protocols
TCP is by far the most commonly used one
runs on TCP port 80 by default
 Latest version: HTTP/1.1
 HTTPS scheme used for encrypted connections
Uniform Resource Identifier (URI)
A Uniform Resource Identifier (URI) uniquely identifies a resource
 There are two types of URIs
Uniform Resource Locator (URL)
contains information about the exact location of a resource
consists of a
scheme
, a
host
and the
path (resource name)
e.g.
http://
wise.vub.ac.be
/members/beat-signer/
problem: the URL changes if resource is moved!
idea of Persistent Uniform Resource Locators (PURLs) [http://purl.oclc.org]
Uniform Resource Name (URN)
unique and location independent name for a resource
consists of a
scheme name,
a
namespace identifier
and a
namespace-specific string
(separated by colons)
e.g.
urn
:
ISBN
:
3837027139
HTTP Message Format
start line
header field(s)
blank line (CRLF)
message body (optional)
Request and response messages have the same format
HTTP Request Message
Request-specific start line
 Methods
GET : get a resource from the server
HEAD : get the header only (no body)
POST : send data (in the body) to the server
PUT : store request body on server
TRACE : get the "final" request (after it has potentially been modified by proxies)
OPTIONS : get a list of methods supported by the server
DELETE: delete a resource on the serve
Response-specific start line
HTTP Response Message
Status codes
100-199 : informational
200-299 : success (e.g. 200 for 'OK')
300-399 : redirection
400-499 : client error (e.g. 404 for 'Not Found')
500-599 : server error (e.g. 503 for 'Service Unavailable')
References
David Gourley et al., HTTP: The Definitive Guide, O'Reilly Media, September 2002
 R. Fielding et al., RFC2616 - Hypertext Transfer Protocol - HTTP/1.1
http://www.faqs.org/rfcs/rfc2616.html
 N. Freed et al., RFC2045 - Multipurpose Internet Mail Extensions (MIME)
http://www.faqs.org/rfcs/rfc2045.html
 HTML and JavaScript Tutorials October 7, 2011
http://www.w3schools.com
W. Jason Gilmore, PHP
http://refcardz.dzone.com/refcardz/php
 Java Servlet Tutorial October 7, 2011
http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/Servlets.html
Full transcript