- From: Foteos Macrides <MACRIDES@sci.wfbr.edu>
- Date: Fri, 29 Aug 1997 10:32:52 -0500 (EST)
- To: fielding@kiwi.ics.uci.edu
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
"Roy T. Fielding" <fielding@kiwi.ics.uci.edu> wrote:
>>Klaus Weide <kweide@tezcat.com> wrote:
>>If the people present in Munich came to a different consensus, I would
>>very much like to know why. The Issues Page currently has "Consensus at
>>IETF seems to be to swap the codes, rather than making the protocol
>>cruftier." Can someone explain why it is better to make 303 as currently
>>specified unusable, rather than just adjusting the specification as
>>much as necessary (as dictated by reality)?
>
>I wasn't at Munich, but I can guess at the reasons.
>
> 1) If 302 (as implemented) really means See Other, then why confuse
> users by also having 303 have that definition?
>
>Foteos asked a while back for a little historical perspective. I've been
>too busy lately, but I'll describe the *real* history of 302 now because
>I am tired of people accusing us of making an arbitrary decision.
>
>The 1993 specification lists both 302 and 303, with the 302 code being
>described as a "redirection that may be altered on occasion" and 303
>described as a method changing redirect in which a "Method" header field
>was used to give the UA the new method to use, and the response body
>contained the parameters that the UA should send in its redirected
>request body.
>
>For obvious security reasons, that definition of 303 was never implemented
>and the code was later deprecated. There was no clear statement for 302
>regarding whether or not the redirected request should always be a GET
>(as in See Other) or a repeat of the original request. When Henrik and I
>started rewriting the HTTP/1.0 specification in October 1994, all of the
>code we had access to redirected with the same method, so that is how we
>defined it.
>
>The issue did not arise in the WG until 23 March 1995,
>
> http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q1/0189.html
>
>and was later repeated on 18 June 1995, when Bill Perry asked about it
>
> http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q2/0196.html
>
>and Henrik gave a convincing reason why he implemented it as described
>in the specification, and why we should use 303 for "See Other".
>Consensus was that different people implemented it differently, and
>therefore a decision was made that the most natural definition would be
>given as 302 and a new status code 303 would be used for "See Other".
>
>The discussion arose again on 1 September 1995 when Chris Lilley posed an
>alternative solution in
>
> http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q3/0548.html
>
>and the only response was mine (regarding we already solved it with 303).
>The next time it was discussed was 30 Jan 1996
>
> http://www.ics.uci.edu/pub/ietf/http/hypermail/1996q1/0173.html
>
>Please note that at no time during this period did any of the Browser
>developers say that they were not going to implement 303, or that they
>preferred some solution other than 303. We have an interoperability
>problem now because, apparently, none of the major browser vendors read
>specifications in 1995.
>[...]
See the appended, additional message from that set, also highly
germane to your review.
Fote
=========================================================================
Foteos Macrides Worcester Foundation for Biomedical Research
MACRIDES@SCI.WFBR.EDU 222 Maple Avenue, Shrewsbury, MA 01545
=========================================================================
<URL:http://www.ics.uci.edu/pub/ietf/http/hypermail/1995q1/0199.html>
Thu, 23 Mar 95 17:47:59 -0600
Jeffrey Perry writes:
>What appears to happen when a POST is redirected is the client attempts a
>GET at the new URL so that the user can fill-in the form again (it may have
>changed when it moved)
There are several pages on the Web ("The Revolving Door" comes to mind)
which, on the basis of form input, redirect you to one of a number of
different pages. These pages then need to be retrieved using GET. This
usage appears to be much more common than a redirect where the client is
supposed to POST again on the target system.
At a very early stage of development, Enhanced Mosaic would actually do
another POST after a redirect. In every case that this happened, it
generated incorrect results (like an "Action not allowed" response). I
think that switching to GET after a redirect is current practice for most
browsers.
--
Jim Seidman, Senior Software Engineer, Spyglass Inc.
Received on Friday, 29 August 1997 07:39:44 UTC