RE: Strange "expires" header

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> I have discovered, that an Apache 2.2.3 server sets an 
> "Expires" header on our static content.
>
> I suppose Apache won't set the header in a "clean" install, 
> but which other module could cause this header?

from modules\http\http_filters.c, line 1008:

    /*
     * Control cachability for non-cachable responses if not already set by
     * some other part of the server configuration.
     */
    if (r->no_cache && !apr_table_get(r->headers_out, "Expires")) {
        char *date = apr_palloc(r->pool, APR_RFC822_DATE_LEN);
        ap_recent_rfc822_date(date, r->request_time);
        apr_table_addn(r->headers_out, "Expires", date);


> And how can I avoid it?

from modules\mappers\mod_negotiation.c, line 2929:

    /* XXX: Note that we only set r->no_cache to 1, which causes
     * Expires: <now> to be added, when responding to a HTTP/1.0
     * client.  If we return the response to a 1.1 client, we do not
     * add Expires <now>, because doing so would degrade 1.1 cache
     * performance by preventing re-use of the response without prior
     * revalidation.  On the other hand, if the 1.1 client is a proxy
     * which was itself contacted by a 1.0 client, or a proxy cache
     * which can be contacted later by 1.0 clients, then we currently
     * rely on this 1.1 proxy to add the Expires: <now> when it
     * forwards the response.
     *

    if ((!do_cache_negotiated_docs(r->server)
         && (r->proto_num < HTTP_VERSION(1,1)))
         && neg->count_multiviews_variants != 1) {
        r->no_cache = 1;
    }


So apparently, when httpd sends negotiated content to an HTTP/1.0 client, it
adds the Expires header.

Does this apply to your situation?

I just tried "curl -I http://news.dds.dk/uploads/pics/broenonline.gif"; and
this is what I got:

HTTP/1.1 200 OK
Date: Fri, 08 Jun 2007 23:01:45 GMT
Server: Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_jk/1.2.18
mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch1 mod_ssl/2
.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8
Last-Modified: Wed, 05 May 2004 12:01:50 GMT
ETag: "47461f-a32-3102c780"
Accept-Ranges: bytes
Content-Length: 2610
Content-Type: image/gif

Note, HTTP/1.1 request and no Expires header.

Allen


---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
   "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux