1 / 98

CSCI 233

CSCI 233. Class 10. Agenda. DHCP VoIP Internet telephone service SNMP World Wide Web WebDAV Web Services. Dynamic Host Configuration Program (DHCP). Configuration elements for a host: Address of default router Network mask Addresses of mail server, DNS server MTU of local network

ranger
Download Presentation

CSCI 233

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSCI 233 Class 10

  2. Agenda • DHCP • VoIP • Internet telephone service • SNMP • World Wide Web • WebDAV • Web Services

  3. Dynamic Host Configuration Program (DHCP) Configuration elements for a host: • Address of default router • Network mask • Addresses of mail server, DNS server • MTU of local network • TTL value to use for IP datagrams

  4. What About Manual Configuration? • People make mistakes • There aren’t enough people • Hosts may be dumb

  5. Address Allocation Methods • Manual allocation: Each IP address is allocated to a single device. DHCP communicates that address • Automatic allocation: DHCP automatically assigns an IP address permanently to a device, selecting from a pool • Dynamic allocation: DHCP assigns an IP address from a pool for a time chosen by the server or until the client gives it up

  6. Summary • DHCP is run by hosts at startup • It configures the host for network operation

  7. HTTP

  8. 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

  9. Web Components • HTTP—protocol used to transfer Web pages between requesting host and Web server • Web pages—hypermedia documents accessible over the Web—each is a file • Web browser—application program that contacts Web server to get a copy of a specified Web page, displays it • Web server—delivers files to browsers in response to specific requests • HTML—used to represent documents that have text and images • HTML tags in < > brackets, as <B> and </B>

  10. URL • Uniform Resource Locator (URL)—each Web page has a URL • HTTP scheme: http: // hostname [:port] / path [; parameters] [? query] • Hostname is domain name or server IP address • Port is port number if 80 is not used

  11. An Example <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.

  12. Hypertext Transfer Protocol (HTTP) • Application level—assumes reliable, connection-oriented transport service • 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

  13. HTTP Message A complete HTTP message consists of a client request and a sever response: HTTP-message = Request | Response

  14. 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

  15. URL Syntax <scheme> is generally a type of access method such as http or ftp

  16. Errors • Server presents error messages to browser in valid HTML • Browsers render error message for user • User can read the error message

  17. 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?

  18. Length Encoding, Headers HTTP borrows 822 format and MIME extensions from email Each line has keyword, colon, value

  19. Example of Transfer Content-length: 34 Content-language: en Content-encoding: ascii <HTML> A Trivial example. </HTML> Connection: close

  20. 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

  21. 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

  22. 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

  23. 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 generated All Internet times are required to be in GMT

  24. 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

  25. 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

  26. 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

  27. Cache Control Directives Cache-Control: public—browser and proxies may cache the page Cache-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.

  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. Web Services

  35. Web Services • A new vision for using Internet protocols in the development, engineering and use of software • Web Services are self-describing applications that use XML to exchange data with other applications on other computers by using Internet protocols. • Requests can be sent and responses received between two different applications on separate computers belonging to different businesses. • Several standards are emerging; XML is central to Web Services standards. • XML is a language for describing data and creating additional markup languages.

  36. Generic Web Services Architecture XML Request Business Facade Business Logic Listener XML Response

  37. Core Web Services Standards • SOAP—Simple Object Access Protocol • WSDL—Web Services Description Language • UDDI—Universal Description, Discovery and Integration • REST—Representational State Transfer

  38. SOAP • An XML vocabulary standard to enable programs on separate computers to interact across any network • Describes messages between computers • Defines a mechanism to pass commands and parameters between clients and servers • DIME (Direct Internet Message Encapsulation) used to move data into SOAP message packets

  39. WSDL • Describes Web Services and their capabilities in a standard manner • Helps expose Web Services of various companies for public access • Defines how service providers and requesters communicate with each other about Web Services

  40. UDDI • Framework of XML-based registries used by companies to upload information about themselves and services they offer • Registries based on UDDI provide common registries that companies can use to advertise themselves and their Web Services • UDDI has been the least accepted part of Web Services

  41. REST Client–server—Clients separated from servers by uniform interface. Stateless—No client context is stored on server between requests. Cacheable--clients are able to cache responses. Layered system--Client cannot ordinarily tell whether it is connected directly to server, or to an intermediary along the way. Code on demand (optional)—Servers are able temporarily to extend or customize the functionality of a client by transferring logic to it that it can execute. Uniform interface—The uniform interface between clients and servers simplifies and decouples the architecture

  42. RESTful Interface Identification of resources--Individual resources are identified in requests, for example using URIs Manipulation of resources through representations—When a client holds a representation of a resource it has enough information to modify or delete the resource on the server Self-descriptive messages—Each message includes enough information to describe how to process the message. Hypermedia as the engine of application state—If it is likely that the client will want to access related resources, these should be identified in the representation returned

  43. Benefits of Web Services • Interoperability—Applications that use Web Services can interoperate over computer system and network boundaries and be written using various technologies • Ease of use—business logic is exposed over the Web; using developers don’t need to deal with details • Reusability—Web Services can be used by many applications • Ubiquitous—Accessible from anywhere over the Internet

  44. Before Web Services

  45. With Web Services

  46. Plans for Use of Web Services Plans of early adopters: • 60% to integrate applications behind the corporate firewall • 53% to integrate with external applications of known suppliers, customers or partners outside the firewall • 23% will not employ in the next year • 20% will become a provider of Web services

  47. When Not to Use Web Services • To integrate two applications from the same vendor • If the applications already have been integrated and all that’s needed is additional integration • When very high performance is required

  48. Why Web Services Matters • Interoperability between applications can be technology-independent • The Internet can provide universal availability

  49. Summary • Web services uses Internet protocols to allow programs to invoke each other without respect to machines, operating systems and programming languages. • Three protocols are central to Web Services: UDDI, WSDL and SOAP • Web services offer interoperability, ease of use, reusability and ubiquity. • This is likely the future of application development and how applications will interact, not only over the Internet but also within an organization.

  50. The World-Wide Web

More Related