Revisiting Retry-After w/ 202

I know this has come up on this list in the past[1] but I was unable to find any
clear resolution in the archives.

I have cases where the server will queue up the client's request
(POST/PUT/DELETE) and/or start a long-running task. I some cases I
need the response to indicate to clients that they can check the
status/results of the processing within a certain interval (ala HTML
"meta refresh").

I know that 202 responses SHOULD contain indications of status, a
monitor location and/or time estimates. However I want to  indicate
the same data w/o requiring bots to "find" the information w/in the
message body; a media-type agnostic solution.

As a temporary solution, when returning a 202 response, I include a
Retry-After header and a Location header. Clients can activate the
Location URI after the Retry interval expires. If the work is still in
process, the response is (again) a 202 w/ the same control data. At
some point the server will return a 200 (or possibly some 4xx/5xx code
as appropriate).

Is there a more appropriate solution?
- Using 302 instead of 202? Even in the first response to the POST/PUT/DELETE?
- Using Cache-Control:max-age instead of Retry-After?

Finally, is it considered harmful to use Retry-After and/or Location
headers w/ a 202 response?



Received on Thursday, 3 June 2010 05:54:15 UTC