mod_headers.html revision 001cdf70fee828478c1d93d16f9aef6d6ddfef5c
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<HTML>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<HEAD>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<TITLE>Apache module mod_headers</TITLE>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen</HEAD>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<BODY
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen BGCOLOR="#FFFFFF"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen TEXT="#000000"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen LINK="#0000FF"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen VLINK="#000080"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen ALINK="#FF0000"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<!--#include virtual="header.html" -->
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<H1 ALIGN="CENTER">Module mod_headers</H1>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie BowenThe optional headers module allows for the customization of HTTP
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowenresponse headers. Headers can be merged, replaced or removed. The
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowendirectives described in this document are only available if Apache is
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowencompiled with <STRONG>mod_headers.c</STRONG>.
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<HR>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<H2>Directive</H2>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<UL>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<LI><A HREF="#header">Header</A>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen</UL>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<HR>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<H2><A NAME="header">Header</A></H2>
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen<A
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen HREF="directive-dict.html#Syntax"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen REL="Help"
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen><STRONG>Syntax:</STRONG></A> Header [ set | append | add ]
5c124de5c36bfc236d55578429df5f048f0d0a07Jamie Bowen <EM>header</EM> <EM>value</EM><BR>
<A
HREF="directive-dict.html#Syntax"
REL="Help"
><STRONG>Syntax:</STRONG></A> Header unset <EM>header</EM><BR>
<A
HREF="directive-dict.html#Context"
REL="Help"
><STRONG>Context:</STRONG></A> server config, virtual host, access.conf,
.htaccess<BR>
<A
HREF="directive-dict.html#Override"
REL="Help"
><STRONG>Override:</STRONG></A> FileInfo<BR>
<A
HREF="directive-dict.html#Status"
REL="Help"
><STRONG>Status:</STRONG></A> optional<BR>
<A
HREF="directive-dict.html#Module"
REL="Help"
><STRONG>Module:</STRONG></A> mod_header<P>
This directive can replace, merge or remove HTTP response headers. The
action it performs is determined by the first argument. This can be one
of the following values:
<UL>
<LI><STRONG>set</STRONG><BR>
The response header is set, replacing any previous header with this name
<LI><STRONG>append</STRONG><BR>
The response header is appended to any existing header of the same
name. When a new value is merged onto an existing header it is
separated from the existing header with a comma. This is the HTTP standard
way of giving a header multiple values.
<LI><STRONG>add</STRONG><BR>
The response header is added to the existing set of headers, even if
this header already exists. This can result in two (or more) headers
having the same name. This can lead to unforeseen consequences, and in
general "append" should be used instead.
<LI><STRONG>unset</STRONG><BR>
The response header of this name is removed, if it exists. If there are
multiple headers of the same name, all will be removed.
</UL>
This argument is followed by a header name, which can include the
final colon, but it is not required. Case is ignored. For
add, append and set a value is given as the third argument. If this
value contains spaces, it should be surrounded by double quotes.
For unset, no value should be given.
<H3>Order of Processing</H3>
The Header directive can occur almost anywhere within the server
configuration. It is valid in the main server config and virtual host
sections, inside &lt;Directory&gt;, &lt;Location&gt; and &lt;Files&gt;
sections, and within .htaccess files.
<P>
The Header directives are processed in the following order:
<OL>
<LI>main server
<LI>virtual host
<LI>&lt;Directory&gt; sections and .htaccess
<LI>&lt;Location&gt;
<LI>&lt;Files&gt;
</OL>
Order is important. These two headers have a different effect if reversed:
<PRE>
Header append Author "John P. Doe"
Header unset Author
</PRE>
This way round, the Author header is not set. If reversed, the Author
header is set to "John P. Doe".
<P>
The Header directives are processed just before the response is sent
by its handler. These means that some headers that are added just
before the response is sent cannot be unset or overridden. This
includes headers such as "Date" and "Server".
<P>
<!--#include virtual="footer.html" -->
</BODY>
</HTML>