Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm using nginx + passenger. I'm trying to understand the nginx response 200 and 304. What does this both means? Sometimes, it responses back in 304 and others only 200. Reading the YUI blog, it seems browser needs the header "Last-Modified" to verify with the server. I'm wondering why the browser need to verify the last modified date. Here is my nginx configuration:

location / {
    root /var/www/placexpert/public;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    rack_env development;
    passenger_use_global_queue on;

    if ($request_filename ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf)$) {
        expires max;

How would I add the header "Last-Modified" to the static files? Which value should I set?

share|improve this question

HTTP 200 code means that the document/request has been found and served/completed successfully (as opposed to 302 (found) or 404 where the document was not found).

HTTP 304 means that the data was not modified, therefore the cached version on your machine has been used to save downloading it from the server again. This is usually static files when using nginx and seems to be the case in your example due to this section of the config:

if ($request_filename ~* ^.+\.(jpg|jpeg|gif|png|ico|css|js|swf)$) {
    expires max;

You have set an expire time of max on those sort of filetypes, so it will not redownload them.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.