A URI identifies a resource
either by location or name. More often than not, most of us use URIs
that defines a location to a resource. However, a URI does not have to
specify the location of a specific representation. Citing and example of a W3C URI for their home image, they use the following URI: http://www.w3.org/Icons/w3c_home.
Note the absence of a file extension. The URI for the w3c_home image
is still universally unique, but it does not specify the specific
representation of the image (either a GIF, PNG, or JPG). The selection
of the representation can be determined by the web server through HTTP content negotiation. The Apache HTTPD server has had excellent support for content negotiation for many years. Oddly, few sites take advantage of HTTP content negotiation. The W3C is one web application that makes heavy use of URIs and content negotiation.
A URL is a URI but a URI is not a URL. A URL is a specialization of URI that defines the network location of a specific representation for a given resource. Taking the same W3C example, there are actually 2 representations available for the w3c_home resource:
These URIs also define the file extension that indicates what content
type is available at the URL. Through content negotiation, the web
server will forward the user agent to the proper type, depending on the
client capabilities, when the URI http://www.w3.org/Icons/w3c_home is accessed.
More often than not, URI is the correct term to use when referring to the location of resources on the WWW.
Post a Comment