On Tue, 22 May 2001, Graham Leggett wrote:
> (I'm reposting this, I think it fell through the cracks)
>
> [EMAIL PROTECTED] wrote:
>
> > > How about a new hook for adding AP_FTYPE_HTTP_HEADER filters?
> >
> > IMO, this should be fixed by adding the three filters above in a
> > core_insert_filter phase. Then, mod_headers can easily be run before the
> > core's insert_fitler phase. Problem solved.
>
> Trouble is - there is one last problem. mod_headers works great, but not
> on 304 Not Modified responses.
>
> The reason why is this bit of code in ap_http_header_filter():
>
> if (r->status == HTTP_NOT_MODIFIED) {
> apr_table_do((int (*)(void *, const char *, const char *))
> form_header_field,
> (void *) &h, r->headers_out,
> "Connection",
> "Keep-Alive",
> "ETag",
> "Content-Location",
> "Expires",
> "Cache-Control",
> "Vary",
> "Warning",
> "WWW-Authenticate",
> "Proxy-Authenticate",
> NULL);
> }
> else {
> apr_table_do((int (*) (void *, const char *, const char *))
> form_header_field,
> (void *) &h, r->headers_out, NULL);
> }
>
> It seems that only certain headers are sent on these responses, all
> others are stripped. Is this a requirement of HTTP? Can anyone explain
> why this is like this?
section 10.3.5 of RFC 2068 spells out exactly which heads SHOULD and
SHOULD NOT, and MUST and MUST not be a part of a 304 response. It is very
clear about some headers. Which header values are you not seeing that you
want to see?
Ryan
_______________________________________________________________________________
Ryan Bloom [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------