Re: #295: Applying original fragment to "plain" redirected URI (also #43)

Adam Barth <w3c@adambarth.com> Fri, 27 May 2011 03:50 UTC

Return-Path: <ietf-http-wg-request@listhub.w3.org>
X-Original-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Delivered-To: ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A5DDFE0690 for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 26 May 2011 20:50:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.977
X-Spam-Level:
X-Spam-Status: No, score=-9.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GZxsPnUue4ZJ for <ietfarch-httpbisa-archive-bis2Juki@ietfa.amsl.com>; Thu, 26 May 2011 20:50:06 -0700 (PDT)
Received: from frink.w3.org (frink.w3.org [128.30.52.56]) by ietfa.amsl.com (Postfix) with ESMTP id 42E5CE06C6 for <httpbisa-archive-bis2Juki@lists.ietf.org>; Thu, 26 May 2011 20:50:06 -0700 (PDT)
Received: from lists by frink.w3.org with local (Exim 4.69) (envelope-from <ietf-http-wg-request@listhub.w3.org>) id 1QPo3Q-0007T5-6l for ietf-http-wg-dist@listhub.w3.org; Fri, 27 May 2011 03:49:40 +0000
Received: from lisa.w3.org ([128.30.52.41]) by frink.w3.org with esmtp (Exim 4.69) (envelope-from <w3c@adambarth.com>) id 1QPo1J-0007PA-Uo for ietf-http-wg@listhub.w3.org; Fri, 27 May 2011 03:47:30 +0000
Received: from mail-iy0-f171.google.com ([209.85.210.171]) by lisa.w3.org with esmtp (Exim 4.72) (envelope-from <w3c@adambarth.com>) id 1QPo1I-0001bA-46 for ietf-http-wg@w3.org; Fri, 27 May 2011 03:47:29 +0000
Received: by iyi20 with SMTP id 20so1597496iyi.2 for <ietf-http-wg@w3.org>; Thu, 26 May 2011 20:47:02 -0700 (PDT)
Received: by 10.42.169.68 with SMTP id a4mr2381612icz.301.1306468021203; Thu, 26 May 2011 20:47:01 -0700 (PDT)
Received: from mail-iw0-f171.google.com (mail-iw0-f171.google.com [209.85.214.171]) by mx.google.com with ESMTPS id j1sm399825ibg.55.2011.05.26.20.46.59 (version=SSLv3 cipher=OTHER); Thu, 26 May 2011 20:47:00 -0700 (PDT)
Received: by iwn8 with SMTP id 8so1512913iwn.2 for <ietf-http-wg@w3.org>; Thu, 26 May 2011 20:46:59 -0700 (PDT)
Received: by 10.43.61.65 with SMTP id wv1mr2213834icb.336.1306468019230; Thu, 26 May 2011 20:46:59 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.42.227.131 with HTTP; Thu, 26 May 2011 20:46:28 -0700 (PDT)
In-Reply-To: <6A53E99A-019D-4F6D-A33D-24524CD34E17@mnot.net>
References: <6A53E99A-019D-4F6D-A33D-24524CD34E17@mnot.net>
From: Adam Barth <w3c@adambarth.com>
Date: Thu, 26 May 2011 20:46:28 -0700
Message-ID: <BANLkTinkgsBO6JhWZUGWhGu+6DRidLwLog@mail.gmail.com>
To: Mark Nottingham <mnot@mnot.net>
Cc: httpbis Group <ietf-http-wg@w3.org>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Received-SPF: none client-ip=209.85.210.171; envelope-from=w3c@adambarth.com; helo=mail-iy0-f171.google.com
X-W3C-Hub-Spam-Status: No, score=-2.6
X-W3C-Hub-Spam-Report: BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7
X-W3C-Scan-Sig: lisa.w3.org 1QPo1I-0001bA-46 532d044e29f47e2480383a0472e4ba41
X-Original-To: ietf-http-wg@w3.org
Subject: Re: #295: Applying original fragment to "plain" redirected URI (also #43)
Archived-At: <http://www.w3.org/mid/BANLkTinkgsBO6JhWZUGWhGu+6DRidLwLog@mail.gmail.com>
Resent-From: ietf-http-wg@w3.org
X-Mailing-List: <ietf-http-wg@w3.org> archive/latest/10566
X-Loop: ietf-http-wg@w3.org
Sender: ietf-http-wg-request@w3.org
Resent-Sender: ietf-http-wg-request@w3.org
Precedence: list
List-Id: <ietf-http-wg.w3.org>
List-Help: <http://www.w3.org/Mail/>
List-Post: <mailto:ietf-http-wg@w3.org>
List-Unsubscribe: <mailto:ietf-http-wg-request@w3.org?subject=unsubscribe>
Resent-Message-Id: <E1QPo3Q-0007T5-6l@frink.w3.org>
Resent-Date: Fri, 27 May 2011 03:49:40 +0000

My understanding is that preserving the fragment across the redirect
is a net positive for compatibility on the web.  In fact, Eric's blog
post mentions that he learned about the behavior by investigating
compat problems that IE faces because it lacks this behavior.  I
certainly agree that it would be nice to make the specs less cloudy in
this regard.  :)

Adam


On Thu, May 26, 2011 at 8:32 PM, Mark Nottingham <mnot@mnot.net> wrote:
> New issue: <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/295>
>
> As Eric Lawrence pointed out on his blog:
>  http://blogs.msdn.com/b/ieinternals/archive/2011/05/17/url-fragments-and-redirects-anchor-hash-missing.aspx
>
> we don't define what happens when a request-URI has a fragment identifier and is redirected, but the Location header payload doesn't.
>
> As mentioned in #43, an old I-D did specify behaviour here:
>  http://tools.ietf.org/html/draft-bos-http-redirect-00
>
> Specifically:
>
> """
> If the server returns a response code of 300 ("multiple choice"), 301 ("moved permanently"), 302 ("moved temporarily") or 303 ("see other"), and if the server also returns one or more URIs where the resource can be found, then the client SHOULD treat the new URIs as if the fragment identifier of the original URI was added at the end.
> """
>
> By my testing <https://gist.github.com/330963>*, IE (6 to 9)** and Safari do not apply the fragid (T4 and T8), whereas Opera, Chrome and Firefox do. If anyone has results from other implementations, they'd be most welcome.
>
> I see two possible ways forward:
>  1) As with #43, explicitly state that there isn't interop here.
>  2) Define interop along the lines of draft-bos-http-redirect.
>
> I realise that #2 would break some existing implementations, but I've seen evidence of some real interop pain here, and defining interop where the spec is cloudy *is* within our charter.
>
> However, I'd really like to hear from implementers as to whether they'd be willing to change their implementations before going down that path.
>
>
> Regarding #43 <http://trac.tools.ietf.org/wg/httpbis/trac/ticket/43>, my most recent testing indicates that, putting aside T4 and T8, there *is* interop on fragment combination for IE6-9, Safari 5, Chrome (current), FF4, FF3.6.15, FF3.0.11, and Opera 11.10.
>
> This makes me wonder if we should, given this new information, re-open #43 and define precedence rules for fragment combination upon redirects. Thoughts?
>
> Regards,
>
>
> * Note that the "PASS/FAIL" terminology in those tests is misleading, as it assumes the semantics defined in draft-bos-http-redirect.
>
> ** IE 6-9 are interesting, in that the location bar URI does not reflect the fragment, nor is it available in JavaScript's location.hash; however the document *does* scroll to the appropriate place on the page when following the link.
>
> --
> Mark Nottingham   http://www.mnot.net/
>
>
>
>
>