acks to mccracken syracuse univ

33
CS502 - January 27, 2003 World Wide Web – History, Architecture, Protocols CS 502 Architecture of Web Information Systems Carl Lagoze Acks to McCracken Syracuse Univ.

Upload: aneko

Post on 19-Mar-2016

31 views

Category:

Documents


0 download

DESCRIPTION

World Wide Web – History, Architecture, Protocols CS 502 Architecture of Web Information Systems Carl Lagoze. Acks to McCracken Syracuse Univ. In the beginning…. In the beginning…. ARPANET. DoD funded through leadership of Licklider Inspired by move from batch to timesharing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

World Wide Web – History, Architecture, ProtocolsCS 502 Architecture of Web Information SystemsCarl Lagoze

Acks to McCrackenSyracuse Univ.

Page 2: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

In the beginning….

Page 3: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

In the beginning…

Page 4: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

ARPANET

• DoD funded through leadership of Licklider

• Inspired by move from batch to timesharing

• Allowed remote login

                                                      

Page 5: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Packet Switching

• Invented in early 1960’s by Baran, Davies, Kleinrock

• digital, redundant, efficient, upgradeable (software)

• 1969 ARPANET first network implementation

Page 6: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Packet Switching

• Network messages broken up into packets• Each pocket has a destination address• Pass and forward model – router gets packet,

examine, decides where to send next• Message reassembled on other end

Page 7: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Layered Protocol Model

Page 8: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

TCP/IP Protocol Suite

• IP – packet delivery• TCP – virtual circuits, packet

reassembly• ARP/RARP – address

resolution

Page 9: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Protocol Layers

Page 10: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Internet Issues (Internet 2)

• Demands of multimedia applications• Virtual circuit reservations – bandwidth and

quality of service guarantees• Real time streaming protocols• State saving

• Political Comment– Increase in functionality has implications

• Democratization of the Net• Privacy• Vulnerability

– Lessig Internet Commons

Page 11: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Infrastructure and Standardization

• Complex legal, economic, social, and technical process

• Wasn’t invented in the information age– Railroad track gauge and tariffs– Telephone and telegraph– Banking– Power and Light

• Not for the faint-hearted

Page 12: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Internet Governance

• Internet Society (ISOC) – Evolution, social & political issues• Internet Architecture Board (IAB) – Oversees standards

process• Internet Engineering Task Force (IETF) – standards

development• Internet Assigned Numbers Authority (IANA) and Internet

Corporation for Assigned Names and Numbers (ICANN) – DNS administration– IP # assignment– Protocol #’s– port #’s

• World Wide Web Consortium (W3C) – web standards and evolution

Page 13: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Internet Documents

• RFC’s – “Requests for Comments” to IETF community for information, standardization– http://www.ietf.org/rfc.html

• STD’s – Official IETF Internet standards– http://www.rfc-editor.org/rfcxx00.html

• RFC’s – “Requests for Comments” to IETF community for information, standardization– http://www.ietf.org/rfc.html

• Internet Drafts – IETF working documents– http://www.ietf.org/ID.html

• W3C Reports (recommendations, drafts, notes)– http://www.w3.org/TR/

Page 14: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Well-Known Protocols

• Telnet – external terminal interface, RFC 854 (1983)

• FTP – file transfer, RFC 959 (1985)• SMTP – mail transport, RFC 821 (1982)• HTTP – distributed, collaborative hypermedia

systems, RFC 1945 (1.0 1996), RFC 2616 (1.1 1999)

Page 15: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Daemons and Ports

23

80

21

telnetd

httpd

ftpd

Socket(Virtual Circuit)

Page 16: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Basic Socket ServerProgramming

Page 17: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Short History and Premises of the Web

• Information sharing in a fluid context– CERN 1989– Reality

• Relationships are not hierarchical• Non-centralized managment• Structure can be modeled as a graph

– Typed nodes (text, graphics, people, software modules)– Type relationships (depends on, refers to, made)

• Hypertext (after Ted Nelson)– Human-readable information linked together in an

unconstrained way. – Extend to Hypermedia

• Data analysis and mining• Clean division of document display and format (browers

and HTML) from access (HTTP)

Page 18: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Basic Web Technologies

• Document formatting– HTML

• Document naming– URL’s

• Document typing– MIME

• Document access– HTTP

Page 19: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP

• HTTP is…– Designed for document transfer– Generic

• not tied to web browsers exclusively• can serve any data type

– Stateless• no persistent client/server connection

Page 20: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP Session

• An HTTP session consists of a client request followed by a server response

• Requests and responses:– are sent in plain text– conform to the HTTP syntax– consist of start line, headers, blank line, and

message body

Page 21: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP Request Methods

• Methods include– GET: retrieve information identified by the URL– HEAD: same as get but don't get message body

(content)– POST: accept the request content and send it to the

URL– PUT: store the request content at the given URL

Page 22: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP Request

• Start line– Consists of method, URL, versionGET index.html HTTP/1.1– Valid methods include:

• GET, POST, HEAD, PUT, DELETE• Headers

– HTTP/1.1 requires a Host: header• Body content

Page 23: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP Response

• Start line– consists of HTTP version, status code, and

descriptionHTTP/1.1 200 OKHTTP/1.1 404 Not Found

• HeadersContent-type: text/html

• Content

Page 24: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP Response Codes

• Response coded by first digit– 1xx: informational, request received– 2xx: success, request accepted– 3xx: redirection– 4xx: client error– 5xx: server error

Page 25: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

HTTP Content Body

• Header fields can affect content interpretation– required header field: Content-type– others: Content-Encoding, Content-Length, Expires,

Last-Modified

Page 26: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• User of client machine types in a URL

client( N etscape)

server( Apache)

http: / / www.sm allco.com / index.h tm l

Page 27: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Server name is translated to an IP address via DNS

client( N etscape)

server( Apache)

http: / / www.sm allco.com / index.htm l

192.22.107.5

Page 28: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Client connects to server using IP address and port number

client( N etscape)

server( Apache)

http: / / www.sm allco.com / index.htm l

192.22.107.5

192.22.107.5port 80

Page 29: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Client determines path and file to request

client( N etscape)

server( Apache)

http: / / www.sm allco.com / index.h tm l

Page 30: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Client sends HTTP request to server

client( N etscape)

server( Apache)

http: / / www.sm allco.com / index.h tm l

GET index .html HTT P/ 1.1

Page 31: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Server determines which file to send

client( N etscape)

server( Apache)

http : / / ww w.sm allco.com / index.htm l"index.htm l" is really/ etc/ httpd / htdocs/ index.htm l

Page 32: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Server sends response code and the document

client( N etscape)

server( Apache)

http : / / w ww.sm allco.com / index.htm l

HTTP/ 1.1 200 OKContent- type: text/ htm l

[ contents of index.h tm l]

Page 33: Acks to McCracken Syracuse Univ

CS502 - January 27, 2003

Serving a Page

• Connection is broken

client( N etscape)

server( Apache)