Para aprender o tipo de conteúdo, você deve saber com antecedência o que é e para que serve.
O protocolo HTTP (RFC2616) adota um modelo de solicitação/resposta. O cliente envia uma solicitação para o servidor e o cabeçalho da solicitação contém o método solicitado, URI, versão do protocolo e uma estrutura de mensagens do tipo MIME que contém o modificador de solicitação, as informações e o conteúdo do cliente. O servidor responde com uma linha de status e o conteúdo correspondente inclui a versão do protocolo da mensagem, a codificação de sucesso ou erro, além das informações do servidor, das meta informações da entidade e do possível conteúdo da entidade.
Geralmente, uma mensagem HTTP consiste em uma linha de partida, um ou mais campos de cabeçalho, uma linha em branco que termina com o campo do cabeçalho e um corpo de mensagem opcional. O campo de cabeçalho do HTTP inclui quatro partes: cabeçalho geral, cabeçalho de solicitação, cabeçalho de resposta e cabeçalho da entidade. Cada campo de cabeçalho consiste em três partes: um nome de domínio, um cólon (:) e um valor de domínio. Os nomes de domínio são independentes do caso, qualquer número de caracteres espaciais pode ser adicionado antes do valor do domínio e os campos do cabeçalho podem ser expandidos para várias linhas, usando pelo menos um caractere de espaço ou guia no início de cada linha.
A mensagem de solicitação e a mensagem de resposta podem conter informações da entidade, que geralmente consistem no campo e entidade do cabeçalho da entidade. O campo de cabeçalho da entidade contém informações originais sobre a entidade. O cabeçalho da entidade inclui permitir, base de conteúdo, codificação de conteúdo, linguagem de conteúdo, comprimento de conteúdo, localização de conteúdo, conteúdo-md5, faixa de conteúdo, tipo de conteúdo, ETAG, expires, Última modificação e cabeçalho de extensão.
O tipo de conteúdo é um conteúdo muito importante na mensagem de retorno, indicando a que tipo MIME o documento subsequente pertence. Tipo de conteúdo: [tipo]/[subtipo]; parâmetro. Por exemplo, o mais comum é o texto/html, o que significa que o conteúdo retornado é o tipo de texto e o texto está no formato HTML. Em princípio, o navegador decidirá como exibir o conteúdo do corpo de mensagem retornado com base no tipo conteúdo.
Tipo tem o seguinte formulárioTexto: Informações de texto para representação padronizada, a mensagem de texto pode ser de vários conjuntos de caracteres e / ou em vários formatos;
Multipart: Usado para conectar várias partes do corpo da mensagem para formar uma mensagem, e essas peças podem ser diferentes tipos de dados;
Aplicativo: usado para transmitir dados de aplicativos ou dados binários;
Mensagem: Usado para envolver uma mensagem de e-mail;
Imagem: usado para transmitir dados de imagem estática;
Áudio: usado para transmitir dados de áudio ou áudio;
VÍDEO: Usado para transmitir dados de imagem dinâmica, que podem ser um formato de dados de vídeo editado com áudio.
O subtipo é usado para especificar a forma detalhada do tipo. O conjunto de pares do tipo conteúdo/subtipo e os parâmetros associados a isso crescerão ao longo do tempo. Para garantir que esses valores sejam desenvolvidos em um estado público e ordenado, o MIME usa a Autoridade de Números Atribuídos à Internet (IANA) como mecanismo de registro central para gerenciar esses valores.
O parâmetro pode ser usado para especificar informações adicionais e, em mais casos, é um parâmetro de charset usado para especificar métodos de codificação de texto, como texto/plano e texto/htm. O MIME definiu o subtipo padrão com base no tipo. Quando o cliente não pode determinar o subtipo da mensagem, a mensagem é tratada como o subtipo padrão para processamento. O texto é texto/simples por padrão, o aplicativo é aplicativo/stream de octeto por padrão, e o multipart é considerado multipart/misto por padrão. Para os navegadores do IE6, se o tipo de conteúdo for inconsistente com o tipo de corpo da mensagem real, ele analisará que tipo deve ser baseado no tipo no conteúdo e pode identificar corretamente os formatos de imagem comuns como JPG e GIF, independentemente do que está escrito no tipo conteúdo.
Se o tipo especificado no tipo conteúdo for um tipo que o navegador pode abrir diretamente, o navegador abrirá seu conteúdo e o exibirá. Se for um tipo associado a outros aplicativos, você precisa procurar o status de registro desse tipo no registro. Se for permitido abrir diretamente sem perguntar, o aplicativo associado será chamado para abrir o arquivo, mas se não for permitido abrir diretamente, você perguntará se ele será aberto. Para tipos que não estão associados a nenhum aplicativo, o navegador do IE não sabe como deve ser aberto e o IE6 tentará abri -lo como XML.
Se você deseja implementar o download de arquivos, poderá adicioná -lo no cabeçalho do HTTP:fprintf (arquivo, disposição de conteúdo: anexo; nome do arquivo =/%s//r/n, nome do arquivo);
Após o teste, HTML, PDF, GIF e outros arquivos abertos nas páginas da Web podem ser baixados normalmente.
'HQX' => 'Application/Mac-binhex40',
'CPT' => 'Application/Mac-CompactPro',
'doc' => 'aplicativo/msword',
'bin' => 'aplicativo/stream de octeto',
'dms' => 'aplicativo/stream de octeto',
'lha' => 'aplicativo/stream de octeto',
'lzh' => 'aplicativo/octeto-stream',
'exe' => 'aplicativo/stream de octeto',
'classe' => 'aplicativo/stream de octeto',
'SO' => 'Aplicativo/stream de octeto',
'dll' => 'aplicativo/stream de octeto',
'Oda' => 'Aplicativo/Oda',
'pdf' => 'aplicativo/pdf',
'Ai' => 'Application/PostScript',
'Eps' => 'Application/PostScript',
'PS' => 'Application/PostScript',
'smi' => 'aplicativo/smil',
'smil' => 'aplicativo/smil',
'mif' => 'aplicativo/vnd.mif',
'xls' => 'aplicativo/vnd.ms-excel',
'ppt' => 'aplicativo/vnd.ms-powerpoint',
'wbxml' => 'aplicativo/vnd.wap.wbxml',
'wmlc' => 'aplicativo/vnd.wap.wmlc',
'wmlsc' => 'Application/vnd.wap.wmlcriptc',
'bcpio' => 'aplicativo/x-bcpio',
'vcd' => 'aplicativo/x-cdlink',
'PGN' => 'Application/X-Chess-PGN',
'cpio' => 'aplicativo/x-cpio',
'csh' => 'aplicativo/x-csh',
'dcr' => 'Application/X-Director',
'Dir' => 'Aplicativo/X-Director',
'dxr' => 'Application/X-Director',
'DVI' => 'Application/X-DVI',
'spl' => 'Application/X-Futuresplash',
'gtar' => 'aplicativo/x-gtar',
'hdf' => 'aplicativo/x-hdf',
'js' => 'aplicativo/x-javascript',
'skp' => 'aplicativo/x-koan',
'skd' => 'aplicativo/x-koan',
'skt' => 'aplicativo/x-koan',
'skm' => 'aplicativo/x-koan',
'LATEX' => 'APLICAÇÃO/X-LATEX',
'nc' => 'aplicativo/x-netcdf',
'cdf' => 'aplicativo/x-netcdf',
'sh' => 'aplicativo/x-sh',
'shar' => 'aplicativo/x-shar',
'swf' => 'aplicativo/x-shockwave-flash',
'Sit' => 'Application/X-Stuffit',
'sv4cpio' => 'aplicativo/x-sv4cpio',
'sv4crc' => 'aplicativo/x-sv4crc',
'Tar' => 'Aplicativo/X-Tar',
'tcl' => 'aplicativo/x-tcl',
'tex' => 'aplicativo/x-tex',
'texinfo' => 'aplicativo/x-texinfo',
'texi' => 'aplicativo/x-texinfo',
'T' => 'Aplicativo/X-Troff',
'tr' => 'aplicativo/x-trof',
'roff' => 'aplicativo/x-trof',
'Man' => 'Application/X-Troff-man',
'Me' => 'Application/X-Troff-Me',
'ms' => 'aplicativo/x-troff-ms',
'USSTAR' => 'APLICAÇÃO/X-USTAR',
'src' => 'aplicativo/x-wais-source',
'xhtml' => 'aplicativo/xhtml+xml',
'xht' => 'aplicativo/xhtml+xml',
'zip' => 'aplicativo/zip',
'Au' => 'Audio/Basic',
'snd' => 'áudio/básico',
'Mid' => 'Audio/Midi',
'midi' => 'áudio/midi',
'kar' => 'áudio/midi',
'mpga' => 'áudio/mpeg',
'mp2' => 'áudio/mpeg',
'mp3' => 'áudio/mpeg',
'AIF' => 'áudio/x-aiff',
'aiff' => 'áudio/x-aiff',
'AIFC' => 'áudio/x-aiff',
'm3u' => 'áudio/x-mpequirl',
'ram' => 'áudio/x-pn-realaudio',
'rm' => 'áudio/x-pn-realaudio',
'rpm' => 'áudio/x-pn-realaudio-plugin',
'ra' => 'áudio/x-realaudio',
'wav' => 'áudio/x-wav',
'pdb' => 'químico/x-pdb',
'xyz' => 'químico/x-xyz',
'bmp' => 'imagem/bmp',
'gif' => 'imagem/gif',
'ief' => 'imagem/ief',
'jpeg' => 'imagem/jpeg',
'jpg' => 'imagem/jpeg',
'jpe' => 'imagem/jpeg',
'png' => 'imagem/png',
'tiff' => 'imagem/tiff',
'tif' => 'imagem/tiff',
'djvu' => 'imagem/vnd.djvu',
'djv' => 'imagem/vnd.djvu',
'wbmp' => 'image/vnd.wap.wbmp',
'ras' => 'imagem/x-cmu-reter',
'pnm' => 'imagem/x-portable-anymap',
'pbm' => 'imagem/x-portable-bitmap',
'PGM' => 'imagem/x-portable-GrayMap',
'ppm' => 'imagem/x-portable-pixmap',
'rgb' => 'imagem/x-rgb',
'xbm' => 'imagem/x-xbitmap',
'xpm' => 'imagem/x-xpixmap',
'xwd' => 'imagem/x-xWindowDump',
'igs' => 'modelo/iges',
'iges' => 'modelo/iges',
'msh' => 'modelo/malha',
'malha' => 'modelo/malha',
'silo' => 'modelo/malha',
'wrl' => 'modelo/vrml',
'vrml' => 'modelo/vrml',
'css' => 'text/css',
'html' => 'texto/html',
'htm' => 'texto/html',
'ASC' => 'texto/simples',
'txt' => 'texto/simples',
'rtx' => 'text/richtext',
'rtf' => 'texto/rtf',
'sgml' => 'text/sgml',
'sgm' => 'text/sgml',
'TSV' => 'Text/Tab-Separated-Values',
'wml' => 'text/vnd.wap.wml',
'wmls' => 'text/vnd.wap.wmlscript',
'etx' => 'texto/x-setext',
'xsl' => 'texto/xml',
'xml' => 'text/xml',
'mpeg' => 'vídeo/mpeg',
'mpg' => 'vídeo/mpeg',
'mpe' => 'vídeo/mpeg',
'qt' => 'vídeo/QuickTime',
'mov' => 'vídeo/QuickTime',
'mxu' => 'video/vnd.mpegurl',
'Avi' => 'Video/X-Msvideo',
'filme' => 'vídeo/x-sgi-movie',
'gelo' => 'x-confence/x-cooltalk',