- From: <noah_mendelsohn@us.ibm.com>
- Date: Fri, 14 Sep 2007 08:12:19 -0400
- To: "Rhys Lewis" <rhys@volantis.com>
- Cc: www-tag@w3.org
Thanks for the encouragement. I did overstate at least one thing when I
wrote:
> "If an Accept header field is present, and if the server
> cannot send a response which is acceptable according to the
> combined Accept field value, then the server SHOULD send a
> 406 (not acceptable) response."
>
> So, if a client issues Accept: image/jpeg, and gets back
> Status code 200 with Content-type: text/plain, it has Prima
> Facie evidence that the server has violated RFC 2616. The
> presentation of the image is rationalized as a best effort to
> recover from an error.
Well, no. Violating a SHOULD is not failing to conform, and I suspect
this one SHOULD is ignored often merely because servers don't implement
conneg. I'm still curious whether the direction might be fruitful, even
if the rationale would be a bit different than what I gave.
--------------------------------------
Noah Mendelsohn
IBM Corporation
One Rogers Street
Cambridge, MA 02142
1-617-693-4036
--------------------------------------
"Rhys Lewis" <rhys@volantis.com>
09/14/2007 02:45 AM
To: <noah_mendelsohn@us.ibm.com>, <www-tag@w3.org>
cc:
Subject: RE: ISSUE-24: A compromise on authoritative
metadata using Accept?
Hmm, I wish I could get such clarity when failing to achieve sleep!
Although I've not studied the background to the original finding deeply, I
do like the approach. In particular, I like the idea of underpinning the
proposed behaviour of HTML 5 as an attempt to recover from non-conformant
use of HTTP.
Best wishes
Rhys
> -----Original Message-----
> From: www-tag-request@w3.org [mailto:www-tag-request@w3.org]
> On Behalf Of noah_mendelsohn@us.ibm.com
> Sent: 14 September 2007 05:46
> To: www-tag@w3.org
> Subject: ISSUE-24: A compromise on authoritative metadata
> using Accept?
>
>
> We had some discussion last night of issue-24 [1]. From the
> unapproved draft minutes:
>
> "DC: our position on contentTypeOverride-24 is: if it says
> text/plain, it's text/plain. Recent HTML 5 drafts say: if
> you're looking for an image, treat what comes back as an
> image, even if the MIME type says text/plain (or something
> pretty close to that)"
>
> We had a discussion that included some speculation that one
> path would be to compromise our position on Authoritative
> Metadata, and while I'm not particularly happy about the
> prospect, I think it's worth looking at what the best
> possible compromises might look like. So, while having
> trouble sleeping last night, the following admittedly idea came to me.
>
> * We would stick with the story that Content-Type is the
> authoritative source of media-type info for a retreived
> representation.
>
> * The HTML 5 spec will allow for the <img> tag game, but it
> will state that users agents SHOULD issue an Accept: header,
> e.g. for image/jpeg, in that case.
>
> * The authoritative metadata finding (and perhaps a revised
> RFC 2616) will
> state: as stated in section 14.1 of RFC 2616, a server SHOULD
> respond with status code 406 if the requested type is not
> available. If the server is nonconformant and returns status
> code 200 with some other type, then the user agent MAY, at
> its own risk, infer that the data is of the requested type
> (or one of the requested types), rather than of the type
> given in the Content-type. Ideally, the user agent should
> warn the user that it is recovering from a non-conformant use of HTTP.
>
> It seems to me that this has, among other things, the
> desirable characteristic that the semantics are described at
> the protocol level, which is not true if you just predicate
> it all on: "If the link was from an <img> tag".
>
> Rationale:
>
> RFC 2616 [2] says:
>
> "The Accept request-header field can be used to specify
> certain media types which are acceptable for the response.
> Accept headers can be used to indicate that the request is
> specifically limited to a small set of desired types, as in
> the case of a request for an in-line image."
>
> [...]
>
> "If an Accept header field is present, and if the server
> cannot send a response which is acceptable according to the
> combined Accept field value, then the server SHOULD send a
> 406 (not acceptable) response."
>
> So, if a client issues Accept: image/jpeg, and gets back
> Status code 200 with Content-type: text/plain, it has Prima
> Facie evidence that the server has violated RFC 2616. The
> presentation of the image is rationalized as a best effort to
> recover from an error.
>
> I'm suspect there are holes in this, but does it perhaps
> suggest a promising direction? Thanks.
>
> Noah
>
> [1] http://www.w3.org/2001/tag/2007/09/13-tagmem-minutes#item05
> [2] http://www.ietf.org/rfc/rfc2616.txt
>
> --------------------------------------
> Noah Mendelsohn
> IBM Corporation
> One Rogers Street
> Cambridge, MA 02142
> 1-617-693-4036
> --------------------------------------
>
>
>
>
>
>
Received on Friday, 14 September 2007 12:16:12 UTC