You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
lighttpd1.4/src
fbrosson 6982b1930e [mod_ssi] config ssi.conditional-requests
Summary:
A new SSI directive, "ssi.conditional-requests", allows to inform
lighttpd which SSI pages should be considered as cacheable and which
should not. In particular, the "ETag" & "Last-Modified" headers will
only be sent for those SSI pages for which the directive is enabled.

Long description:
"ETag" and "Last-Modified" headers were being sent for all SSI pages,
regardless of whether they were cacheable or not. And yet, there was
no cache validation at all for any SSI page.
This commit fixes these two minor issues by adding a new directive,
"ssi.conditional-requests", which allows to specify which SSI pages
are cacheable and which are not, and by adding cache validation to
those SSI pages which are cacheable. And since sending ETags for
non-cacheable documents is not appropriate, they are no longuer
computed nor sent for those SSI pages which are not cacheable.
Regarding the "Last-Modified" header for non-cacheable documents,
the standards allow to either send the current date and time for
that header or to simply skip it. The approach chosen is to not send
it for non-cacheable SSI pages. "ETag" and "Last-Modified" headers
are therefore only sent for an SSI page if ssi.conditional-requests
is enabled for that page.

The ssi.conditional-requests directive can be enabled or disabled
globally and/or in any context. It is disabled by default.

An index.shtml which only includes deterministic SSI commands such as:
<!--#echo var="LAST_MODIFIED"-->
is a trivial example of a dynamic SSI page that is cacheable.
7 years ago
..
CMakeLists.txt [unittests] add test_buffer and test_base64 unit tests 7 years ago
Makefile.am [unittests] add test_buffer and test_base64 unit tests 7 years ago
SConscript [core] add generic vector implementation 7 years ago
array.c [core] replace array weakref with vector 7 years ago
array.h [core] replace array weakref with vector 7 years ago
base.h [stat] mimetype.xattr-name global config option (fixes #2631) 7 years ago
base64.c [base64] fix another crash due to broken force_assert conditions 7 years ago
base64.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
buffer.c use li_[iu]tostrn() instead of li_[iu]tostr() 7 years ago
buffer.h use li_[iu]tostrn() instead of li_[iu]tostr() 7 years ago
chunk.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
chunk.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
config.h.cmake use libmemcached instead of deprecated libmemcache 7 years ago
configfile-glue.c [core] replace array weakref with vector 7 years ago
configfile.c [stat] mimetype.xattr-name global config option (fixes #2631) 7 years ago
configfile.h [core] replace array weakref with vector 7 years ago
configparser.y [configparser] fix small leak on config failure 7 years ago
connections-glue.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
connections.c [mod_expire] reset caching response headers for error docs (fixes #1919) 7 years ago
connections.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
crc32.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
crc32.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
data_array.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
data_config.c [core] replace array weakref with vector 7 years ago
data_count.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
data_fastcgi.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
data_integer.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
data_string.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
etag.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
etag.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fastcgi.h - white space cleanup part 2 this time 1.4 ;) 17 years ago
fdevent.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_freebsd_kqueue.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_libev.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_linux_sysepoll.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_poll.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_select.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_solaris_devpoll.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
fdevent_solaris_port.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
first.h [core] define __STDC_WANT_LIB_EXT1__ (fixes #2722) 7 years ago
http-header-glue.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
http_auth.c use li_[iu]tostrn() instead of li_[iu]tostr() 7 years ago
http_auth.h pass buf size to li_tohex() 7 years ago
http_chunk.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
http_chunk.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
inet_ntop_cache.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
inet_ntop_cache.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
joblist.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
joblist.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
keyvalue.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
keyvalue.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
lemon.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
lempar.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
lighttpd-angel.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
log.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
log.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
md5.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
md5.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_access.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_accesslog.c [core] lighttpd -tt performs preflight startup checks (fixes #411) 7 years ago
mod_alias.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_auth.c [mod_auth] send charset="UTF-8" in WWW-Authenticate (fixes #1468) 7 years ago
mod_auth.h moved everything below trunk/ and added branches/ and tags/ 18 years ago
mod_cgi.c [mod_cgi] always set QUERY_STRING (fixes #1339) 7 years ago
mod_cml.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_cml.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_cml_funcs.c pass buf size to li_tohex() 7 years ago
mod_cml_funcs.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_cml_lua.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_compress.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_dirlisting.c [mod_dirlisting] class for dir <tr> (fixes #2304) 7 years ago
mod_evasive.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_evhost.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_expire.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_extforward.c [mod_extforward] reset cond_cache for scheme (fixes #1499) 7 years ago
mod_fastcgi.c skip spawning backends for preflight tests (#2642) 7 years ago
mod_flv_streaming.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_indexfile.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_magnet.c [mod_magnet] rename var for clarity (fixes #1483) 7 years ago
mod_magnet_cache.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_magnet_cache.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_mysql_vhost.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_proxy.c [mod_proxy] accept LF delimited headers, not just CRLF (fixes #2594) 7 years ago
mod_redirect.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_rewrite.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_rrdtool.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_scgi.c skip spawning backends for preflight tests (#2642) 7 years ago
mod_secdownload.c pass buf size to li_tohex() 7 years ago
mod_setenv.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_simple_vhost.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_skeleton.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_ssi.c [mod_ssi] config ssi.conditional-requests 7 years ago
mod_ssi.h [mod_ssi] config ssi.conditional-requests 7 years ago
mod_ssi_expr.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_ssi_expr.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_ssi_exprparser.y consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_staticfile.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_status.c [mod_status] table w/ count of con states (fixes #2427) 7 years ago
mod_trigger_b4_dl.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_uploadprogress.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_userdir.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
mod_usertrack.c use li_[iu]tostrn() instead of li_[iu]tostr() 7 years ago
mod_webdav.c [mod_webdav] readdir POSIX compat (fixes #1826) 7 years ago
network.c [core] lighttpd -tt performs preflight startup checks (fixes #411) 7 years ago
network.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_backends.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_darwin_sendfile.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_freebsd_sendfile.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_linux_sendfile.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_openssl.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_solaris_sendfilev.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_write.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_write_mmap.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_write_no_mmap.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
network_writev.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
plugin.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
plugin.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
proc_open.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
proc_open.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
request.c [core] respond 411 Length Required if request has Transfer-Encoding: chunked (fixes #631) 7 years ago
request.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
response.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
response.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
safe_memclear.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
safe_memclear.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
server.c [core] setrlimit max-fds <= rlim_max for non-root (fixes #2723) 7 years ago
server.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
settings.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
splaytree.c Fix header inclusion order, always include "config.h" before any system header 14 years ago
splaytree.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
stat_cache.c [stat] mimetype.xattr-name global config option (fixes #2631) 7 years ago
stat_cache.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
status_counter.c consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
status_counter.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
stream.c [stream] fstat() after open() to obtain file size 7 years ago
stream.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
sys-mmap.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
sys-socket.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago
test_base64.c [unittests] add test_buffer and test_base64 unit tests 7 years ago
test_buffer.c [unittests] add test_buffer and test_base64 unit tests 7 years ago
vector.c [core] add generic vector implementation 7 years ago
vector.h [core] add generic vector implementation 7 years ago
version.h consistent inclusion of config.h at top of files (fixes #2073) 7 years ago