Upload
philip-oneal
View
216
Download
1
Tags:
Embed Size (px)
Citation preview
CSCI 233
Class 11
Dave Roberts
2
Agenda World Wide Web SNMP Your Career
3
HTTP
4
World Wide Web Early Internet data transfers largely used FTP By 1995, Web traffic overtook FTP, has been
the leader ever since Web and Internet are identical for many users The Web is transforming society in many ways
5
Size of the Web
Source: whoishostingthis.com
6
What Is the Web? Web pages—a large set of documents (each a
file), accessible to Internet users Each is called a hypermedia document
Hyper—document can contain links to other documents Media—document can contain media other than text
Web browser and web server are building blocks Browser—application program that user invokes to
display a web page Server—application program that delivers web
pages on request to browsers
7
Web Protocols and Languages HTTP—protocol used to transfer Web pages
between requesting host and Web server HTML—markup language used to represent
documents that can include text, images, sound, video, other media
HTML tags in < > brackets, as <B> and </B>
8
URL Uniform Resource Locator (URL)—each Web
page has a URL
<scheme> is generally a type of access method such as http or ftp
<scheme>://<scheme-specific part>
9
An Example
This is an html document:
<HTML>This course is Internet Protocols, at <A HREF=“http://www.gwu.edu”>George Washington University.</A>
</HTML>Is displayed as
This course is Internet Protocols at George Washington University.
10
Hypertext Transfer Protocol (HTTP) Application level—assumes reliable, connection-
oriented transport service (usually TCP) Request/Response—once session is established,
one side must send HTTP request to which the other side responds
Stateless—each HTTP request is self-contained Bi-Directional Transfer—browser, server can
transfer in both directions Capability negotiation—browser, server negotiate Caching—browser caches each page it receives; if
requested again, browser can ask server if there have been changes
Intermediaries—allows machines along the path to act as proxy server that caches Web pages
11
HTTP Message
A complete HTTP message consists of a client request and a sever response:HTTP-message = Request | Response
12
HTTP GET Request Browser starts with URL Browser extracts hostname, uses DNS to
map name into IP address Browser uses IP address to form TCP
connection to server Browser and Web server use HTTP to
communicate Browser sends GET for page Server sends copy of requested page
13
HTTP Get, Illustrated
14
Errors Server presents error messages to browser in
valid HTML Browsers render error message for user User can read the error message
15
Persistent Connections Early versions of HTTP used a separate
session for each transfer—separate TCP connection
HTTP 1.1 introduced a persistent connection—TCP connection is reused
HTTP sends a length, followed by data, to mark ends of objects during connection
If server doesn’t know length, then it informs the browser that it will close the connection after the transfer
What are the benefits of a persistent connection?
16
Length Encoding, Headers
HTTP borrows 822 format and MIME extensions from email
Each line has keyword, colon, value
17
Example of Transfer
Content-length: 34Content-language: enContent-encoding: ascii<HTML> A Trivial example. </HTML>Connection: close
18
Negotiation Server-driven
Begins with browser request Specifies list of preferences, and URL Server selects a representation that meets
browser preferences Agent-driven
Browser asks server what is available Sends second request to obtain the item Requires extra interaction, but keeps the
browser in complete control
19
Conditional Requests Browser can make a request conditional Request is honored only if the condition can
be met Example: the header
If-Modified-Since: Sun, 10 Nov 2002 08:00:01 GMT
can be used along with a GET request for a page
20
Request Methods
HEAD—Asks for response like GET, without response body. GET—Requests a representation of the specified resource. POST—Submits data to be processed to the identified resource. PUT—Uploads a representation of the specified resource. DELETE—Deletes the specified resource. TRACE—Echoes back the received request. OPTIONS—Returns HTTP methods supported for a URL. CONNECT– Converts the request connection to a transparent
TCP/IP tunnel PATCH—Applies partial modifications to a resource.
Note: all methods except PUT are idempotent
21
Date Formats
Supported date formats:Sun, 06 Nov 2002 08:49:37 GMT
RFC 822, updated by RFC 1123 Sunday, 06-Nov-02 08:49:37 GMT
RFC 850, obsoleted by RFC 1036 Sun Nov 6 08:49:37 2002
ANSI C's asctime() format Recognition of all three is required; the
first must be used if dates are generatedAll Internet times are required to be in
GMT
22
Content Coding
Content coding is used to enable compression. Some types: Gzip—produced by GNU Zip Compress—produced by UNIX compress Deflate—combines deflate program results with
rlib compression Identity—default, no compression
23
Proxy Servers Browser can be configured to contact proxy
server instead of original source Proxy must be configured to cache Web pages Proxies can reduce traffic to the Internet HTTP includes explicit support for proxies,
variety of control commands
24
Caching Caching reduces Internet traffic by saving
a page when retrieved Subsequent requests for a page can be
fulfilled by delivering a file from the cache How long should a page be kept?
Too long: it gets stale Too short: inefficiency
Server can specify caching details Browser can specify zero age for retrieved
page Caching should be semantically
transparent
25
Cache Control Directives
Cache-Control: public—browser and proxies may cache the pageCache-Control: private—proxies may not cache, browsers may Cache Control: No-cache—browser must revalidate with the server before serving the page from the cache. Cache Control: No-store—browser may not cache, may not store Cache Control: max-age—browser may cache, but must re-validate with the server if the max-age is exceeded. Cache Control: must-revalidate—browser must revalidate the page against the server before serving it from cache. Cache Control: proxy-revalidate—proxy servers must revalidate, but the user’s browser need not revalidate.
26
The Other Server: HTTP Proxy Cache Server
Source: Apache Server Documentation
27
HTTP Delivers pages from a hyperlinked web of files
that spans the world URLs link pages to one another and to objects
that are part of pages Includes media of various types as well as text Makes extensive use of caching to improve
performance—and reduce costs
28
WEBDAV
29
WebDAV
WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.
30
WebDAV is
The HTTP extensions necessary to enable distributed web authoring tools to be broadly interoperable
A network file system that works on entire files at a time, with good performance in high-latency environments
A protocol for manipulating the contents of a document management system via the Web
31
WebDAV Goals
To support virtual enterprises, being the primary protocol supporting a wide range of collaborative applications.
The support of remote software development teams.
To leverage the success of HTTP as a standard access layer for a wide range of storage repositories -- HTTP gave them read access, while DAV gives them write access.
32
WebDAV Features Locking: long-duration exclusive and shared write
locks prevent the overwrite problem. The duration of DAV locks is independent of any individual network connection.
Properties: XML properties provide storage for arbitrary metadata, such as a list of authors on Web resources. These properties can be efficiently set, deleted, and retrieved using the DAV protocol. DASL, the DAV Searching and Locating protocol, provides searches based on property values.
Namespace manipulation: Since resources may need to be copied or moved as a Web site evolves, DAV supports copy and move operations. Collections, similar to file system directories, may be created and listed.
33
Summary WWW consists of hypermedia documents
stored on Web servers, accessed by browsers
HTML allows a document to contain text, formatting commands, graphics and links to other documents
HTTP is an application-level protocol that supports negotiation, proxy servers, caching and persistent connections
WebDAV adds support for writing to HTTP, along with distributed versioning control
34
SNMP
Network Management
35
Simple approach for a single network—use link level protocol for network management Switches can be instructed to send control packets Control packets cause receiver to act under control
of manager, suspending normal operation But! The Internet is multiple IP networks
interconnected by routers, has no single link level protocol Single manager can control only homogeneous
devices Controlled entities may not have common link level
protocol Machines under control may be at arbitrary points in
the Internet
Internet Network Management
36
Network management protocols operate at the application layer
Network management uses TCP/IP transport level protocols
Advantage—one set of protocols for all devices
Disadvantage—may be impossible to reach a device not operating properly, can’t do anything unusual with link level protocols
Network Management Example
37Management client, management agents
SNMP
38
Simple Network Management Protocol Defines set of operations and meaning of each Management Information Base—MIB—required
information to be maintained
39
Structure of Management Information SMI standard covers MIB variables
Restrictions on types of variables Rules for naming MIB variables Rules for defining variable types
Abstract Syntax Notation 1 (ASN.1) is required Notation readable by humans Compact representation used by communication
protocols
MIB Categories for TCP/IP
40
Examples of MIB Variables
41
SNMP
42
Defining SNMP with explicit commands could be very complex
Instead, fetch-store paradigm is used Operations take place as a side effect of fetch
and store operations
SNMP Messages
43
No fixed formats Integer that specifies protocol version Additional header data Security parameters Data area
Data areas can be encrypted
SNMP Operations
44
Summary
45
Network management protocols are used to control routers and hosts
Devices are managed by a protocol that runs at the application layer.
SNMP is based on fetch-store paradigm MIB defines all variables maintained by a
managed entity
46
Some Internet Design Principles Good Citizen Principle Conserve Router Time Make control messages human-readable Soft state Dumb Internet layer Simplicity Violate layers when needed
47
Careers
One Path
48
Importance of the Web
“Metcalfe’s Law”—value of a network is proportional to the square of the number of connections (more or less)
Computers are valuable, but they add that value only when they can access the needed information
What if every computer in the world had access to all relevant information? What happens to the value of computing?
49
Changes Due to the Web In business—disintermediation
Businesses that sell information from other businesses are disappearing Travel agents, bookstores, CD stores
In politics—democracy Rising importance of small campaign donors
Obama campaign Inability of governments to control information
flow Social networks and insurrections
50
In Technology The Web has enabled the Open Source
software movement Complex software products developed by
dispersed volunteers who can work together on the Web
Economics of packaged software business, built on large margins, are collapsing
51
Stages of Open Source Maturity Stage One—volunteers writing products in
their spare time, as a hobby Stage Two—companies assigned some
programming professionals to work on open source projects as their work assignment
Stage Three—company formed to support and add value to an open source product
52
Impact of Open Source
Costs to users decrease significantly “Closed” software companies must
compete with zero cost “Closed” software companies will offer
larger and larger integrated suites Eventually open source will offer suites as
well In the long run, the highly profitable run of
closed software companies will end
53
Open Source Examples Enterprise DB 3 MySQL 3 WordPress 3 Flex 2
Joomla 2 Sendmail 3 Java 2 Lucid 3
54
Choices In software, work with a technology provider or an
organization that’s a technology user Large technology product companies used to
provide good careers, in the future won’t provide as many long-term careers
Large technology companies can provide good experience for early career development, can be a way to make contacts among large-scale users of technology
Stage Three open source companies will provide steady employment but not huge riches
Users of technology will provide the bulk of the good jobs
55
The Future of Commerce Commerce will increasingly be dominated by
the Internet because of low “friction” of Internet business
Creative use of the Internet has produced the greatest business successes ever—already
Every business will have its level of success greatly affected by its use of the Internet
56
The Future of Application Development Technology providers will develop
sophisticated applications, but there are relatively few opportunities to work for them
Technology users will develop primarily applications that use a database
The database paradigm—CRUD operations—will dominate the applications of technology users
57
What It Means to You Your career will be about use of the Internet Learn how Internet protocols work Learn how to write Web applications that
present HTML screens and use a database Learn how to develop good HTML interfaces Learn simple Web site design
58
Even Better The future belongs to those who have a deep
understanding of the Internet and its impact, who can apply that knowledge to business
These people will become essential to business strategy—and the success of the business
They understand the technology—deeply—and also understand business
59
How to Be A Huge Success
1. Learn how the Internet actually works, such as by taking CSCI 6433
2. Learn how to build Internet applications (such as by taking CSCI 6442) and the basics of Web site design
3. Learn about business, marketing and sales especially, by taking courses and through experience
4. Spend time in a service organization and pay attention to what works and what doesn’t work