Lionel Bouton wrote:
> Shea Martin wrote the following on 02.08.2007 17:24 :
>> I would like to open a webpage, only if the page is newer than what I 
>> already have.
>>
>> It looks like I have to get the whole page to get the last_modified 
>> value.  I can't see anyway else to get the value, say off of the 
>> Net::HTTP::HEAD.
>>
>> I was hoping to save some bandwidth, am I SOL?
>>
>> ~S
>>
> 
> You don't use the last_modified value like that. You make a simple GET 
> but you pass headers to tell the server that you only want the whole 
> page if the content has been modified.
> 
> So you'll have to
> 1/ store the 'last-modified' and 'etag' headers in the response (when it 
> has been modified, on first fetch or when the server is updated to put 
> them in the response).
> 2/ put them in the headers of your get request when you have them, like 
> that:
> 
> headers = {}
> headers["If-Modified-Since"] = last_modified if last_modified
> headers["If-None-Match"] = etag if etag
> 
> 3/ check that response.is_a?(Net::HTTPNotModified)

Just read what 'etag' is.  Do I actually need mtime, if I have etag?

Thanks,

~S