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)


Top Related