Internet and Intranet Protocols and Applications - PowerPoint PPT Presentation

Internet and intranet protocols and applications l.jpg
Download
1 / 28

  • 296 Views
  • Updated On :
  • Presentation posted in: Pets / Animals

Internet and Intranet Protocols and Applications. Lecture 5: Browsers Feb 22, 2000 Arthur P. Goldberg Computer Science Department New York University artg@cs.nyu.edu. Outline. Issues How do network technologies spread? How do browsers work? Spread in two steps Solve an existing problem

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Internet and Intranet Protocols and Applications

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Internet and intranet protocols and applications l.jpg

Internet and Intranet Protocols and Applications

Lecture 5: Browsers

Feb 22, 2000

Arthur P. Goldberg

Computer Science Department

New York University

artg@cs.nyu.edu


Outline l.jpg

Outline

  • Issues

    • How do network technologies spread?

    • How do browsers work?

  • Spread in two steps

    • Solve an existing problem

    • Bundle new functionality

  • For example, the browser

    • Solve access

      • Multi-protocol

      • Uniform network interaction

      • Universal naming

    • Bundle, the Web

      • Hypertext


Internet growth l.jpg

Internet Growth


Key pieces of unified multi protocol access l.jpg

Key Pieces of Unified Multi-Protocol Access

  • Multi-Protocol client

  • Simplified, uniform, network interaction

    • Request - Response

  • Universal object naming

    • URL


Tim berners lee worldwideweb proposal 11 90 l.jpg

Tim Berners-Lee WorldWideWeb: Proposal 11/90

  • “The current incompatibilities of the platforms and tools make it impossible to access existing information through a common interface, leading to waste of time, …”

  • “A link is specified as an ASCII string from which the browser can deduce a suitable method of contacting an appropriate server. When a link is followed, the browser addresses the request for the node [document] to the server.”


Multi protocol client supported l.jpg

Multi-Protocol Client Supported

  • Existing protocols

    • File Transfer Protocol (FTP)

    • Network News Transfer Protocol (NNTP)

    • telnet

    • Gopher

    • Mail

    • WAIS

    • finger

    • File access [came later]

  • Plus a NEW protocol

    • HyperText Transfer Protocol (HTTP)


Simplified uniform network interaction l.jpg

Simplified, Uniform, Network Interaction

  • Most protocol interactions mapped to Request - Response


Abandoned commands l.jpg

Abandoned commands


Universal object names goals l.jpg

Universal Object Names Goals

  • Multi-Protocol

  • Network-Wide

  • Printable

    • Written in 7-bit ASCII chars

      • No white space

      • Non ASCII chars escaped by %

  • Extensible

    • Scheme/protocol name prefixed so new schemes can be added later

  • Complete

    • Any binary value can be encoded

      • Chars not 7-bit ASCII encoded in base 16 or 64


Unified multi protocol access l.jpg

Unified Multi-Protocol Access

  • "Any piece of information on the Internet in any of a dozen common and flexible information systems can be uniquely named and thereby retrieved, displayed, annotated, and remembered by Mosaic".

  • Marc Andreessen, NCSA Mosaic Technical Summary, 5/8/93

    • ftp://ftp.ncsa.uiuc.edu/Web/Mosaic/papers/mosaic.ps.Z

  • Invented by Tim Berners-Lee at CERN in 89


Url schemes l.jpg

URL Schemes

  • ftp : // [ user [:password] @ ] host / path

  • news : newsgroup

  • telnet : ipaddress

  • gopher : // host [ gtype ]

  • mailto : userid @ hostname

  • wais : // hostport / database [ ? search ]

  • wais : // hostport / database / wtype / wpath

  • file: // pathname

  • http: // host [: port ][ / path ]

    • http://www.w3.org/Addressing/rfc1738.txt


Partial relative uri s l.jpg

Partial (Relative) URI's

  • Purpose

    • Allow relative reference among objects in the same hierarchy

    • Enable relocation of a set of objects in a hierarchy

  • Enabled by hierarchical delimiters

    • / .. . (slash, dot dot, dot)


To review l.jpg

To Review

  • The browser

    • Solve access

      • Multi-protocol

      • Uniform network interaction

      • Universal naming

    • Bundle, the Web

      • Hypertext


Web browser architecture l.jpg

Web Browser Architecture

  • Multi-protocol

  • Browser GUI: Uniform network interaction

    • Mouse clicks map to requests

    • Responses are formatted objects which get rendered

  • Universal naming


  • Formatted document rendering l.jpg

    Formatted Document Rendering

    • Formats:

      • HTML

      • Text

      • Adobe PDF

      • Sound

      • And many others

    • Images:

      • gif

      • jpeg


    Showing docs in other formats l.jpg

    Showing Docs in Other Formats

    • Helper apps render documents in formats not supported internally in the browser

      • if (!(MIME type given by incoming identification))

      • then {map from suffix to type }

      • if (MIME type = HTML, text, gif or jpeg)

      • then render

      • else {

        • map from MIME type to helper-application

        • if (map fails) then {save to disk as binary}

        • else {run helper-application to view to document}

      • }


    Converting responses to html l.jpg

    Converting Responses to HTML

    • Directory listing converted to a <ul>

    • FTP => HTML

      • <A HREF=“URL-for-filename”>

      • <IMG SRC=“appropriate-icon”>

      • filename (fixed length)

      • file statistics </A>

  • Gopher => HTML

    • <A HREF=“URL-for-gopher-object”>

    • <IMG SRC=“appropriate-icon”>

    • gopher object name </A>

  • <WOULD BE NICE TO DEMO THIS IN A TRACE>


  • Converting responses to html18 l.jpg

    Converting Responses to HTML

    • News => HTML

      • Newsgroup list

        • HTML form for subscription

      • Available articles list

        • unordered list

        • sub-lists for threads

      • An article

        • header gif buttons

        • text of article


    Browser implementation issues l.jpg

    Browser Implementation Issues

    • Performance

      • Run multiple threads

        • Parallel retrieval

      • Cache documents

      • Cache domain names


    Browser implementation issues20 l.jpg

    Browser Implementation Issues

    • HyperText and cache management

      • Canonicalize URLs

      • Store hypergraph of HREFs

    • Interaction management

      • Event driven

        • Mouse events

        • Keyboard

        • Network


    Invented by tim berners lee at cern in 89 l.jpg

    Invented by Tim Berners-Lee at CERN in 89

    • "HyperText is a way to link and access information of various kinds as a web of notes in which the user can browse at will. It provides a single user-interface to large classes of information."

    • "A hypertext page has pieces of text which refer to other texts. Such references are highlighted and can be selected... When you select a reference, the browser presents you with the text which is referenced: you have made the browser follow a hypertext link" WorldWideWeb: Proposal for a HyperText Project, 11/12/90, http://www.w3.org/Proposal.html


    Universal resource name unr l.jpg

    Universal Resource Name (UNR)

    • RFC 1737, K. Sollins, L. Masinter, "Functional Requirements for Uniform Resource Names", 12/20/1994

  • Global scope

    • Always identifies the same resource

  • Globally unique

    • Each resource uniquely identified

  • Permanent

    • Unique over time

  • Scaleable

    • Name everything for hundreds of years

  • Backwards compatible

    • Incorporate UNL, ISBN, UPC, phone, ZIP code, etc..


  • Unr location independence l.jpg

    UNR Location Independence

    • URN identifies any one of several instances

      • Like book reference, Notes DB identifier

      • Does not imply a resource location

      • Enables transparent replication of network resources

      • Requires distributed mapping scheme, resolved before DNS

        • All CS problems solved by another level of indirection - Lampson

    • IBQs:

      • Which schemes are already location independent?

      • How do they resolve location?


    Proposed urn solution the handle system l.jpg

    Proposed URN Solution: “The Handle System”

    • William Arms, David Ely, Corporation for National Research Initiatives, June 23, 1995

  • Components

    • Naming authorities

    • Handle generators

    • The global handle server

    • Local handle servers

    • Caching handle servers

    • Client software

    • Proxy servers

    • Administrative tools


  • Handle syntax l.jpg

    Handle Syntax

    • h/d

      • h - naming authority

      • d - arbitrary string

    • naming authority

      • dot separated list of hierarchical names

        • e.g.: goldbergs.arthur

      • a naming authority can grant authority to subsidiary naming authorities

    • arbitrary string

      • unique within naming authority


    Tanenbaum 7 6 l.jpg

    Tanenbaum 7.6

    • Nits

      • TBL

      • MA

    • Proxy


    Outstanding qs l.jpg

    Outstanding Qs

    • Threadsafe socket calls?

      • yes

    • Blocking vs. non-blocking vs. interrupted sockets

      • WS32

        • Automatic

          • connect(), send(), gethostbyname()

          • protocol Tos

        • Application

          • recv(), recvfrom(), accept()

          • SO_RCVTIMEO


    Url syntax l.jpg

    URL Syntax

    • scheme : path

    • Reserved characters

      • % - escape character

        • % followed by @ hex digits

          • e.g.: ‘%’ is %25, ‘ ’ is %20

      • / .. . (slash, dot dot, dot) - hierarchical delimiters

      • # - separate URI from fragment identifier within object

      • ? - separate URI from query


  • Login