<-
Apache > HTTP Server > �ĵ� > �汾2.2 > ģ��
���� ��л | �������� | ��ƪ���ߣ��𲽹� | ��ҳ�����£�2006��1��25�� | ��ȡ���°汾

Apacheģ�� mod_headers

˵������ͨ�������ļ����������HTTP�����Ӧ��ͷ��Ϣ
״̬��չ(E)
ģ����headers_module
Դ�ļ�mod_headers.c
������RequestHeader���� Apache 2.0 ����Ч

����

���ģ���ṩ��һЩָ�����ڿ��ƺ��޸�HTTP����ͷ��Ӧ��ͷ����Щͷ���Ա��ϲ����滻��ɾ����

top

����˳��

��mod_headers�ṩ��ָ������Գ����������ļ����κβ��֡������Է�װ�����ö��������������÷�Χ��

ָ��Ĵ���˳�����Ҫ����ȡ����ָ����������ļ��е�λ�ú��������ö��������ļ��е�λ�á������ָ������ߵ�һ��˳�򽫻ᵼ����ȫ��ͬ�Ľ����

RequestHeader append MirrorID "mirror 12"
RequestHeader unset MirrorID

��ǰ˳���£�MirrorIDͷ���ᱻ���á����ߵ�һ��˳��MirrorIDͷ������Ϊ"mirror 12"��

top

ǰ����ͺ���

mod_headers����Ӧ�������󱻴���֮ǰ��֮��ͨ����ģʽ��"����"��Ҳ���������������֮�󡢷���Ӧ��֮ǰ����Ӧ��ͷ��[ԭ�ģ�when Request Headers are set immediately before running the content generator and Response Headers just as the response is sent down the wire.]��ʵ�ʹ����ķ�������Ӧ��ʼ��ʹ��"����"ģʽ��

"ǰ����"ģʽӦ��������Ϊ������ʹ�õ�һ�ֲ���/���Ը������ߡ�������ָ����ʹ��early�ؼ�������"ǰ����"ģʽ����ʱ���ڴ�������֮ǰ��������ͷ�������Ϳ���ģ����ֲ�ͬ��������Э�����ԡ�

����"ǰ����"ģʽ��ָ���ڽ�URLӳ�䵽�ļ�ϵͳ֮ǰ����Ч�ˣ������������������·��������"ǰ����"ģʽ��ָ��ֻ���������������������������ֵ������У�����������<Directory>��<Location>���ö��С�

top

ʾ��

  1. ��������"TS"��ͷ������ͷ���Ƶ�Ӧ��ͷ�У�

    Header echo ^TS

  2. ��Ӧ�������һ��MyHeaderͷ����������˽��ܵ������ʱ����;�������ʱ���Ժ����ɶԸ�����Ĵ�������Ӧ�����ͷ�����ÿͻ���֪��ƿ��λ�ڷ���˻���λ�ڷ���˺Ϳͻ���֮�����·��

    Header add MyHeader "%D %t"

    ��������ý����������Ӧ��ͷ���ݣ�

    MyHeader: D=3775428 t=991424704447256

  3. ��Joe�ʺ�(Hello)��

    Header add MyHeader "Hello Joe. It took %D microseconds \
    for Apache to serve this request."

    ��������ý����������Ӧ��ͷ���ݣ�

    MyHeader: Hello Joe. It took D=3775428 microseconds for Apache to serve this request.

  4. ���ҽ���"MyRequestHeader"����������ͷ�е�ʱ�����Ӧ���з���"MyHeader"ͷ������Ը����ض��Ŀͻ��˹����ض���Ӧ��ͷ�����á�ע�⣬�����������Ҫmod_setenvifģ���֧�֡�

    SetEnvIf MyRequestHeader value HAVE_MyRequestHeader
    Header add MyHeader "%D %t mytext" env=HAVE_MyRequestHeader

    ��������г���"MyRequestHeader: value"ͷ��Ӧ���н�����������ͷ��

    MyHeader: D=3775428 t=991424704447256 mytext

top

Header ָ��

˵������HTTPӦ��ͷ
�﷨Header [condition] set|append|add|unset|echo header [value] [early|env=[!]variable]
������server config, virtual host, directory, .htaccess
������FileInfo
״̬��չ(E)
ģ��mod_headers

���ָ������滻���ϲ���ɾ��HTTPӦ��ͷ��Ӧ��ͷ���������ݴ�����������������깤֮�����ɣ���ʱ����ܶ�ͷ�����޸ġ�

conditionѡ�������onsuccess��always ���������˽����ĸ��ڲ�ͷ(internal header)����в�����onsuccess��ʾ"2xx"״̬�룬always��ʾ����״̬��(����"2xx")���ر�أ�������볷����ij��ģ�����õ�ͷ����Ӧ���������飬���ҵ����Ǹ��������Ӱ�졣

��ָ��ִ�еĶ������ɵڶ������������ġ��������ȡֵ��Χ���£�

set
�����µĻ��޸��Ѿ����ڵ�ͬ��Ӧ��ͷ��value������һ����ʽ�ַ�����
append
��ͬ��Ӧ��ͷ��������ݶ����޸�ԭ���Ѿ����ڵľ����ݡ�����һ���Ѿ����ڵ�ͷ�����ֵʱ�����ö�����ԭ���Ѿ����ڵľ�ֵ�ֿ���������HTTPͷ���Զ��ֵ�ı�׼������
add
��Ӧ��������µ�ͷ�����޸�ԭ���Ѿ����ڵ�ͷ(��ʹͬ��)���⽫���ܵ���������������Ӧ��ͷ������ͬ�����֣��Ӷ��������벻���ĺ��������ͨ����ʹ�����ַ�������append����������
unset
ȥ��Ӧ����ͬ����ͷ(�����ڵĻ�)������ж��ͷͬ������ᱻȫ��ȥ����value���뱻ʡ�ԡ�
echo
��������ͬ����ͷ���Ƶ�Ӧ���С�header������һ��������ʽ��value���뱻ʡ�ԡ�

��������������Ҫ��һ��header����(��β��ð�ſ�Ҫ�ɲ�Ҫ)��set, append, add, unset�Ǵ�Сд�޹صġ�����echo��header�Ǵ�Сд���еģ����ҿ�����һ��������ʽ��

����add, append, set��˵��value�ǵ��������������value�����ո��������˫����(")��������value������һ����ͨ�ַ����������ʽ˵�������ַ�����value֧�����и�ʽ�ַ�����

��ʽ����
%%�ٷֺ�(%)
%t���յ������΢��ʱ���(�����1970-1-1 00:00:00 UCT)�����һ��"t="ǰ׺��
%D�ӽ��յ�������ɶԸ�����Ĵ�������Ӧ�𹲻����˶���΢�룬���һ��"D="ǰ׺��
%{FOOBAR}e��������FOOBAR������
%{FOOBAR}sSSL��������FOOBAR������(���������mod_ssl)

ע��

"%s"��ʽ������Apache 2.1���Ժ�İ汾�п��á������Դ���"%e"�Ա���"SSLOptions +StdEnvVars"�����Ķ��⿪���������Ϊ���ԭ����뿪��"SSLOptions +StdEnvVars"����ô"%e"����"%s"���Ӻ��ʡ�

Header������Ը�һ������ָ����Ч�����Ķ������(������early��ʾ"ǰ����")�������"env=..."������ָ����������������(����"env=!..."��ʾ������)����ôHeaderָ��ָ���Ķ���������Ч�����򽫲�����Ч��

����ʹ��earlyģʽ������Headerָ���Ӧ����󱻷��͵�����ǰ��������ζ�ſ������ú͸�д�������Ӧ��ͷ�������Լ���ӵ�Ӧ��ͷ��

top

RequestHeader ָ��

˵������HTTP����ͷ
�﷨RequestHeader set|append|add|unset header [value] [early|env=[!]variable]
������server config, virtual host, directory, .htaccess
������FileInfo
״̬��չ(E)
ģ��mod_headers
���������� Apache 2.0 ����Ч

���ָ������滻���ϲ���ɾ��HTTPӦ��ͷ������ͷ���������ݴ���������֮ǰ���޸ġ��޸ĵĶ����ɵ�һ��������������ȡֵ��Χ���£�

set
�����µĻ��޸��Ѿ����ڵ�ͬ������ͷ��
append
��ͬ������ͷ��������ݶ����޸�ԭ���Ѿ����ڵľ����ݡ�����һ���Ѿ����ڵ�ͷ�����ֵʱ�����ö�����ԭ���Ѿ����ڵľ�ֵ�ֿ���������HTTPͷ���Զ��ֵ�ı�׼������
add
������������µ�ͷ�����޸�ԭ���Ѿ����ڵ�ͷ(��ʹͬ��)���⽫���ܵ�������������������ͷ������ͬ�����֣��Ӷ��������벻���ĺ��������ͨ����ʹ�����ַ�������append����������
unset
ȥ��������ͬ����ͷ(�����ڵĻ�)������ж��ͷͬ������ᱻȫ��ȥ����value���뱻ʡ�ԡ�

��Щ�����������Ҫ��һ��header��(��β��ð�ſ�Ҫ�ɲ�Ҫ���Ҵ�Сд�޹�)������add, append, set��˵��value�ǵ��������������value�����ո��������˫����(")������������unset��˵����Ҫvalue������value������һ����ͨ�ַ����������ʽ˵�������ַ�������ʽ�ַ������÷���Headerָ��һ����

RequestHeader������Ը�һ������ָ����Ч�����Ķ������(������early��ʾ"ǰ����")�������"env=..."������ָ����������������(����"env=!..."��ʾ������)����ôRequestHeaderָ��ָ���Ķ���������Ч�����򽫲�����Ч��

����ʹ��earlyģʽ������RequestHeader�������󱻴���֮ǰ��Ч�����������������Apache�������������������ͷ�����Ա���ָ���