Problems with code "302 Moved Temporarily"

I would like to point out a situation I am encountering with regard to the
HTTP 1.1 draft RFC and ask that it be remedied if at all possible.  First,
let me explain what I am trying to do and what is happening.

I have an application which is using the code "302 Moved Temporarily"
response and is specifying the new URL in the "Location:" header.  The
intent of the application, and apparently of the code "302", is that the
end user's client would bookmark the original Request-URL which produced
the code "302" and would thus be redirected to the appropriate URL each and
every time they contact this server.  The URL to which they are redirected
may, indeed, change at any time and thus the client should continue to use
the original URL for connections and then get redirected.  (Note, this is
clearly different from the case of a code "301 Moved Permanently", where
the client should bookmark the NEW URL instead.)

What I am finding is that although many browsers understand the code "302"
and will take the redirection to the new URL automatically, NONE of the
browsers I have tested will continue displaying or will bookmark the
original URL!  Thus, when the end user makes use of the original URL they
are immediately moved to the NEW URL and if they then decide to bookmark
this page or write down the URL for future reference, or to send to a
friend, they will inevitably use the NEW (and thus incorrect) URL instead
of the original (and correct) one for future references!  This defeats the
whole purpose of the code "302 Moved Temporarily" and effectively makes
this code useless for its intended purpose!

I talked with Netscape about this problem and while they admit that their
handling of a code "302" is not as it should be, they also pointed out that
since the RFC uses the words, "... the client SHOULD continue to use the
Request-URI for future requests", Netscape has no motivation to change
their incorrect behavior.  I am sure the same analysis could easily be made
of all other browsers and thus it seems as if the code "302" will mostly
likely not reach its intended level of use simply because browser designers
are clearly allowed to handle this code in a way inconsistent with its
intent.

I suggest that the current wording is such that HTTP server designers
CANNOT depend upon the end user client to act appropriately when returned a
code "302", and that this seriously reduces the types of applications to
which this otherwise useful code may be put.

I strongly suggest that the wording for the description of a code "302 Move
Temporarily" be amended with text similar to the following:

  If a new URL has been given in the Location field and if the client chooses
  to automatically follow this new URL, the original Request-URI MUST continue
  to be displayed to the end user as being the current URI in the event the
  client saves the current URI (such as via a bookmark mechanism), the original
  Request-URI should be saved instead of the new URL.  This guarantees the
  client will return to the original Request-URI in the future and thus will
  be redirected as appropriate.

I thank you for seriously considering this minor change to the RFC.  I
firmly believe that this change will help those designing HTTP servers make
use of a code which is currently less useful than it should be.

/raj


---------------------------------------------------------------------------
Imagine a school with children that can read or write, but with teachers
who cannot, and you have a metaphor of the Information Age in which we
live. -Peter Cochrane

Received on Tuesday, 6 August 1996 18:49:57 UTC