Subject: Re: #312: should there be a permanent variant of 307?

From: Julian Reschke <[email-masked]>
Date: Wed, 02 Nov 2011 20:34:34 +0100

On 2011-10-29 01:12, Mark Nottingham wrote:
>
> On 29/10/2011, at 2:35 AM, Yves Lafon wrote:
>
>> On Thu, 27 Oct 2011, Julian Reschke wrote:
>>
>>> <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/312>
>>>
>>> So now that we have allowed UAs to rewrite a 301 POST to GET (see<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/160>), the spec doesn't have a permanent redirect that always preserves the method.
>>>
>>> (We *do* have the equivalent for temporary redirects: 307).
>>>
>>> So...:
>>>
>>> 1) Is this a problem?
>>
>> First thing is... was 301 ever used to change entries in a bookmark or a link in a page? If not, then it's not a problem worth adding a new status code.
>
> +1
>
>> A 307 with a long enough cache time should be enough to redirect people.
>> If it is, then 2a would be the best option (in another doc)
>
> But then you have a deployment problem; it won't be backwards-compatible with most existing browsers (i.e., the redirect won't work), so it'll never get out there.
>
> AFAICT the only way to deploy would be to mint a new CC directive that means "forever" -- and we've already discussed that and decided not to go that way, IIRC.
>
> My personal .02 - I think this is close with no action, or at most a bit of prose in 307.
> ...

OK, here's something we could say in the text about 307:

       Note: this status code is similar to 302 Found, except that it
       does not allow rewriting the request method from POST to GET.
       There is no equivalent counterpart for 301 Moved Permanently.
       Servers that need a "permanent" variant of this status code can
       specify it's lifetime using Cache-Control (Section 3.2 of
       [Part6]), for instance by using "Cache-Control: max-age=315360000"
       (an expiry time ten years in the future).

Feedback appreciated, Julian

---

From: Mark Nottingham <[email-masked]>
Date: Thu, 3 Nov 2011 14:45:43 +1100

>      (an expiry time ten years in the future).

+0 -- not against it, not sure it's really necessary (but happy to put it in if that moves us forward).

--
Mark Nottingham   http://www.mnot.net/

---

From: Julian Reschke <[email-masked]>
Date: Fri, 04 Nov 2011 09:27:40 +0100

> +0 -- not against it, not sure it's really necessary (but happy to put it in if that moves us forward).

I think *some* prose around this is useful, as otherwise the same 
questions continue to come up again and again.

*If* we believe that the decorate-with-Cache-Control thingy works, we 
should say so. If we do not, we could shorten the note.

Best regards, Julian

---

From: Yves Lafon <[email-masked]>
Date: Fri, 4 Nov 2011 10:21:01 -0400 (EDT)

On Fri, 4 Nov 2011, Julian Reschke wrote:

>>>>>> So now that we have allowed UAs to rewrite a 301 POST to GET 
>>>>>> (see<http://trac.tools.ietf.org/wg/httpbis/trac/ticket/160>), the spec 
>>>>>> doesn't have a permanent redirect that always preserves the method.
>>>>>> 
>>>>> First thing is... was 301 ever used to change entries in a bookmark or a 
>>>>> link in a page? If not, then it's not a problem worth adding a new 
>>>>> status code.
>>>> 
>>>> +1
>>>> 
>>>> But then you have a deployment problem; it won't be backwards-compatible 
>>>> with most existing browsers (i.e., the redirect won't work), so it'll 
>>>> never get out there.
>>>> 
>>>> AFAICT the only way to deploy would be to mint a new CC directive that 
>>>> means "forever" -- and we've already discussed that and decided not to go 
>>>> that way, IIRC.
>>>> 
> I think *some* prose around this is useful, as otherwise the same questions 
> continue to come up again and again.
>
> *If* we believe that the decorate-with-Cache-Control thingy works, we should 
> say so. If we do not, we could shorten the note.

Well, caching a redirect is different than stating that it's permanent. 
The best thing we can do here would probably be to rename 307's reason 
phrase to "Proper Redirect" instead of "Temporary Redirect"...

Also an expiry far in time is still valid cache information, saying "over 
XX seconds, consider it as permanent" seems weird, at worst, introducing a 
'permanent' Cache-Control might help (as it might help for other things 
than doing a "proper 301").

-- 
Baroula que barouleras, au tiéu toujou t'entourneras.

         ~~Yves

---

From: Julian Reschke <[email-masked]>
Date: Fri, 04 Nov 2011 15:52:56 +0100

> Well, caching a redirect is different than stating that it's permanent.

What observable difference would it make?

> phrase to "Proper Redirect" instead of "Temporary Redirect"...

Well, changing the reason phrase alone doesn't change the definition. Do 
you *want* to change the definition?

> Also an expiry far in time is still valid cache information, saying
> "over XX seconds, consider it as permanent" seems weird, at worst,
> introducing a 'permanent' Cache-Control might help (as it might help for
> other things than doing a "proper 301").

That sounds like a good idea on it's own; but I don't think we can 
squeeze that into the HTTPbis charter...

Best regards, Julian

---

From: Julian Reschke <[email-masked]>
Date: Fri, 11 Nov 2011 10:13:41 +0100

> +0 -- not against it, not sure it's really necessary (but happy to put it in if that moves us forward).

OK, seems that this proposal didn't get sufficient support then.

How about simply saying:

 >       Note: This status code is similar to 302 Found, except that it

(<http://trac.tools.ietf.org/wg/httpbis/trac/attachment/ticket/312/312.diff>) 
for now?

Best regards, Julian

---

From: Mark Nottingham <[email-masked]>
Date: Fri, 11 Nov 2011 10:22:45 -0600

WFM

On 11/11/2011, at 3:13 AM, Julian Reschke wrote:

> (<http://trac.tools.ietf.org/wg/httpbis/trac/attachment/ticket/312/312.diff>) for now?
> 
> Best regards, Julian

--
Mark Nottingham
http://www.mnot.net/

---

From: Julian Reschke <[email-masked]>
Date: Fri, 11 Nov 2011 17:40:41 +0100

> WFM

-> <http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1474>

Best regards, Julian

---

From: Julian Reschke <[email-masked]>
Date: Fri, 11 Nov 2011 17:45:03 +0100

> -> <http://trac.tools.ietf.org/wg/httpbis/trac/changeset/1474>

And, with the next edit I have replaced

by

	This specification defines no equivalent counterpart for 301 Moved 
Permanently.

(avoiding the implication that there can't be one in the future).

<sorryforthecheckinnoise/>

Best regards, Julian