Apache Mime Type Binary Options




Apache Mime Type Binary OptionsManipulacao de dados binarios com conteudo do Axis2 (MTOM / SwA) Introducao Apesar da flexibilidade, interoperabilidade e aceitacao global do XML, ha momentos em que serializar dados em XML nao faz sentido. Os usuarios de servicos da Web podem querer transmitir anexos binarios de varios tipos, como imagens, desenhos, documentos XML, etc., juntamente com uma mensagem SOAP. Esses dados sao frequentemente em um formato binario particular. Tradicionalmente, duas tecnicas tem sido usadas no tratamento de dados opacos em XML. Enviar dados binarios por valor e obtido incorporando dados opacos (obviamente apos alguma forma de codificacao) como um elemento ou conteudo de atributo do componente XML de dados. A principal vantagem desta tecnica e que da aos aplicativos a capacidade de processar e descrever dados, com base apenas no componente XML dos dados. O XML suporta dados opacos como conteudo atraves do uso de codificacao de texto base64 ou hexadecimal. Ambas as tecnicas incham o tamanho dos dados. Para a codificacao de texto subjacente ao UTF-8, a codificacao base64 aumenta o tamanho dos dados binarios por um fator de 1,33x do tamanho original, enquanto a codificacao hexadecimal expande dados por um fator de 2x. Os fatores acima serao duplicados se a codificacao de texto UTF-16 for usada. Tambem e preocupante a sobrecarga nos custos de processamento (real e percebido) para esses formatos, especialmente quando a decodificacao volta para o binario bruto. O envio de dados binarios por referencia e conseguido anexando dados binarios puros como entidades externas nao segmentadas externas ao documento XML e incorporando URIs de referencia a essas entidades como elementos ou valores de atributo. Isso evita o inchaco desnecessario de dados e desperdicio de poder de processamento. O principal obstaculo para o uso dessas entidades nao analisadas e a sua grande dependencia de DTDs, o que impede a modularidade, bem como o uso de namespaces XML. Havia varias especificacoes introduzidas no mundo dos servicos da Web para lidar com esse problema de anexacao binaria usando a tecnica quotby referencequot. SOAP with Attachments e um exemplo. Como o SOAP proibe declaracoes de tipo de documento (DTD) em mensagens, isso leva ao problema de nao representar dados como parte da mensagem infoset, criando, portanto, dois modelos de dados. Esse cenario e como enviar anexos com uma mensagem de email. Mesmo que esses anexos estejam relacionados ao conteudo da mensagem eles nao estao dentro da mensagem. Isso faz com que as tecnologias que processam e descrevem os dados com base no componente XML dos dados nao funcionem corretamente. Um exemplo e o WS-Security. Onde MTOM vem em MTOM (SOAP Message Transmission Optimization Mechanism) e outra especificacao que se concentra em resolver o quotAttachmentsquot problema. MTOM tenta aproveitar as vantagens das duas tecnicas acima, tentando mesclar as duas tecnicas. MTOM e na verdade um metodo de referencia quotby. O formato de fio de uma mensagem otimizada MTOM e o mesmo que a mensagem SOAP com anexos, que tambem torna compativel com Swa endpoints. A caracteristica mais notavel do MTOM e o uso do elemento XOP: Include, que e definido na especificacao XOP (XML Binary Optimized Packaging) para fazer referencia aos anexos binarios (entidades gerais externas nao analisadas) da mensagem. Com o uso deste elemento exclusivo, o conteudo binario anexado logicamente torna-se inline (por valor) com o documento SOAP, mesmo que ele realmente e anexado separadamente. Isso funde os dois dominios, tornando possivel trabalhar apenas com um modelo de dados. Isso permite que as aplicacoes processem e descrevam apenas olhando para a parte XML, tornando obsoleta a dependencia de DTDs. Em uma nota mais leve, MTOM tem padronizado o mecanismo de referencia SwA. O seguinte e um extrato da especificacao XOP. No nivel conceitual, esses dados binarios podem ser considerados base64-codificados no documento XML. Como essa forma conceitual pode ser necessaria durante algum processamento do documento XML (por exemplo, para assinar o documento XML), e necessario ter uma correspondencia um-para-um entre os conjuntos de informacoes XML e os pacotes XOP. Portanto, a representacao conceitual de tais dados binarios e como se fosse codificada em base64, usando a forma lexica canonica do tipo de dados base64Binary Schema XML (consulte XML Schema Parte 2: Datatypes Second Edition 3.2.16 base64Binary). Na direcao inversa, XOP e capaz de otimizar apenas dados de Infoset codificados em base64 que estao na forma lexical canonica. Apache Axis2 suporta a codificacao Base64. SOAP com anexos e MTOM (mecanismo de optimizacao de transmissao de mensagens SOAP). MTOM com Modelo de Programacao Axis2 AXIOM e (e pode ser o primeiro) Modelo de Objeto que tem a capacidade de armazenar dados binarios. Ele tem essa capacidade como OMText pode conter conteudo binario bruto na forma de javax. activation. DataHandler. OMText foi escolhido para este fim com duas razoes. Uma delas e que o XOP (MTOM) e capaz de otimizar apenas dados de Infoset codificados em base64 que estao na forma lexica canonica do tipo de dados base64Binary Schema XML. Outro e preservar o infoset tanto no remetente como no receptor. (Para armazenar o conteudo binario no mesmo tipo de objeto, independentemente de estar otimizado ou nao). O MTOM permite codificar seletivamente porcoes da mensagem, o que nos permite enviar dados codificados em base64 bem como dados binarios brutos conectados externamente referenciados pelo elemento quotXOPquot (conteudo otimizado) para ser enviado em uma mensagem SOAP. Voce pode especificar se um no OMText que contem dados binarios brutos ou dados binarios base64encoded esta qualificado para ser otimizado no momento da construcao desse no ou posterior. Para uma melhor eficiencia do MTOM, um usuario e aconselhado a enviar anexos binarios menores usando base64encoding (nao otimizado) e anexos maiores como conteudo otimizado. Alem disso, um usuario pode criar um no de conteudo binario otimizavel usando uma sequencia codificada em base64, que contem conteudo binario codificado, fornecido com o tipo MIME da representacao binaria real. Axis2 usa javax. activation. DataHandler para manipular os dados binarios. Todos os nos de conteudo binario otimizados serao serializados como Cadeias de Base64 se quotMTOM nao estiver ativadoquot. Voce tambem pode criar nos de conteudo binario, que nao serao otimizados em qualquer caso. Eles serao serializados e enviados como Base64 Strings. Habilitando a otimizacao do MTOM no lado do cliente em Opcoes, defina a propriedade quotenableMTOMquot como True quando enviar mensagens. Quando essa propriedade e definida como True, qualquer soquete SOAP, independentemente se ele contem conteudo otimizavel ou nao, sera serializado como uma mensagem MIME otimizado MTOM. Axis2 serializa todos os nos de conteudo binario como sequencias codificadas Base64 independentemente se eles sao qualificados para ser otimizado ou nao se a propriedade quotenableMTOMquot estiver definida como False. Se o envelope contiver qualquer item de informacao do elemento do nome xop: Include (veja XML-binario Otimizado Embalagem 3. XOP Infosets Constructs). O usuario nao precisa especificar nada para que o Axis2 receba mensagens MTOM otimizadas. Axis2 ira automaticamente identificar e des-serializar em conformidade, como e quando uma mensagem MTOM chega. Habilitando a otimizacao do MTOM no lado do servidor O servidor do Axis 2 identifica automaticamente mensagens MTOM recebidas de entrada com base no tipo de conteudo e as desalifa adequadamente. O usuario pode habilitarMTOM no lado do servidor para mensagens de saida, Para habilitarMTOM globalmente para todos os servicos, os usuarios podem definir o parametro quotenableMTOMquot como True no Axis2.xml. Quando estiver definido, todas as mensagens de saida serao serializadas e enviadas como mensagens MIME optimizadas MTOM. Se nao estiver definido, todos os dados binarios nos nos de conteudo binario serao serializados como cadeias codificadas em Base64. Essa configuracao pode ser substituida em services. xml com base em por servico e por operacao. Voce deve reiniciar o servidor apos a configuracao desse parametro. Acessando Dados Binarios Recebidos (Codigo de Amostra) Gera uma representacao textual desse tipo de conteudo que pode ser usado como o valor de um cabecalho Content-Type. Create Cria uma nova instancia de ContentType. Parametros: mimeType - tipo MIME. Nao pode ser nulo ou vazio. Ele nao pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificacao HTTP. Charset - charset. Retorna: type de conteudo create Cria uma nova instancia de ContentType sem um charset. Parametros: mimeType - tipo MIME. Nao pode ser nulo ou vazio. Ele nao pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificacao HTTP. Retorna: type de conteudo create Cria uma nova instancia de ContentType. Parametros: mimeType - tipo MIME. Nao pode ser nulo ou vazio. Ele nao pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificacao HTTP. Charset - charset. Ele nao pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificacao HTTP. Este parametro e opcional. Retorna: tipo de conteudo Lanca: UnsupportedCharsetException - Acionado quando o conjunto de caracteres nomeado nao esta disponivel nesta instancia da maquina virtual Java create Cria uma nova instancia de ContentType com os parametros fornecidos. Parametros: mimeType - tipo MIME. Nao pode ser nulo ou vazio. Ele nao pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificacao HTTP. Params - parametros. Retorna: tipo de conteudo Lanca: UnsupportedCharsetException Desde: 4.4 parse Analisa a representacao textual de Content-Type value. Parametros: s - text Retorna: tipo de conteudo Lanca: ParseException - se o texto fornecido nao representa um valor valido Content-Type. UnsupportedCharsetException - Jogado quando o charset nomeado nao esta disponivel nesta instancia da maquina virtual Java get Extracts Content-Type valor de HttpEntity exatamente como especificado pelo cabecalho Content-Type da entidade. Retorna null se nao for especificado. Parametros: entity - entidade HTTP Devolve: tipo de conteudo Lanca: ParseException - se o texto fornecido nao representa um valido Content-Type valor. UnsupportedCharsetException - Acionado quando o conjunto de caracteres nomeado nao esta disponivel nesta instancia da maquina virtual Java getLenient Extrai o valor de Content-Type de HttpEntity. Retorna null se nao especificado ou incorreto (nao pode ser analisado) .. Parametros: entity - entidade HTTP Devolve: type de conteudo Desde: 4.4 getOrDefault Extrai Content-Type valor de HttpEntity ou retorna o valor padrao DEFAULTTEXT se nao explicitamente especificado. Parametros: entity - entidade HTTP Devolve: tipo de conteudo Lanca: ParseException - se o texto fornecido nao representa um valido Content-Type valor. UnsupportedCharsetException - Lancado quando o conjunto de caracteres nomeado nao esta disponivel nesta instancia da maquina virtual Java getLenientOrDefault Extrai valor Content-Type de HttpEntity ou retorna o valor padrao DEFAULTTEXT se nao explicitamente especificado ou incorreto (nao pode ser analisado). WithCharset Cria uma nova instancia com este tipo MIME e o dado Charset. Parametros: charset - charset Retorna: uma nova instancia com este tipo MIME e o dado Charset. Desde: 4.3 withCharset Cria uma nova instancia com este tipo MIME eo nome Charset dado. Parametros: charset - name Retorna: uma nova instancia com este tipo MIME eo nome Charset dado. Throws: UnsupportedCharsetException - Acionado quando o charset nomeado nao esta disponivel nesta instancia da maquina virtual Java Desde: 4.3 withParameters Cria uma nova instancia com este tipo MIME e os parametros fornecidos. Parametros: params - Retorna: uma nova instancia com este tipo MIME e os parametros fornecidos. Throws: UnsupportedCharsetException Desde: 4.4In ubuntu, estou executando pagina html simples que pode rodar mp4 video, tenho configurado o servidor Apache e ter executado pagina de teste simples para oi mundo, seu trabalho muito bem. No Apache Webserver eu li que precisamos adicionar o seguinte codigo ao arquivo httpd. conf ou a um arquivo. htaccess no diretorio onde estao nossos arquivos de video. Entao, minha pergunta e onde esta esse arquivo httpd. conf ou. htaccess disponivel, eu preciso manualmente para criar esses arquivos ou eles sao armazenados em algum lugar. O codigo da minha pagina HTML e como este: Por favor me de as sugestoes. O arquivo de configuracao padrao para os arquivos sendo servidos pela sua instalacao do Apache e / etc / apache2 / sites-enabled / 000-default. E uma boa ideia para fazer backup do arquivo original antes de voce brincar com este arquivo. Toda vez que voce edita este arquivo, o Apache precisa ser reiniciado / recarregado para que as mudancas tenham efeito - servico sudo apache2 restart (ou) sudo service apache2 reload. Enquanto que as alteracoes no. htaccess nao exigem que o Apache seja reiniciado. Como dobey mencionado, o arquivo. htaccess vai no DocumentRoot do site. De uma olhada na documentacao oficial sobre como ativar os arquivos. htaccess. Para fazer com que os arquivos. htaccess funcionem como esperado, voce precisa editar este arquivo: Procure uma secao semelhante a esta: Voce precisa modificar a linha que contem AllowOverride None para ler AllowOverride All. Isso informa ao Apache que esta tudo bem se permitir que os arquivos. htaccess ultrapassem diretrizes anteriores. Voce deve recarregar o Apache antes que esta mudanca tenha um efeito: 2009.12.08 nota: no download da LAMP ha uma semana com o Ubuntu 9.10 (Karmic) o arquivo de configuracao padrao era / etc / apache2 / sites-available / 000-default e ele Incluido AllowOverride Nenhum em ltDirectory / gt alem de ltDirectory / var / www / gt. Alem disso, os diretorios em / www / var / contendo arquivos. htaccess padrao para nao dar o acesso de leitura do servidor Apache, resultando no erro Apache Para corrigir, sudo nautilus, clique com o botao direito no diretorio com o arquivo. htacces s, Selecione Permissoes e de ao grupo de usuarios em que voce efetuou login como pelo menos permissao de leitura. HTTPD - Apache2 Apache - Linux. - - -. - , Raposa de fogo. Opera. Chromium Internet Explorer. Uniform Resource Locator (URL), - Nome de dominio totalmente qualificado (FQDN). , - Ubuntu. FQDN: comunidade. FQDN,: - HTTP (Hyper Text Transfer Protocol). , Protocolo de transferencia de HTTP sobre Secure Sockets Layer (HTTPS) (FTP),. - Apache MySQL. PHP Python Perl. LAMP (Linux, Apache, MySQL, Perl / Python / PHP). Apache2. : Apache2.conf: Apache2. , Apache2. Httpd. conf: Apache2, httpd. . Ubuntu,,. Conf-disponivel:. , /etc/apache2/conf. d / etc / apache2 / conf-disponivel. Conf-enabled: / etc / apache2 / conf-disponivel. , Apache2. Envvars:, Apache2. Mods-disponivel:. ,. Mods-enabled: / etc / apache2 / mods-disponivel. , Apache2. Ports. conf:,, TCP Apache2. Sites-disponiveis: (Hosts Virtuais) Apache2. Apache2,. Sites-enabled: mods-enabled, sites-enabled / etc / apache2 / sites-disponiveis. , Sites-disponiveis,, Apache2. Magica: MIME-. , , Incluir. . . Apache2. , Mime - TiposConfig. , /etc/apache2/mods-available/mime. conf. , /etc/mime. types. Apache2. Apache2. O Apache2 e fornecido com uma configuracao padrao virtual-host-friendly. Ou seja, ele e configurado com um unico host virtual padrao (usando a diretiva VirtualHost) que pode ser modificado ou usado como-e se voce tiver um unico site ou usado como um modelo para hosts virtuais adicionais se voce tiver varios sites. Se for deixado sozinho, o host virtual padrao servira como seu site padrao ou os usuarios do site verao se a URL que eles inserir nao corresponde a diretiva ServerName de qualquer um de seus sites personalizados. Para modificar o host virtual padrao, edite o arquivo /etc/apache2/sites-available/000-default. conf. - benzoico. ,. ,. - benzoico. - benzoico. ServerAdmin,. Webmasterlocalhost. (). , Apache2,. , / Etc / apache2 / sites-disponivel. Ouca,, IP-, Apache2. IP-, Apache2 IP-,,. 80. 127.0.0.1:80, Apache2. ,, 81. /etc/apache2/ports. conf A diretiva ServerName e opcional e especifica qual FQDN seu site deve responder. O host virtual padrao nao tem nenhuma diretiva ServerName especificada, portanto, ele respondera a todas as solicitacoes que nao correspondem a uma diretiva ServerName em outro host virtual. Se voce acabou de adquirir o nome de dominio ubunturocks e deseja hospeda-lo em seu servidor Ubuntu, o valor da diretiva ServerName em seu arquivo de configuracao de host virtual deve ser ubunturocks. Adicione esta diretiva ao novo arquivo de host virtual criado anteriormente (/etc/apache2/sites-available/mynewsite. conf). , Www. ubunturocks, www. ServerAlias. ServerAlias. ,,.ubunturocks. A diretiva DocumentRoot especifica onde Apache2 deve procurar os arquivos que compoem o site. O valor padrao e / var / www / html, conforme especificado em /etc/apache2/sites-available/000-default. conf. Se desejar, altere esse valor no arquivo de host virtual de sites e lembre-se de criar esse diretorio, se necessario, VirtualHost. A2ensite. Apache2: mynewsite VirtualHost. , ServerName VirtualHost. , A2dissite. . Apache2. - benzoico. . DirectoryIndex (),, (/). , Www. example / thisdirectory /, DirectoryIndex,,, indices, (Permissao negada). , DirectoryIndex. , Indices de Opcoes, HTML. /etc/apache2/mods-available/dir. conf index index. cgi index. pl indice index. xhtml index. htm. , Apache2,,. A diretiva ErrorDocument permite especificar um arquivo para o Apache2 usar para eventos de erro especificos. Por exemplo, se um usuario solicitar um recurso que nao existe, ocorrera um erro 404. Por padrao, o Apache2 retornara simplesmente um codigo de retorno HTTP 404. Leia /etc/apache2/conf-available/localized-error-pages. conf para obter instrucoes detalhadas sobre como usar o ErrorDocument, incluindo localizacoes de arquivos de exemplo. Por padrao, o servidor grava o log de transferencia no arquivo /var/log/apache2/access. log. Voce pode alterar isso em uma base por site nos arquivos de configuracao do host virtual com a diretiva CustomLog ou omiti-lo para aceitar o padrao, especificado em /etc/apache2/conf-available/other-vhosts-access-log. conf. Voce tambem pode especificar o arquivo para o qual os erros sao registrados, por meio da diretiva ErrorLog, cujo padrao e /var/log/apache2/error. log. Estes sao mantidos separados dos logs de transferencia para auxiliar na solucao de problemas com seu servidor Apache2. Voce tambem pode especificar o LogLevel (o valor padrao e warn) eo LogFormat (consulte /etc/apache2/apache2.conf para o valor padrao). ,. Opcoes. Diretorio XML: Diretorio de Opcoes (),: ExecCGI CGI-. CGI-,. Inclui. HTML-. Apache SSI (Ubuntu). IncluiNOEXEC, exec incluem CGI. Indices, (indice). ,, DocumentRoot. - benzoico. Multiview - Multivistas de conteudo-negociado de suporte esta opcao esta desabilitada por padrao por razoes de seguranca. Consulte a documentacao do Apache2 nesta opcao. SymLinksIfOwnerMatch, /. Httpd httpd LockFile LockFile bloqueio-,, USEFCNTLSERIALIZEDACCEPT USEFLOCKSERIALIZEDACCEPT. . , NFS. (raiz). PidFile PidFile, (processo ID pid). (raiz). . Usuario Usuario (userid),. . - benzoico. Usuario: www-data. ,, Usuario root. (Raiz) -. Grupo Usuario do grupo. Grupo,. Grupo: modulo www-data. Apache modmime Sumario Este modulo e usado para associar varios bits de meta informacao com arquivos por suas extensoes de nome de arquivo. Essas informacoes relacionam o nome do arquivo do documento com o tipo, a linguagem, o conjunto de caracteres e a codificacao do mime. Essas informacoes sao enviadas para o navegador e participam da negociacao de conteudo, de modo que as preferencias dos usuarios sao respeitadas ao escolher um dos varios arquivos possiveis para serem veiculados. Consulte modnegotiation para obter mais informacoes sobre negociacao de conteudo. As diretivas AddCharset. AddEncoding. AddLanguage e AddType sao todos usados ??para mapear extensoes de arquivo para as meta-informacoes para esse arquivo. Respectivamente, eles definem o conjunto de caracteres, codificacao de conteudo, conteudo-idioma e tipo MIME (tipo de conteudo) de documentos. A diretiva TypesConfig e usada para especificar um arquivo que tambem mapeia extensoes em tipos MIME. Alem disso, o modmime pode definir o manipulador e os filtros que originam e processam o conteudo. As diretivas AddHandler. AddOutputFilter. E AddInputFilter controlam os modulos ou scripts que servem o documento. A diretiva MultiviewsMatch permite que modnegotiation considere essas extensoes de arquivo a serem incluidas ao testar combinacoes de Multiviews. Enquanto o modmime associa meta-informacao com extensoes de nome de arquivo, o servidor nucleo fornece diretivas que sao usadas para associar todos os arquivos em um determinado recipiente (por exemplo, ltLocationgt. LtDirectorygt ou ltFilesgt) com meta-informacoes especificas. Essas diretivas incluem ForceType. SetHandler. SetInputFilter. E SetOutputFilter. As diretivas principais substituem qualquer mapeamento de extensao de nome de arquivo definido no modmime. Observe que alterar as informacoes de meta para um arquivo nao altera o valor do cabecalho Last-Modified. Assim, as copias em cache podem ainda ser usadas por um cliente ou proxy, com os cabecalhos anteriores. Se voce alterar as meta-informacoes (idioma, tipo de conteudo, conjunto de caracteres ou codificacao), talvez seja necessario tocar arquivos afetados (atualizando a data da ultima modificacao) para garantir que todos os visitantes recebam os cabecalhos de conteudo corrigidos. Topicos Diretivas Consulte tambem Arquivos podem ter mais de uma extensao, ea ordem das extensoes e normalmente irrelevante. Por exemplo, se o arquivo welcome. fr mapear para o tipo de conteudo text / html e para o idioma frances, o arquivo welcome. fr mapeara exatamente as mesmas informacoes. Se for dado mais de um ramal que mapeie para o mesmo tipo de metanalise, entao o um a direita sera usado, exceto para idiomas e codificacoes de conteudo. Por exemplo, se. gif mapeia para o MIME-tipo de imagem / gif e mapeia para o MIME-tipo text / html. Entao o arquivo welcome. gif sera associado com o texto / html do tipo MIME. As linguagens e as codificacoes de conteudo sao tratadas como acumulativas, porque e possivel atribuir mais de um idioma ou codificacao a um recurso especifico. Por exemplo, o arquivo welcome. en. de sera entregue com Content-Language: en, de e Content-Type: text / html. Cuidado deve ser tomado quando um arquivo com varias extensoes fica associado com um tipo MIME e um manipulador. Isso geralmente resultara na solicitacao sendo manipulada pelo modulo associado com o manipulador. Por exemplo, se a extensao. imap e mapeada para o manipulador imap-file (from modimagemap) ea extensao e mapeada para o tipo MIME text / html. Entao o arquivo world. imap sera associado com o manipulador de arquivos imap eo texto / html tipo MIME. Quando ele e processado, o manipulador de arquivo imap sera usado e, portanto, sera tratado como um arquivo de imagemap modimagemap. Se preferir apenas a ultima parte separada por pontos do nome de ficheiro a ser mapeada para uma determinada peca de metadados, nao utilize as directivas Adicionar. Por exemplo, se voce deseja ter o arquivo foo. cgi processado como um script CGI, mas nao o arquivo bar. cgi. Em vez de usar AddHandler cgi-script. cgi. Use o manipulador Configurar com base na extensao final somente ltFilesMatch. cgigt SetHandler cgi-script lt / FilesMatchgt Um arquivo de um tipo MIME particular pode ser adicionalmente codificado de uma maneira especifica para simplificar a transmissao pela Internet. Enquanto isso geralmente se referem a compressao, como gzip. Ele tambem pode se referir a criptografia, como um pgp ou para uma codificacao como UUencoding, que e projetado para transmitir um arquivo binario em um formato ASCII (texto). O HTTP / 1.1 RFC. A secao 14.11 coloca desta forma: O Content-Encoding entidade-cabecalho campo e usado como um modificador para o media-type. Quando presente, seu valor indica quais codificacoes de conteudo adicionais foram aplicadas ao corpo de entidade e, portanto, quais mecanismos de descodificacao devem ser aplicados para obter o tipo de midia referenciado pelo campo de cabecalho Content-Type. Content-Encoding e usado principalmente para permitir que um documento seja compactado sem perder a identidade de seu tipo de midia subjacente. Ao usar mais de uma extensao de arquivo (consulte a secao acima sobre varias extensoes de arquivo), voce pode indicar que um arquivo e de um tipo especifico. E tambem tem uma codificacao particular. Por exemplo, voce pode ter um arquivo que e um documento do Microsoft Word, que e pkzipped para reduzir seu tamanho. Se a extensao. doc estiver associada ao tipo de arquivo do Microsoft Word ea extensao. zip estiver associada a codificacao do arquivo pkzip, o arquivo Resume. doc. zip seria conhecido por ser um documento do Word pkziped. O Apache envia um cabecalho Content-encoding com o recurso, para informar o navegador do cliente sobre o metodo de codificacao. Alem do tipo de arquivo e da codificacao do arquivo, outra informacao importante e o idioma em que um determinado documento esta, e em qual conjunto de caracteres o arquivo deve ser exibido. Por exemplo, o documento pode ser escrito no alfabeto vietnamita, ou em cirilico, e deve ser exibido como tal. Esta informacao, tambem, e transmitida em cabecalhos HTTP. O conjunto de caracteres, linguagem, codificacao e tipo mime sao todos usados ??no processo de negociacao de conteudo (ver modnegotiation) para determinar qual documento deve ser entregue ao cliente, quando houver documentos alternativos em mais de um conjunto de caracteres, linguagem, codificacao ou mime digitar. Todas as associacoes de extensoes de nome de arquivo criadas com AddCharset. AddEncoding. As diretivas AddLanguage e AddType (e as extensoes listadas no MimeMagicFile) participam desse processo seleto. Extensoes de nome de arquivo associadas somente com o AddHandler. As diretivas AddInputFilter ou AddOutputFilter podem ser incluidas ou excluidas da correspondencia usando a diretiva MultiviewsMatch. Para transmitir essas informacoes adicionais, o Apache opcionalmente envia um cabecalho Content-Language, para especificar o idioma em que o documento esta e pode acrescentar informacoes adicionais ao cabecalho Content-Type para indicar o conjunto de caracteres especifico que deve ser usado para processar corretamente o em formacao. Content-Language: en, fr Tipo de conteudo: text / plain charsetISO-8859-1 A especificacao do idioma e a abreviatura de duas letras para o idioma. O charset e o nome do conjunto de caracteres particular que deve ser usado. A diretiva AddEncoding mapeia as extensoes de nome de arquivo fornecidas para o tipo de codificacao especificado. MIME-enc e a codificacao MIME a ser usada para documentos que contem a extensao. Este mapeamento e adicionado a qualquer ja em vigor, substituindo quaisquer mapeamentos que ja existem para a mesma extensao. Exemplo AddEncoding x-gzip. gz AddEncoding x-compress. Z Isso fara com que os nomes de arquivos contendo a extensao. gz sejam marcados como codificados usando a codificacao x-gzip e os nomes de arquivos contendo a extensao. Z sejam marcados como codificados com x-compress . Os clientes antigos esperam x-gzip e x-compress. No entanto, o padrao dita que theyre equivalente a gzip e comprimir, respectivamente. O Apache faz comparacoes de codificacao de conteudo ignorando qualquer x-. Ao responder com uma codificacao, o Apache usara qualquer forma (ou seja, x-foo ou foo) que o cliente solicitou. Se o cliente nao solicitar especificamente um formulario especifico, o Apache usara o formulario fornecido pela diretiva AddEncoding. Para tornar esta longa historia curta, voce deve sempre usar x-gzip e x-compress para estas duas codificacoes especificas. Codificacoes mais recentes, tais como deflate deve ser especificado sem o x-. O argumento de extensao e insensivel a maiusculas e minusculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter varias extensoes eo argumento de extensao sera comparado com cada um deles. A diretiva AddLanguage mapeia a extensao de nome de arquivo dada para o idioma de conteudo especificado. MIME-lang e a linguagem MIME de nomes de arquivos que contem extensao. Este mapeamento e adicionado a qualquer ja em vigor, substituindo quaisquer mapeamentos que ja existem para a mesma extensao. Exemplo AddEncoding x-compress. Z AddLanguage en. en AddLanguage fr. fr Entao o documento xxxx. en. Z sera tratado como sendo um documento em ingles compactado (como o documento xxxx. Z.en). Embora a linguagem de conteudo seja relatada ao cliente, e improvavel que o navegador use essas informacoes. A diretiva AddLanguage e mais util para a negociacao de conteudo. Onde o servidor retorna um de varios documentos com base na preferencia de idioma do cliente. Se varias atribuicoes de idioma forem feitas para a mesma extensao, a ultima encontrada e aquela que e usada. Isto e, para o caso de: AddLanguage en. en AddLanguage en-gb. pt Os documentos AddLanguage en-us. en com a extensao. en serao tratados como sendo en-us. O argumento de extensao e insensivel a maiusculas e minusculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter varias extensoes eo argumento de extensao sera comparado com cada um deles. Consulte tambem AddOutputFilter so esta disponivel no Apache 2.0.26 e posterior. A diretiva AddOutputFilter mapeia a extensao de extensao de nome de arquivo para os filtros que processara as respostas do servidor antes de serem enviadas para o cliente. Isso e alem de quaisquer filtros definidos em outro lugar, incluindo SetOutputFilter e AddOutputFilterByType diretiva. Esse mapeamento e mesclado sobre qualquer um ja em vigor, substituindo todos os mapeamentos que ja existem para a mesma extensao. Por exemplo, a seguinte configuracao processara todos os arquivos. shtml para incluir no lado do servidor e, em seguida, compactara a saida usando moddeflate. AddOutputFilter INCLUDESDEFLATE shtml Se mais de um filtro for especificado, eles devem ser separados por ponto e virgula na ordem em que devem processar o conteudo. O argumento filter e insensivel a maiusculas e minusculas. O argumento de extensao e insensivel a maiusculas e minusculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter varias extensoes eo argumento de extensao sera comparado com cada um deles. Consulte tambem A diretiva AddType mapeia as extensoes de nome de arquivo fornecidas para o tipo de conteudo especificado. Tipo MIME e o tipo MIME a ser usado para nomes de arquivos que contem extensao. Este mapeamento e adicionado a qualquer ja em vigor, substituindo quaisquer mapeamentos que ja existem para a mesma extensao. Esta diretiva pode ser usada para adicionar mapeamentos nao listados no arquivo de tipos MIME (consulte a diretiva TypesConfig). Exemplo AddType image / gif. gif Recomenda-se que novos tipos MIME sejam adicionados usando a diretiva AddType em vez de alterar o arquivo TypesConfig. O argumento de extensao e insensivel a maiusculas e minusculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter varias extensoes eo argumento de extensao sera comparado com cada um deles. Consulte tambem Disponivel no Apache 2.0.26 e posterior. MultiviewsMatch permite tres comportamentos diferentes para modnegotiation s recurso Multiviews. Multiviews permite uma solicitacao de um arquivo, p. indice. Para corresponder a quaisquer extensoes negociadas apos o pedido de base, e. Index. en. Index. fr. Ou index. gz. A opcao NegotiatedOnly fornece que cada extensao que segue o nome base deve correlacionar a uma extensao modmime reconhecida para negociacao de conteudo, p. Charset, Content-Type, Language ou Codificacao. Esta e a implementacao mais rigorosa com menos efeitos secundarios inesperados e e o comportamento predefinido. Para incluir extensoes associadas com manipuladores e / ou filtros, defina a diretiva MultiviewsMatch para os manipuladores. Filtros. Ou ambas as palavras-chave de opcao. Se todos os outros fatores forem iguais, o arquivo menor sera exibido, p. in deciding between index. cgi of 500 bytes and index. pl of 1000 bytes, the. cgi file would win in this example. Users of. asis files might prefer to use the Handler option, if. asis files are associated with the asis-handler . You may finally allow Any extensions to match, even if modmime doesnt recognize the extension. This was the behavior in Apache 1.3, and can cause unpredictable results, such as serving. old or. bak files the webmaster never expected to be served. For example, the following configuration will allow handlers and filters to participate in Multviews, but will exclude unknown files: MultiviewsMatch Handlers Filters See also Removes any character set associations for a set of file extensions RemoveCharset extension extension . virtual host, directory. htaccess RemoveCharset is only available in Apache 2.0.24 and later. The RemoveCharset directive removes any character set associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. The extension argument is case-insensitive and can be specified with or without a leading dot. Example RemoveCharset. shtml Removes any content encoding associations for a set of file extensions RemoveEncoding extension extension . virtual host, directory. htaccess The RemoveEncoding directive removes any encoding associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. An example of its use might be: /foo/.htaccess: AddEncoding x-gzip. gz AddType text/plain. asc ltFiles. gz. ascgt RemoveEncoding. gz lt/Filesgt This will cause foo. gz to be marked as being encoded with the gzip method, but foo. gz. asc as an unencoded plaintext file. Note RemoveEncoding directives are processed after any AddEncoding directives, so it is possible they may undo the effects of the latter if both occur within the same directory configuration. The extension argument is case-insensitive and can be specified with or without a leading dot. The RemoveHandler directive removes any handler associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. An example of its use might be: /foo/.htaccess: AddHandler server-parsed /foo/bar/.htaccess: This has the effect of returning files in the /foo/bar directory to being treated as normal files, rather than as candidates for parsing (see the modinclude module). The extension argument is case-insensitive and can be specified with or without a leading dot. RemoveInputFilter is only available in Apache 2.0.26 and later. The RemoveInputFilter directive removes any input filter associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. The extension argument is case-insensitive and can be specified with or without a leading dot. See also Removes any language associations for a set of file extensions RemoveLanguage extension extension . virtual host, directory. htaccess RemoveLanguage is only available in Apache 2.0.24 and later. The RemoveLanguage directive removes any language associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. The extension argument is case-insensitive and can be specified with or without a leading dot. Removes any output filter associations for a set of file extensions RemoveOutputFilter extension extension . virtual host, directory. htaccess RemoveOutputFilter is only available in Apache 2.0.26 and later. The RemoveOutputFilter directive removes any output filter associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. The extension argument is case-insensitive and can be specified with or without a leading dot. Example See also Removes any content type associations for a set of file extensions RemoveType extension extension . virtual host, directory. htaccess The RemoveType directive removes any MIME type associations for files with the given extensions. This allows. htaccess files in subdirectories to undo any associations inherited from parent directories or the server config files. An example of its use might be: /foo/.htaccess: This will remove any special handling of. cgi files in the /foo/ directory and any beneath it, causing the files to be treated as being of the DefaultType . Note RemoveType directives are processed after any AddType directives, so it is possible they may undo the effects of the latter if both occur within the same directory configuration. The extension argument is case-insensitive and can be specified with or without a leading dot. The TypesConfig directive sets the location of the MIME types configuration file. File-path is relative to the ServerRoot. This file sets the default list of mappings from filename extensions to content types. Most administrators use the provided mime. types file, which associates common filename extensions with IANA registered content types. The current list is maintained at www. iana. org/assignments/media-types/index. This simplifies the httpd. conf file by providing the majority of media-type definitions, and may be overridden by AddType directives as needed. You should not edit the mime. types file, because it may be replaced when you upgrade your server. The file contains lines in the format of the arguments to an AddType directive: The case of the extension does not matter. Blank lines, and lines beginning with a hash character ( ) are ignored. Please do not send requests to the Apache HTTP Server Project to add any new entries in the distributed mime. types file unless (1) they are already registered with IANA, and (2) they use widely accepted, non-conflicting filename extensions across platforms. category/x-subtype requests will be automatically rejected, as will any new two-letter extensions as they will likely conflict later with the already crowded language and character set namespace. See also Notice: This is not a QampA section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, httpd, on Freenode, or sent to our mailing lists . Copyright 2016 The Apache Software Foundation. Licensed under the Apache License, Version 2.0 .