Section 2.2. World Wide Web


2.2. World Wide Web

The Web is built on a few core standards that are universally adopted. This section briefly reviews uniform resource identifiers (URIs), HyperText Transfer Protocol (HTTP), and Multipurpose Internet Mail Exchange (MIME).

2.2.1. URIs

A URI [URI] is a format for identifying an abstract or concrete resource, which can be basically anything with an identity. Uniform Resource Locators (URLs) are a popular form of URIsbasically those URIs that can be de-referenced to obtain a representation of the resource identified by the URI. Although recent revisions of the URI specification do away with the URL concept and treat all URIs the same, the basic idea of some URIs being de-referenceable and others not still exists.

It is important to note, however, that even URIs that look de-referenceable (for example, http://this-is-a-fake-name.com/foo) might not be. Thus, the only assertion you can make about a URI is that it identifies some resource and might be de-referenceable to obtain a representation of that resource.

Many Web service specifications use URIs to identify components defined by those specifications. Some specifications, however, use QNames, and the question of whether URIs or QNames identify things is a frequent debate among the Web community. The use of QNames to identify components received a boost by the XML Schema specification because it uses QNames to identify types and elements that a given schema defines. QNames allow you to formalize the fact that a set of definitions are related because they have a shared namespace name. If you were to use URIs to name a group of related items, you would need to understand the structure of the URI so that you could recover the relationship. Significant parts of URIs (depending on the URI scheme) are supposed to be opaque except to their creator.

The debate of URIs versus QNames continues. Unfortunately, some of the Web service specifications use URIs for naming (WS-Policy in particular), although many others use only QNames, bringing this debate to the world of Web services as well.

2.2.2. HTTP

HTTP [HTTP] is the communication protocol that transfers representations of resources on the Web. The use of HTTP and URIs on the Web has been modeled by an architectural style called Representational State Transfer (REST) [F00].

Web services (SOAP in particular) uses HTTP as a transport (rather than transfer) protocol to carry SOAP messages from one endpoint to another. The use of HTTP in this manner has been quite controversial at times because SOAP can be carried on many transport protocols and does not really adhere to the HTTP semantics. However, the widespread deployment of HTTP means that SOAP will continue to use HTTP as a transport protocol for the foreseeable future, despite its "breaking of the religion" of HTTP as an application level transfer protocol rather than a transport protocol.

2.2.3. MIME

MIME [MIME] is a standard that was originally developed to address the problem of sending nontext content as e-mail attachments. MIME's generality and power were so attractive that HTTP also adopted it as the mechanism to type HTTP messages, thereby gaining MIME's advantages for transmitting multipart content.

MIME defines a set of media types that you can use to tag the type of some media being sent or received as a binary sequence of bytes. The SOAP with Attachments specification (see Chapter 4, "SOAP") uses HTTP's MIME transport capability to define a packaging model for how to transmit messages that involve SOAP messages and attachments of various binary forms conforming to MIME media types.



    Web Services Platform Architecture(c) SOAP, WSDL, WS-Policy, WS-Addressing, WS-BP[.  .. ] More
    Web Services Platform Architecture(c) SOAP, WSDL, WS-Policy, WS-Addressing, WS-BP[. .. ] More
    ISBN: N/A
    EAN: N/A
    Year: 2005
    Pages: 176

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net