RobinBerjon

A 101 on the Range of the HTTP Dereference Function

FakeTAG Remembrance

Even the most respected institutions sometimes come to an untimely death. Amongst Web institutions, few have left such a blazing trail of genius and dedication to excellence as the FakeTAG. Yet for all its brilliance those amongst you who stay appraised of the Web’s own heartbeat can’t have failed to notice the recent disappearance of the FakeTAG. After years of faithful service, it has finally gone to rest. We celebrate its everlasting contribution by republishing here one of its most emblematic findings, by renowned architect “eristikitten”.

The canonical expression of the infamous httpRange-14 issue is: “What is the range of the HTTP dereference function?” Wikipedia can help you find proper definitions for range, dereference, and function. We can therefore interpret the question as looking for the part of the codomain the elements of which are outputs in relation to inputs through a mapping that provides indirect access to a datum.

Such a definition, if precise, is nevertheless susceptible to interpretive exegesis tailored towards the obtention of a specific resolution; in other words it is vulnerable to weasel wording attacks.

In resolving this august issue, the Fake TAG has taken the first step of remapping the initial question to one that is entirely equivalent but far simpler: “What is the URI for an elephant and how do you dereference it?”

This question can be addressed simply by walking through the engineering process that implements it.

First, define a URI for an elephant. This is simple: it can be anything you want it to be. The Web is by nature colloquial and vernacular which in turn entails that no formalism or convention whatsoever can hope to survive over any length of time or breadth of community unless it is enforced. While Fake TAG otherwise supports the incorporation of a Police Against Nasty Technology Spreading in order to address endemic issues such as Comic Sans, forum interfaces, or PHP, in the absence of such an enforcement mechanism we must rely on our constituency’s immersion in its own vernacular.

The vernacular option for such a URI is simple. It is an http URI using an authority under the minter’s (perhaps temporary or incidental) control and arbitrary further components that make it easy for humans to remember and interact with. An example such as http://faketag.org/awesome-animals/elephant would perfectly well do the trick.

Having minted a URI, we now need to dereference it. To the best of Fake TAG’s knowledge, given current technology, there is no known way of transferring an elephantine representation over IP. This prevents the dereference from taking place entirely over HTTP.

That said, there are known protocols for obtaining elephants. Fake TAG is currently liaising with the Fake Zoological Architecture Posse in order to inform itself of current Practices in Elephant Transmission, and we shall update this finding as soon as we hear back from our hairier comrades. In the meantime, suffice it to note that such protocols do exist; for instance, Have Trunk Will Travel.

From there on it is a simple matter of signalling the requisite protocol change. HTTP being a protocol designed to be future-compatible, it has naturally solved this problem years before it surfaced. Dereferencing an elephant over HTTP entails that the server MUST respond with 101 Switching Protocols. In the response, the Upgrade header MUST be set to the value “IRL”, and the Last-Modified header to the date of the last time at which the elephant’s wavefunction was observed. The response body SHOULD be blank, though a variety of shades of grey are also acceptable.

We have now dereferenced an elephant. Issue 14 closed.