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

Apacheģ�� mod_mime_magic

˵��ͨ����ȡ�����ļ������Զ��²��ļ���MIME����
״̬��չ(E)
ģ����mime_magic_module
Դ�ļ�mod_mime_magic.c

����

��ģ���ȡUnixϵͳ��file(1)������ͬ�ķ���������ļ���ʼ�ļ����ֽڣ����ж��ļ���MIME������������Ϊ��mod_mime�޷�����ʱ�����������"�ڶ�������"��

��ģ��Դ����Unixϵͳ����file(1)��һ�����ɰ汾����ͨ���������ļ�������ʹ��"Magic����"������һЩ�������ж�����ļ��ľ���������ʲô����ģ��ֻ�е�"Magic�ļ�"��MimeMagicFileָ����ָ��ʱ����Ч��

top

"Magic�ļ�"�ĸ�ʽ

Magic�ļ�����������4-5�еĴ��ı���ɵġ��ļ�������������У����ᱻ���ԡ�ע����ʹ�þ���(#)��������ʣ����а������б��ֽ⣺

������
1��ʼ������ʼ�ֽڣ�">"��ʾ����ǰ��ķ�">"�С�
2

ƥ�����������

byte�����ַ�
short�����ֽ�˳���16λ����
long�����ֽ�˳���32λ����
string���ⳤ�ȵ��ַ���
date�����͵�����(��UNIX��Ԫ/1970����������)
beshortbig-endian 16���
belongbig-endian 32���
bedatebig-endian 32�������
leshortlittle-endian 16���
lelonglittle-endian 32���
ledatelittle-endian 32�������
3ƥ�����������
4���ƥ���ļ���MIME����
5���ƥ���ļ���MIME���뷽ʽ(��ѡ)

���磬�����Magic�ļ��п����ϳ�һЩ��Ƶ��ʽ��

# Sun/NeXT audio data
0      string      .snd
>12    belong      1       audio/basic
>12    belong      2       audio/basic
>12    belong      3       audio/basic
>12    belong      4       audio/basic
>12    belong      5       audio/basic
>12    belong      6       audio/basic
>12    belong      7       audio/basic
>12    belong     23       audio/x-adpcm

���������ʾ���������ִ�*.doc��չ�����ļ�������Microsoft Word�ĵ�����Frame Maker�ĵ�(��������ͬ��׺�����������ļ���ʽ)��

# Frame
0  string  \<MakerFile        application/x-frame
0  string  \<MIFFile          application/x-frame
0  string  \<MakerDictionary  application/x-frame
0  string  \<MakerScreenFon   application/x-frame
0  string  \<MML              application/x-frame
0  string  \<Book             application/x-frame
0  string  \<Maker            application/x-frame

# MS-Word
0  string  \376\067\0\043            application/msword
0  string  \320\317\021\340\241\261  application/msword
0  string  \333\245-\0\0\0           application/msword

һ����ѡ��MIME���뷽ʽ���԰����ڵ������ϡ�����������п����ϳ�gzipѹ���ļ����趨���ǵı��뷽ʽ��

# gzip (GNU zip, not to be confused with
#       [Info-ZIP/PKWARE] zip archiver)

0  string  \037\213  application/octet-stream  x-gzip
top

��������

������ÿ��ϵͳ�����ñ�ģ��ġ�������ϵͳ�������Ѿ��ӽ����ޣ��������ڽ���web�������Ļ�׼���ԣ�����ܲ�ϣ���������ģ�飬��Ϊ���Ĵ��������Ӱ������������ܡ�

Ȼ�����Ѿ�������Ŭ���Ľ������file(1)���룬ʹ���ܸ��ʺ���һ���dz���æ��web�������Ϲ���������Ҫ��������������ǧ�û��Լ������ĵ���web�������ϡ����ڻ������Ͽ����Ƿdz�������������ܶ�����£�����������ܾ��ļ����������������ļ���������ķ�ʽ�������ܻ����ж��Ƿdz����õġ������ڵ��û�û�к�����������ǵ��ļ�������£���Ҳ��������������Щ���磺"Ϊʲô�ҵ�ҳ�治������"֮��ı�Թ��������Լ����������Ŀ����Ƿ���������Ļ�����

top

ע��

�������mod_mime_magic�ļ�¼����������ǰ�����������ߵİ�Ȩ���ƺ�Ϊ�˵õ����ǵij��ϡ�

mod_mime_magic: ͨ���ļ���Magic Number�����ļ���MIME����
Copyright (c) 1996-1997 Cisco Systems, Inc.

�������Ciscoϵͳ���޹�˾��1997��7���ύ��Apache��֯�������Դ����Ľ�һ���޶����°汾�������������Ciscoϵͳ���޹�˾�DZ�ģ���ԭʼ�����ߡ��������������ʹ������������Apache��֯��

��ģ��IJ���Դ�������������������comp.sources.unix�ϵ�file��������ɰ汾������Ҫ������������Ǹ�����İ�Ȩ��Ϣ��

- Copyright (c) Ian F. Darwin, 1987. Written by Ian F. Darwin.

������������������绰�籨��˾(AT&T)���߼��������Ǵ�ѧ���»���κ���ɡ�

����ѭ�������ƵĻ����ϣ��κ��˱���Ȩ��ѵ����κμ����ϵͳ��Ϊ�κ�Ŀ��ʹ�á��޸������·ַ���������

  1. ���ܺ���ж����أ�������ֱ�����ڳ����ȱ����ɵģ���������߶�������ʹ������������ɵ��κ�ֱ�ӻ��ӵĺ�����е��κ����Ρ�
  2. ���������߳��������У��������Դ������������������������û����ܻ��Ķ�Դ���룬Դ������Ҳ���������һ������
  3. �Ķ��汾�������ױ�����������ԭ����ϸ����ֿ��������������û����ܻ��Ķ�Դ���룬Դ������Ҳ���������һ������
  4. ���������ܱ�ɾ������ġ�

Ϊ�˷���MrDarwin��������Ǵ����ɵ�"file"������������������Ե��޸ĵİ汾��

  • ����Apache��һ���汾ת�Ƶ���һ��ʱ��Ϊ�˱༭���㣬���д�����һ���ļ��С�
  • �ڴ����ͨ��ApacheӦ�ó���ӿڵĻ���ؽṹ��ɡ�
  • ����Ҫ��������ApacheӦ�ó���ӿ����̵ĵط������еĺ������ṩ�����ApacheӦ�ó���ӿڼ�����ṹ��(���磺ͨ����������򱻵��õij������������־��¼���ļ��������ڴ����)
  • Magic�ṹ�����鱻ת�����˵��յ�������Ϊ��ÿ��ֻ����һ����¼����ֻ��˳��ʽ����ͬʱApache APIû��realloc()�������������
  • �������ı�ɴӲ�����ȡ���������ã�������ȫ�ֱ�����(������Ӧ���ǿ�����ģ���û�����̻߳��Ļ����в��Թ�)
  • ԭ��������ӡ�����stdout�ĵط������ijɽ�������浽һ���б�����б�������Apache�����¼������MIME���͡�
  • ��Ϊ��������Ҳ�����õ������б�־�����DZ�ɾ���ˡ�
top

MimeMagicFile ָ��

˵��ʹ���ض���Magic�ļ���������ļ�����ȷ���ļ�MIME���͵Ĺ���
�﷨MimeMagicFile file-path
������server config, virtual host
״̬��չ(E)
ģ��mod_mime_magic

MimeMagicFileָ���������ģ�飬Ĭ�ϵ�Magic�ļ�������conf/magic�С����·���������ServerRoot�ġ�����������ʹ��������������ͬ�������ļ�������ʹ���˸��ر���趨���ں�������£���Щ�ر���趨�Ḳ����������趨��

ʾ��

MimeMagicFile conf/magic