HTTP conditional GET

Igor Sysoev is at rambler-co.ru
Sat Aug 1 19:29:59 MSD 2009


On Sat, Aug 01, 2009 at 07:09:32PM +0530, Hendrik Hardeman wrote:

> 
> >From http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
>  
> "
> The semantics of the GET method change to a "conditional GET" if the request message includes an If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field. A conditional GET method requests that the entity be transferred only under the circumstances described by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network usage by allowing cached entities to be refreshed without requiring multiple requests or transferring data already held by the client.
> "
> >From Nginx Wiki (directive in HTTP Core):
> 
>  
> 
> "
> 
> if_modified_since 
> 
> syntax: if_modified_since [off|exact|before] 
> 
> default: if_modified_since exact 
> 
> context: http, server, location 
> 
> The directive (0.7.24) defines how to compare time of file modification and time in request header "If-Modified-Since": 
> 
> 
> off ? don't check "If-Modified-Since" request header (0.7.34); 
> exact ? exact match; 
> before ? file modification time should be less than time in "If-Modified-Since" request header. 
> "
> 
>  
> 
> Hope this helps to clarify what conditional GET is about.

Yes. However, if_modified_since directive works for static files only.

> > I have just test my website with bing's tools: http://www.microsoft.com/search/Tools/default.aspx
> > The test result is
> > 
> > 
> > 
> > HTTP compression and conditional GET results
> > 
> > URL: http://www.shijile.com
> > 
> > HTTP status code: 200 OK
> > 
> > HTTP conditional GET: not enabled for the date selected
> > HTTP compression enabled using gzip
> > 
> > HTTP headers:
> > 
> > Transfer-Encoding: chunked
> > Connection: keep-alive
> > Pragma: no-cache
> > Cache-Control: max-age=86400,private
> > Content-Type: text/html
> > Date: Sat, 01 Aug 2009 12:57:43 GMT
> > Expires: Sun, 02 Aug 2009 12:57:43 GMT
> > Set-Cookie: PHPSESSID=e86i00j7mn1f88jm6mqlogjqd6; path=/
> > Server: nginx/0.7.61
> > X-Powered-By: PHP/5.1.6
> > Content-Encoding: gzip
> > 
> > 
> > For more information
> > Find the information you need to enhance your website with HTTP compression and conditional GET:
> > Blog: Announcing Crawler Improvements for bing
> > Blog: Optimizing your very large site for search - Part 2
> > Webmaster Center
> > 
> > 
> > 
> > I am curious about this info: HTTP conditional GET not enabled. It is said that HTTP conditional GET will greatly improve the website performance.
> > I have searched Nginx wiki and this forum but get no result for this feature. Is there any setting equivalent to enable HTTP conditional GET? Or Nginx will implement it in the future?
> > 
> > Thanks
> > 
> > Posted at Nginx Forum: http://forum.nginx.org/read.php?2,4669,4669#msg-4669
> > 
> > 
> 
> 
> 
> _________________________________________________________________
> Log on to MSN India for a lowdown on what?s hot in the world today
> http://in.msn.com

-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list