- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Mon, 24 Nov 2003 23:26:37 +0100
- To: Alex Rousskov <rousskov@measurement-factory.com>
- Cc: ietf-http-wg@w3.org
Alex Rousskov wrote:
> On Mon, 24 Nov 2003, Julian Reschke wrote:
>
>
>>I'd like to see a clarification about what clients can expect upon
>>OPTIONS *. In particular, can they expect to find out about *any*
>>method name supported on that server?
>
>
> Support for OPTIONS is optional so client should not rely on that
> mechanism exclusively. That is, they should expect "405 Method Not
> Allowed" or "501 Not Implemented" response, among other things.
OK, that's clear. I was thinking about the case where OPTIONS is
supported and implemented...
> Even if OPTIONS method is supported, client cannot expect a list of
> supported optional method names in response to OPTIONS * (in general)
> because supported optional methods may depend on the request URI. Here
> is a quote from RFC 2616, it may also clarify why Java API does not
> propagate * requests:
>
> If the Request-URI is an asterisk ("*"), the OPTIONS request is
> intended to apply to the server in general rather than to a
> specific resource. Since a server's communication options typically
I think it would be nice if the spec would clarify what "supported in
general" means... Specifically for the "Allow" header: does it mean
- the methods listed in the Allow header are supported by all resources?
- methods not listed in the Allow header aren't supported by any resource?
- something else...?
> depend on the resource, the "*" request is only useful as a "ping"
> or "no-op" type of method; it does nothing beyond allowing the
> client to test the capabilities of the server. For example, this
> can be used to test a proxy for HTTP/1.1 compliance (or lack
> thereof).
> ...
> A 200 response SHOULD include any header fields that indicate
> optional features implemented by the server and applicable to that
> resource
>
> HTH,
>
> Alex.
>
> P.S. The "can be used to test a proxy for HTTP/1.1 compliance" phrase
> above probably meant to say "can be used to detect HTTP version
> of a proxy" since one cannot really test for compliance using an
> optional method.
To me it seems that "OPTIONS *" is effectively useless except for the
thing above -- testing compliance to a specific HTTP version. I think a
spec revision should just state that.
Julian
--
<green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760
Received on Monday, 24 November 2003 17:26:48 UTC