Hello,

I think the client can stil send a conditional request according to its 
knowledge of the remote representation (its expiration time). If the 
server estimates that the representation needs to be refreshed, then it 
sends its back to the client. Otherwise, a 304 response is sent.

best regards,
Thierry Boileau

> I have written a Restlet Web Service and a (Restlet) Client and my own Cache 
> solution on the client. The server is very simple, only example code from 
> restlet.org
>
> My client does a GET for a resource, the server sends back a Representation 
> and the "Expires" Header is set. My client use the Representation from the 
> Cache for a specific time because of the "Expires" Header. Fine :)
>
> Later (after the Expires Timestamp) the client does a Conditional GET for the 
> resource in order to see if the resource was changed. I see in Wireshark the 
> "If-Modified-Since" header. Fine :)
>
> I can set the status on the server to Status.REDIRECTION_NOT_MODIFIED (304) 
> for the response. I do not have to send back the respresentation. I say only, 
> that it is valid. Fine :)
>
> But now the client doesn't know how long he can use his representation.
>
> After a Conditional GET i want to say the client, that his representation 
> should be used for a specific time again, because it is valid. The Client 
> should use the representation from his cache for a specific time and after 
> that he should do a Conditional GET again. This is why i want to set the 
> Expires Header after a Conditional GET.
>
> I could not set the Expires Header on the server, because this is only 
> possible if i use a Representation for the Response. (If i want to send back 
> a representation with REDIRECTION_NOT_MODIFIED, the Expires Header is not set 
> in the restlet server (i see it in Wireshark), but it works if i do a 
> "normal" GET.
>
> I tried to set the header via getAttributes() but after that a warning 
> appeared, that i have to set the "Expires" Header via the restlet method 
> (setExpirationDate()).
> I can set my own Header "ExpiresWorkaround" and it works, but i can not set 
> the "Expires" Header.
>
> What should i do?
> (or is it wrong to set the Expires Header after a conditional GET, but then 
> what should i do to get the above behaviour?)
>
> Thank you very much.
>
> ------------------------------------------------------
> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2423065
>
>

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2423251

Reply via email to