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

Apacheģ�� mod_deflate

˵��ѹ�����͸��ͻ��˵�����
״̬��չ(E)
ģ����deflate_module
Դ�ļ�mod_deflate.c

����

mod_deflateģ���ṩ��DEFLATE���������������������ڽ�������ݷ��͵��ͻ�����ǰ����ѹ�����Խ�Լ����

top

���þ���

����һ������ļ��ߵ�ʾ�����ã�

����ѹ��������������

AddOutputFilterByType DEFLATE text/html text/plain text/xml

��������ѹ���������ݵ����ø��Ӹ��ӡ��������������е�����ϸ�ڣ������벻Ҫʹ�á�

Compress everything except images

<Location />
# ���������
SetOutputFilter DEFLATE

# Netscape 4.x ��һЩ����...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 ��������
BrowserMatch ^Mozilla/4\.0[678] no-gzip

# MSIE ��αװ�� Netscape ��������ʵ����û������
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# ��ѹ��ͼƬ
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary

# ȷ�������ᷢ�ʹ��������
Header append Vary User-Agent env=!dont-vary
</Location>

top

����ѹ��

���ѹ��

ѹ������DEFLATE������ʵ�ֵġ������ָ���������������е��ĵ�����ѹ����

SetOutputFilter DEFLATE

һЩ���е������������ȷ��������ѹ�����ݣ�����������Ҫ��gzip-only-text/html�����Ϊ"1"����������ѹ��html�ļ�(������)�������������"1"������κ�ֵ�����������ԡ�

������뽫ѹ�������ڼ����ض���MIME�����ϣ�����ʹ��AddOutputFilterByTypeָ���������ӽ��������html�ĵ�����ѹ����

<Directory "/your-server-root/manual">
AddOutputFilterByType DEFLATE text/html
</Directory>

������Щ������ȷ��������ѹ�����ݵ������������ʹ��BrowserMatchָ������ض������������no-gzip�����ȡ��ѹ����Ϊ��ȡ�ø��õ�Ч��������Խ�no-gzip��gzip-only-text/html���ʹ�á�����������£���������ý��Ḳ����������á�����������ʾ����ժ¼��Ƭ�ϣ�

BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

��һ��ָ���ʾ���User-Agent�ַ�����ʾ����һ��Navigator 4.x������������������������ȷ�����text/html֮����������͡���4.06, 4.07, 4.08���Navigator��ȫ���ܴ����κ�ѹ�����ݣ���˵ڶ���ָ�����Щ�������ȫ����ѹ����

������BrowserMatchָ��������������������������Ʋ⣬��Ϊ΢���IEҲ�����Լ���ʶ��"Mozilla/4"������ʵ�����ܹ��������е�ѹ�����ݡ��������User-Agentͷ�ж���ƥ�����ַ���"MSIE"("\b"��ʾ"���ʱ߽�")������ȡ����ǰ������ơ�

ע��

DEFLATE������������������PHP��SSI֮�����Դ������֮����룬����Զ���ᴥ�����ڲ�����

ע��

ͨ��SetEnv����force-gzip����������������������"accept-encoding"��ʼ�շ��;���ѹ�������ݡ�

�����ѹ

mod_deflateģ�黹�ṩ��һ����ѹgzip��ʽ��Ӧ����Ĺ��ܡ�Ϊ�˼���������������ʹ��SetOutputFilter��AddOutputFilterָ�INFLATE���������뵽�������������

<Location /dav-area>
ProxyPass http://example.com/
SetOutputFilter INFLATE
</Location>

������ӽ����ѹ����example.com����������������������Ϳ�������һ���Ĵ����ˡ�

�����ѹ

mod_deflateģ�黹�ṩ��һ����ѹgzip��ʽ��������Ĺ��ܡ�Ϊ�˼���������������ʹ��SetInputFilter��AddInputFilterָ�DEFLATE���������뵽����������������磺

<Location /dav-area>
SetInputFilter DEFLATE
</Location>

�������������"Content-Encoding: gzip"ͷ�������彫�ᱻ�Զ���ѹ�������������ѹ�������塣Ȼ����Щ�����ȷ��ô���ˣ�����һЩWebDAV�ͻ��˳���

ע�� Content-Length

������Լ����������壬��ע��Content-Lengthͷ������ʾ�ͻ�����������ݳ��ȣ���������ѹ���ʵ�����ݳ��ȡ�

top

���������

mod_deflateģ�鷢��һ��"Vary: Accept-Encoding"HTTPӦ��ͷ�����Ѵ����������ֻ�Է�������ȷ"Accept-Encoding"ͷ�Ŀͻ��˷��ͻ����Ӧ���������Է�ֹ������ȷ����ѹ�����ݵ���������ܵ�����ѹ�������ݡ�

����㰴��ijЩ����������ܾ���ijЩ�ͻ��˵ķ���(����User-Agentͷ)��������ֶ�����һ�������Varyͷ���Ѵ������������������ơ����磬��һ�����͵������е�ij������������DEFLATE�������Ƿ���Чȡ����User-Agentͷ����Ӧ���ڴ˴���ӣ�

Header append Vary User-Agent

������ճ�����ͷ������������������Ƿ�ʹ��ѹ��(���磺HTTP�汾)�����������Varyͷ��ֵΪ"*"����ȫ��ֹ����������Ļ��档

ʾ��

Header set Vary *

top

DeflateBufferSize ָ��

˵������zlibһ��ѹ����Ƭ�ϴ�С(�ֽ�)
�﷨DeflateBufferSize value
Ĭ��ֵDeflateBufferSize 8096
������server config, virtual host
״̬��չ(E)
ģ��mod_deflate

DeflateBufferSizeָ�����zlibһ��ѹ����Ƭ�ϵ��ֽ�����

top

DeflateCompressionLevel ָ��

˵�����������ѹ���ij̶�
�﷨DeflateCompressionLevel value
Ĭ��ֵZlib��Ĭ��ֵ
������server config, virtual host
״̬��չ(E)
ģ��mod_deflate
���������� Apache 2.0.45 ���Ժ�İ汾�п���

DeflateCompressionLevelָ������ѹ���̶ȣ�Խ�ߵ�ѹ���̶Ⱦͻ���Խ�õ�ѹ��Ч����ͬʱҲ��ζ��ռ��Խ���CPU��Դ��

ȡֵ��Χ�� 1(���ѹ����) �� 9(���ѹ����)֮�䡣

top

DeflateFilterNote ָ��

˵������־�з���ѹ���ʱ��
�﷨DeflateFilterNote [type] notename
������server config, virtual host
״̬��չ(E)
ģ��mod_deflate
������type����2.0.45�Ժ�汾�п���

DeflateFilterNoteָ��ָ����һ��ָʾѹ���ʵı�Ǹ���������֮��notename�ͱ�ʾ�����ǵ����֡������Ϊ��ij��ͳ��Ŀ�Ľ������ǵ�������ӵ�������־�С�

ʾ��

DeflateFilterNote ratio

LogFormat '"%r" %b (%{ratio}n) "%{User-agent}i"' deflate
CustomLog logs/deflate_log deflate

����������־�еõ����ྫȷ�����ݣ�����ʹ��type����ָ��notename�������¼���������͡�type��ȡֵ��Χ���£�

Input
�ڱ���д洢���������������ֽ�����
Output
�ڱ���д洢��������������ֽ�����
Ratio
�ڱ���д洢��������ѹ����(���/����*100)������type��Ĭ��ֵ��

���ǣ��Ϳ���������¼��

Accurate Logging

DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio

LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate
CustomLog logs/deflate_log deflate

�μ�

top

DeflateMemLevel ָ��

˵��zlib��ѹ��ʱ������ʹ�ö����ڴ�
�﷨DeflateMemLevel value
Ĭ��ֵDeflateMemLevel 9
������server config, virtual host
״̬��չ(E)
ģ��mod_deflate

DeflateMemLevelָ��ָ��zlib��ѹ��ʱ������ʹ�ö����ڴ�(ȡֵ��Χ��1��9֮��)��

top

DeflateWindowSize ָ��

˵��Zlibѹ������(compression window)�Ĵ�С
�﷨DeflateWindowSize value
Ĭ��ֵDeflateWindowSize 15
������server config, virtual host
״̬��չ(E)
ģ��mod_deflate

DeflateWindowSizeָ���趨zlibѹ������(compression window)�Ĵ�С(ȡֵ��Χ��1��15֮��)��ͨ������Խ��ѹ��Ч��Խ�á�