Re: Draft finding - "Transitioning the Web to HTTPS"

Henry S. Thompson wrote:
> 
>   If the user agent is not satisfied by the initial _response
>   representation_, it can perform a GET request on one or more of the
>   alternative resources, selected based on metadata included in the
>   list, to obtain a different form of representation for that
>   response. Selection of alternatives might be performed automatically
>   by the user agent or manually by the user selecting from a generated
>   (possibly hypertext) menu.
> 
>   Note that the above refers to _representations of the response_, in
>   general, not representations of the resource.  The alternative
>   representations are only considered representations of the target
>   resource if the response in which those alternatives are provided
>   has the semantics of being a representation of the target resource
>   (e.g., a 200 (OK) response to a GET request) [1] [emphasis added]
> 
> This distinction between representations of resources and
> representations of responses is, as far as a quick search of the 723*
> family reveals, both unprecedented and unexplained.  But that's
> another topic, I guess.
> 

A custom "fail whale" page served as 500, is not a representation of
the resource. Calling it a representation of the response makes sense,
to the point I didn't notice it as unprecedented terminology. Serving
it as 200 makes it a representation of the resource, to a machine, and
is therefore incorrect. The distinction has both precedent and
explanation, pertinent to many response codes.

>
> Wrt your point, I read the second paragraph from 7231 above as saying
> it's _not_ conformant, supposing I ask for a document from your site,
> to respond with a list of links to alternative representations of that
> document in a 200 response, because a 200 response says "here is a
> representation of the document you requested".  So I don't see how you
> could view such a response as a conformant example of reactive
> conneg---it's either not conformant, or not conneg.
> 

Is the resource "a list of alternate links"? Or does the resource
"contain a list of alternate links"? If yes to the latter, I'd hate to
have a protocol spec telling me I can't serve those links as part of a
200 response and a special request must be made. If no to the former
(and I can't think of a bona-fide resource that could be), then a 200
response containing just a list of alternates would be incorrect. That
special case is a matter of protocol, specifically the 300 response.

HTTP would lack something without it, because there's a real
distinction there regardless of how it's worded. I've also used 300 as
the status code for responses to OPTIONS requests -- the results of
which are expected to be a representation of a response, not a resource.

-Eric

Received on Wednesday, 18 February 2015 22:18:32 UTC