Jump to content

HTTPRange-14

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Stuartyeates (talk | contribs) at 03:30, 6 January 2014 (Remove). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


httpRange-14 is a long-running logical conundrum or design problem in the semantic web. The problem arises because when HTTP is extended from referring only to documents to talking about real-world things (planets, flowers, emotions, Platonic forms, etc) the domain of HTTP GET becomes undefined.[1][2]

History

The HTTP protocol was originally designed to transfer information objects, specifically Hypertext such as HTML. The GET request was issued by a client to the retrieve data at a particular URL. Retrieving non-HTML information objects (images, flash files, CSS files, streaming video, etc) was not a problem, since all of these could be streamed across the network using standard approaches developed by earlier protocols (Kermit had been around since 1981, more than ten years prior to the development of HTML).

The semantic web was invented, spearheaded by the W3C and Tim Berners-Lee, which used URLs to refer to real world things (planets, flowers, emotions, Platonic forms, etc) which could not be reduced to network streams. The question of what web servers should do when asked for one of these things arose.

Use of #

URIs of real world things can be limit to 'hash URIs', that is URIs containing a fragment identifier. These URIs cannot by directly deferenced via HTTP so the protocol does not need to whole about the conflict. In this approach a URI not ending in a hash is understood to refer to a document, whereas the same URI with a '#' appended can refer to an abstract concept.[3]

Use of HTTP Status Code 303 See Other

The HTTP Status Code 303 See Other is defined as:[4]

The response to the request can be found under a different URI and SHOULD be retrieved using a GET method on that resource. This method exists primarily to allow the output of a POST-activated script to redirect the user agent to a selected resource. The new URI is not a substitute reference for the originally requested resource. The 303 response MUST NOT be cached, but the response to the second (redirected) request might be cacheable.

By sending a 303 when asked for a non-information resource and redirecting to an information resource about the non-information resource, the server answers the requesters information need without having to supply the actual thing[5][6] This is recommended as good practice by the W3C August 2007 draft.[7]

Resolution

The W3C's Cool URIs for the Semantic Web document[8] recommends using one or other of these two methods, depending on the requirements of the project.

Implications

The impact of the issue (more correctly the impact of confusion around the issue) is greatest in semantic web communities whose models involve large numbers of abstract items which cannot be serialised, such as the FRBR community.[9]

Further reading

References

  1. ^ "ISSUE-14: What is the range of the HTTP dereference function? - Technical Architecture Group Tracker". W3.org. Retrieved 2013-06-04.
  2. ^ "HttpRange14Webography - W3C Wiki". W3.org. Retrieved 2013-06-04.
  3. ^ http://dannyayers.com/2011/06/15/httpRange-14-Reflux
  4. ^ "HTTP/1.1: Status Code Definitions". W3.org. Retrieved 2013-06-04.
  5. ^ "The web's identity crisis and httpRange-14 | Larsblog". Garshol.priv.no. 2007-10-08. Retrieved 2013-06-04.
  6. ^ "Using "Punning" to Answer httpRange-14 | Jeni's Musings". Jenitennison.com. Retrieved 2013-06-04.
  7. ^ "Dereferencing HTTP URIs". W3.org. Retrieved 2013-06-04.
  8. ^ "Cool URIs for the Semantic Web". W3.org. Retrieved 2013-06-04.
  9. ^ http://efoundations.typepad.com/efoundations/2009/02/httprange14-cool-uris-frbr.html