Re: Why does rdf-sparql-protocol say to return 500 when refusing a query?

On Wed, 2011-04-27 at 09:14 +0000, Hugh Glaser wrote:
. . .
> 5xx is the server can't do what you want, and there isn't much point
> in the client having another go with the same request.
> However, as you say, it may be that the server could perform the
> request at another time.

The "Retry-After" response-header field may be helpful in this case:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.37 
[[
The Retry-After response-header field can be used with a 503 (Service
Unavailable) response to indicate how long the service is expected to be
unavailable to the requesting client.
]]

If the server is overloaded, it is unlikely to know how long it will be
overloaded, but it could still use this header to indicate that it does
expect to be available at *some* point, and take a guess at when it will
be, based on its past availability.  For example, as a simple heuristic,
if the server has been overloaded for the past n seconds, then it might
return a Retry-After header of n seconds.


-- 
David Booth, Ph.D.
http://dbooth.org/

Opinions expressed herein are those of the author and do not necessarily
reflect those of his employer.

Received on Wednesday, 27 April 2011 14:03:31 UTC