Project

General

Profile

Actions

Bug #2473

closed

If-Modified-Since and symbolic links

Added by eworm about 11 years ago. Updated over 10 years ago.

Status:
Invalid
Priority:
Normal
Category:
-
Target version:
-
ASK QUESTIONS IN Forums:

Description

Downloading a symlinked file makes lighttpd always deliver the file.

% curl -I --header 'If-Modified-Since: Tue, 12 Feb 2013 16:35:11 GMT' http://dl.mylinuxtime.de/arch/eworm/x86_64/eworm.db | head -n1
HTTP/1.1 200 OK

However using the URL pointing to the real file makes lighttpd return a "Not Modified".

eworm@leda ~ % curl -I --header 'If-Modified-Since: Tue, 12 Feb 2013 16:35:11 GMT' http://dl.mylinuxtime.de/arch/eworm/x86_64/eworm.db.tar.gz | head -n1
HTTP/1.1 304 Not Modified

I would expect lighttpd to check against the real file and return "Not Modified" in both cases.

Actions #1

Updated by darix about 11 years ago

the symlink is a totally valid file system entry by itself.

touch --no-dereference --reference=ewormdb.tar.gz eworm.db

Actions #2

Updated by stbuehler about 11 years ago

hm, changing the link (and have it point somewhere else) could be something you want to see in "Last-Modified"; otoh there are many operations (renaming directories, changing directory symlinks) that change which file you get but won't change Last-Modified (and i don't think this can get fixed in a sane way).

I think the more important question is what we use for creating the ETag - this really should use the referenced file.

Actions #3

Updated by stbuehler almost 11 years ago

  • Target version changed from 1.4.x to 1.4.33
Actions #4

Updated by stbuehler over 10 years ago

  • Status changed from New to Invalid
  • Target version deleted (1.4.33)

Couldn't reproduce. You probably didn't assign a mimetype for eworm.db, and without mimetype lighttpd doesn't allow any caching (no etag and so on).

Actions

Also available in: Atom