Upload
urvi
View
49
Download
1
Tags:
Embed Size (px)
DESCRIPTION
CSCI 233. Class 11. Agenda. World Wide Web SNMP Your Career. HTTP. 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. - PowerPoint PPT Presentation
Citation preview
CSCI 233
Class 11Dave Roberts
2
Agenda HTTP WEBDAV SNMP Your Career
Protocol Dependencies
3
4
HTTP
5
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
6
Size of the Web
Source: worldwidewebsize.com
7
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
8
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> HTML link:
<a href=http://webmarketingadvantage.com>Visit WMA.com!</a>
9
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>
10
An ExampleThis 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.
11
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
12
HTTP MessageA complete HTTP message consists of a client
request and a sever response:HTTP-message = Request | Response
13
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
14
HTTP Get, Illustrated
15
Errors Server presents error messages to browser in
valid HTML Browsers render error message for user User can read the error message
16
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?
17
Length Encoding, HeadersHTTP borrows 822 format and MIME extensions
from email
Each line has keyword, colon, value
18
Example of TransferContent-length: 34Content-language: enContent-encoding: ascii<HTML> A Trivial example. </HTML>Connection: close
19
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
20
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 GMTcan be used along with a GET request for a page
21
Request Methods
OPTIONS—Returns HTTP methods supported for a URL. 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. 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
22
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
23
Content CodingContent 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
24
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
25
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
Question: Caching is an example of what general principle of Internet protocols?
26
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.
27
The Other Server: HTTP Proxy Cache Server
Source: Apache Server Documentation
28
Web for Service Delivery (i.e., apps) Many apps are characterized by some stored data and
some procedural access and manipulation to that data Applications can be built with a scripting language that
accesses a database Scripting languages like php can be built into HTML
Web applications are displacing desktop applications
29
A Company Built on Caching: Akamai Akamai is a Hawaiian word, meaning smart or
clever Akamai runs more than 170,000 servers
worldwide in 100 countries Servers reside in more than 1,300 networks,
gathering real time information Requests to subscriber sites are redirected to
Akamai and then served from a server near the requestor
Akamai has extensive real-time knowledge of Internet traffic, publishes Akamai Internet Report
Annual revenue: $2 B; 5,900 employees; $340K revenue/employee
30
Chart from Akamai’s Report
31
Gross Revenue Per Employee
Oracle
Wal-Mart
Yahoo
Amazon
32
FYI: Net Revenue Per Employee
Source: businessinsider.com
Yahoo
Amazon
Oracle
Wal-Mart
33
Web Applications Market There is a huge market for Web applications
They can be delivered instantly to a huge population
The Web provides a reasonable UI platform if fast enough
Sharing is easily available Several types of applications:
Social networks Office productivity software Other apps
Project management Video editing Point-of-sale
34
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 HTTP makes information directly available to
anyone, is revolutionizing business, government and society
HTTP provides opportunity to those who embrace it, risk to those who don’t
35
WEBDAV
36
WebDAVWebDAV 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.
37
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
38
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.
39
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.
40
WEBDAV Adds Methods to HTTP MKCOL—create a new collection/directory PROPFIND—return properties of a file,
directory PROPPATCH—updates properties of resource,
collection MOVE—moves resource or collection to a
different location COPY—copy a resource to a new location
Locking is done by the HTTP methods LOCK UNLOCK
41
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
HTTP is becoming a very important application platform
WebDAV adds support for writing to HTTP, along with distributed versioning control
42
SNMP
43
Question! Suppose you are the Emperor of the Internet,
living in the Forbidden City and all of that There is no network management protocol on
the Internet! And it’s time to design one. You are asked to answer only one question,
the designers will take it from there. But of course your career depends on your answer.
At what level of the protocol stack should the network management protocol work?
Question: Should the network management protocol operate at the transport level? The physical level? Why?
Network Management
44
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
45
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
46Management client, management agents
SNMP
47
Simple Network Management Protocol Defines set of operations and meaning of each Management Information Base—MIB—required
information to be maintained
48
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
49
Examples of MIB Variables
50
SNMP
51
Defining SNMP with explicit commands could be very complex and machine-dependent
Instead, fetch-store paradigm is used Operations take place as a side effect of fetch
and store operationsexample: set a value containing time period
to next restart to zero to cause a restart
SNMP Messages
52
No fixed formats Integer that specifies protocol version Additional header data Security parameters Data area
Data areas can be encrypted
SNMP Operations
53
54
Question! Suppose I have just developed a new product
—an Internet-connected coffee pot I want to enable it to be managed with SNMP What do I need to do?
Summary
55
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, so there are a very small number of commands in SNMP
MIB defines all variables maintained by a managed entity
56
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 End to end protocol operation
57
Careers
One PathThere Are Others
58
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?
Why do we care about the “value of computing”?
59
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
In social life—constant connectedness
60
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
61
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
62
Impact of Open Source Cost of software to users decreases
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
63
Open Source Examples Enterprise DB 3 MySQL 3 WordPress 3 Flex 2
Joomla 2 Sendmail 3 Java 2 Lucid 3
64
Choices In software, you can 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
65
An Alternative—Innovators Large companies that will succeed and grow
are those that innovate constantly They can create new, profitable markets By the time the followers have found these
markets and reduced the profitability, the leaders are on to something else
Some companies that aren’t in that group: Yahoo, Verizon
Some companies in that group: Amazon, Google, facebook, Uber
66
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
Web applications will be used universally
67
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
And that paradigm will be on the Web so that data can be shared and available anywhere, any time
68
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 Learn how people use computers
69
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
70
How to Be A Huge Success1. Learn how the Internet actually works,
such as by taking CSCI 64332. 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