Monday 7 August 2017

Apache mime type binary options


Manipulação de dados binários com conteúdo do Axis2 (MTOM / SwA) Introdução Apesar da flexibilidade, interoperabilidade e aceitação global do XML, há momentos em que serializar dados em XML não faz sentido. Os usuários de serviços da Web podem querer transmitir anexos binários de vários tipos, como imagens, desenhos, documentos XML, etc., juntamente com uma mensagem SOAP. Esses dados são freqüentemente em um formato binário particular. Tradicionalmente, duas técnicas têm sido usadas no tratamento de dados opacos em XML. Enviar dados binários por valor é obtido incorporando dados opacos (obviamente após alguma forma de codificação) como um elemento ou conteúdo de atributo do componente XML de dados. A principal vantagem desta técnica é que dá aos aplicativos a capacidade de processar e descrever dados, com base apenas no componente XML dos dados. O XML suporta dados opacos como conteúdo através do uso de codificação de texto base64 ou hexadecimal. Ambas as técnicas incham o tamanho dos dados. Para a codificação de texto subjacente ao UTF-8, a codificação base64 aumenta o tamanho dos dados binários por um fator de 1,33x do tamanho original, enquanto a codificação hexadecimal expande dados por um fator de 2x. Os fatores acima serão duplicados se a codificação de texto UTF-16 for usada. Também é preocupante a sobrecarga nos custos de processamento (real e percebido) para esses formatos, especialmente quando a decodificação volta para o binário bruto. O envio de dados binários por referência é conseguido anexando dados binários puros como entidades externas não segmentadas externas ao documento XML e incorporando URIs de referência a essas entidades como elementos ou valores de atributo. Isso evita o inchaço desnecessário de dados e desperdício de poder de processamento. O principal obstáculo para o uso dessas entidades não analisadas é a sua grande dependência de DTDs, o que impede a modularidade, bem como o uso de namespaces XML. Havia várias especificações introduzidas no mundo dos serviços da Web para lidar com esse problema de anexação binária usando a técnica quotby referencequot. SOAP with Attachments é um exemplo. Como o SOAP proíbe declarações de tipo de documento (DTD) em mensagens, isso leva ao problema de não representar dados como parte da mensagem infoset, criando, portanto, dois modelos de dados. Esse cenário é como enviar anexos com uma mensagem de email. Mesmo que esses anexos estejam relacionados ao conteúdo da mensagem eles não estão dentro da mensagem. Isso faz com que as tecnologias que processam e descrevem os dados com base no componente XML dos dados não funcionem corretamente. Um exemplo é o WS-Security. Onde MTOM vem em MTOM (SOAP Message Transmission Optimization Mechanism) é outra especificação que se concentra em resolver o quotAttachmentsquot problema. MTOM tenta aproveitar as vantagens das duas técnicas acima, tentando mesclar as duas técnicas. MTOM é na verdade um método de referência quotby. O formato de fio de uma mensagem otimizada MTOM é o mesmo que a mensagem SOAP com anexos, que também torna compatível com Swa endpoints. A característica mais notável do MTOM é o uso do elemento XOP: Include, que é definido na especificação XOP (XML Binary Optimized Packaging) para fazer referência aos anexos binários (entidades gerais externas não analisadas) da mensagem. Com o uso deste elemento exclusivo, o conteúdo binário anexado logicamente torna-se inline (por valor) com o documento SOAP, mesmo que ele realmente é anexado separadamente. Isso funde os dois domínios, tornando possível trabalhar apenas com um modelo de dados. Isso permite que as aplicações processem e descrevam apenas olhando para a parte XML, tornando obsoleta a dependência de DTDs. Em uma nota mais leve, MTOM tem padronizado o mecanismo de referência SwA. O seguinte é um extrato da especificação XOP. No nível conceitual, esses dados binários podem ser considerados base64-codificados no documento XML. Como essa forma conceitual pode ser necessária durante algum processamento do documento XML (por exemplo, para assinar o documento XML), é necessário ter uma correspondência um-para-um entre os conjuntos de informações XML e os pacotes XOP. Portanto, a representação conceitual de tais dados binários é como se fosse codificada em base64, usando a forma léxica canônica do tipo de dados base64Binary Schema XML (consulte XML Schema Parte 2: Datatypes Second Edition 3.2.16 base64Binary). Na direção inversa, XOP é capaz de otimizar apenas dados de Infoset codificados em base64 que estão na forma lexical canônica. Apache Axis2 suporta a codificação Base64. SOAP com anexos e MTOM (mecanismo de optimização de transmissão de mensagens SOAP). MTOM com Modelo de Programação Axis2 AXIOM é (e pode ser o primeiro) Modelo de Objeto que tem a capacidade de armazenar dados binários. Ele tem essa capacidade como OMText pode conter conteúdo binário bruto na forma de javax. activation. DataHandler. OMText foi escolhido para este fim com duas razões. Uma delas é que o XOP (MTOM) é capaz de otimizar apenas dados de Infoset codificados em base64 que estão na forma léxica canônica do tipo de dados base64Binary Schema XML. Outro é preservar o infoset tanto no remetente como no receptor. (Para armazenar o conteúdo binário no mesmo tipo de objeto, independentemente de estar otimizado ou não). O MTOM permite codificar seletivamente porções da mensagem, o que nos permite enviar dados codificados em base64 bem como dados binários brutos conectados externamente referenciados pelo elemento quotXOPquot (conteúdo otimizado) para ser enviado em uma mensagem SOAP. Você pode especificar se um nó OMText que contém dados binários brutos ou dados binários base64encoded está qualificado para ser otimizado no momento da construção desse nó ou posterior. Para uma melhor eficiência do MTOM, um usuário é aconselhado a enviar anexos binários menores usando base64encoding (não otimizado) e anexos maiores como conteúdo otimizado. Além disso, um usuário pode criar um nó de conteúdo binário otimizável usando uma seqüência codificada em base64, que contém conteúdo binário codificado, fornecido com o tipo MIME da representação binária real. Axis2 usa javax. activation. DataHandler para manipular os dados binários. Todos os nós de conteúdo binário otimizados serão serializados como Cadeias de Base64 se quotMTOM não estiver ativadoquot. Você também pode criar nós de conteúdo binário, que não serão otimizados em qualquer caso. Eles serão serializados e enviados como Base64 Strings. Habilitando a otimização do MTOM no lado do cliente em Opções, defina a propriedade quotenableMTOMquot como True quando enviar mensagens. Quando essa propriedade é definida como True, qualquer soquete SOAP, independentemente se ele contém conteúdo otimizável ou não, será serializado como uma mensagem MIME otimizado MTOM. Axis2 serializa todos os nós de conteúdo binário como seqüências codificadas Base64 independentemente se eles são qualificados para ser otimizado ou não se a propriedade quotenableMTOMquot estiver definida como False. Se o envelope contiver qualquer item de informação do elemento do nome xop: Include (veja XML-binário Otimizado Embalagem 3. XOP Infosets Constructs). O usuário não precisa especificar nada para que o Axis2 receba mensagens MTOM otimizadas. Axis2 irá automaticamente identificar e des-serializar em conformidade, como e quando uma mensagem MTOM chega. Habilitando a otimização do MTOM no lado do servidor O servidor do Axis 2 identifica automaticamente mensagens MTOM recebidas de entrada com base no tipo de conteúdo e as desalifa adequadamente. O usuário pode habilitarMTOM no lado do servidor para mensagens de saída, Para habilitarMTOM globalmente para todos os serviços, os usuários podem definir o parâmetro quotenableMTOMquot como True no Axis2.xml. Quando estiver definido, todas as mensagens de saída serão serializadas e enviadas como mensagens MIME optimizadas MTOM. Se não estiver definido, todos os dados binários nos nós de conteúdo binário serão serializados como cadeias codificadas em Base64. Essa configuração pode ser substituída em services. xml com base em por serviço e por operação. Você deve reiniciar o servidor após a configuração desse parâmetro. Acessando Dados Binários Recebidos (Código de Amostra) Gera uma representação textual desse tipo de conteúdo que pode ser usado como o valor de um cabeçalho Content-Type. Create Cria uma nova instância de ContentType. Parâmetros: mimeType - tipo MIME. Não pode ser nulo ou vazio. Ele não pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificação HTTP. Charset - charset. Retorna: type de conteúdo create Cria uma nova instância de ContentType sem um charset. Parâmetros: mimeType - tipo MIME. Não pode ser nulo ou vazio. Ele não pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificação HTTP. Retorna: type de conteúdo create Cria uma nova instância de ContentType. Parâmetros: mimeType - tipo MIME. Não pode ser nulo ou vazio. Ele não pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificação HTTP. Charset - charset. Ele não pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificação HTTP. Este parâmetro é opcional. Retorna: tipo de conteúdo Lança: UnsupportedCharsetException - Acionado quando o conjunto de caracteres nomeado não está disponível nesta instância da máquina virtual Java create Cria uma nova instância de ContentType com os parâmetros fornecidos. Parâmetros: mimeType - tipo MIME. Não pode ser nulo ou vazio. Ele não pode conter caracteres ltgt, ltgt, lt, gt reservados pela especificação HTTP. Params - parâmetros. Retorna: tipo de conteúdo Lança: UnsupportedCharsetException Desde: 4.4 parse Analisa a representação textual de Content-Type value. Parâmetros: s - text Retorna: tipo de conteúdo Lança: ParseException - se o texto fornecido não representa um valor válido Content-Type. UnsupportedCharsetException - Jogado quando o charset nomeado não está disponível nesta instância da máquina virtual Java get Extracts Content-Type valor de HttpEntity exatamente como especificado pelo cabeçalho Content-Type da entidade. Retorna null se não for especificado. Parâmetros: entity - entidade HTTP Devolve: tipo de conteúdo Lança: ParseException - se o texto fornecido não representa um válido Content-Type valor. UnsupportedCharsetException - Acionado quando o conjunto de caracteres nomeado não está disponível nesta instância da máquina virtual Java getLenient Extrai o valor de Content-Type de HttpEntity. Retorna null se não especificado ou incorreto (não pôde ser analisado) .. Parâmetros: entity - entidade HTTP Devolve: type de conteúdo Desde: 4.4 getOrDefault Extrai Content-Type valor de HttpEntity ou retorna o valor padrão DEFAULTTEXT se não explicitamente especificado. Parâmetros: entity - entidade HTTP Devolve: tipo de conteúdo Lança: ParseException - se o texto fornecido não representa um válido Content-Type valor. UnsupportedCharsetException - Lançado quando o conjunto de caracteres nomeado não está disponível nesta instância da máquina virtual Java getLenientOrDefault Extrai valor Content-Type de HttpEntity ou retorna o valor padrão DEFAULTTEXT se não explicitamente especificado ou incorreto (não pôde ser analisado). WithCharset Cria uma nova instância com este tipo MIME e o dado Charset. Parâmetros: charset - charset Retorna: uma nova instância com este tipo MIME e o dado Charset. Desde: 4.3 withCharset Cria uma nova instância com este tipo MIME eo nome Charset dado. Parâmetros: charset - name Retorna: uma nova instância com este tipo MIME eo nome Charset dado. Throws: UnsupportedCharsetException - Acionado quando o charset nomeado não está disponível nesta instância da máquina virtual Java Desde: 4.3 withParameters Cria uma nova instância com este tipo MIME e os parâmetros fornecidos. Parâmetros: params - Retorna: uma nova instância com este tipo MIME e os parâmetros fornecidos. Throws: UnsupportedCharsetException Desde: 4.4In ubuntu, estou executando página html simples que pode rodar mp4 vídeo, tenho configurado o servidor Apache e ter executado página de teste simples para oi mundo, seu trabalho muito bem. No Apache Webserver eu li que precisamos adicionar o seguinte código ao arquivo httpd. conf ou a um arquivo. htaccess no diretório onde estão nossos arquivos de vídeo. Então, minha pergunta é onde está esse arquivo httpd. conf ou. htaccess disponível, eu preciso manualmente para criar esses arquivos ou eles são armazenados em algum lugar. O código da minha página HTML é como este: Por favor me dê as sugestões. O arquivo de configuração padrão para os arquivos sendo servidos pela sua instalação do Apache é / etc / apache2 / sites-enabled / 000-default. É uma boa idéia para fazer backup do arquivo original antes de você brincar com este arquivo. Toda vez que você edita este arquivo, o Apache precisa ser reiniciado / recarregado para que as mudanças tenham efeito - serviço sudo apache2 restart (ou) sudo service apache2 reload. Enquanto que as alterações no. htaccess não exigem que o Apache seja reiniciado. Como dobey mencionado, o arquivo. htaccess vai no DocumentRoot do site. Dê uma olhada na documentação oficial sobre como ativar os arquivos. htaccess. Para fazer com que os arquivos. htaccess funcionem como esperado, você precisa editar este arquivo: Procure uma seção semelhante a esta: Você precisa modificar a linha que contém AllowOverride None para ler AllowOverride All. Isso informa ao Apache que está tudo bem se permitir que os arquivos. htaccess ultrapassem diretrizes anteriores. Você deve recarregar o Apache antes que esta mudança tenha um efeito: 2009.12.08 nota: no download da LAMP há uma semana com o Ubuntu 9.10 (Karmic) o arquivo de configuração padrão era / etc / apache2 / sites-available / 000-default e ele Incluído AllowOverride Nenhum em ltDirectory / gt além de ltDirectory / var / www / gt. Além disso, os diretórios em / www / var / contendo arquivos. htaccess padrão para não dar o acesso de leitura do servidor Apache, resultando no erro Apache Para corrigir, sudo nautilus, clique com o botão direito no diretório com o arquivo. htacces s, Selecione Permissões e dê ao grupo de usuários em que você efetuou login como pelo menos permissão de leitura. HTTPD - Apache2 Apache - Linux. - - -. - , Raposa de fogo. Ópera. Chromium Internet Explorer. Uniform Resource Locator (URL), - Nome de domínio totalmente qualificado (FQDN). , - Ubuntu. FQDN: comunidade. FQDN,: - HTTP (Hyper Text Transfer Protocol). , Protocolo de transferência 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-disponível:. , /etc/apache2/conf. d / etc / apache2 / conf-disponível. Conf-enabled: / etc / apache2 / conf-disponível. , Apache2. Envvars:, Apache2. Mods-disponível:. ,. Mods-enabled: / etc / apache2 / mods-disponível. , Apache2. Ports. conf:,, TCP Apache2. Sites-disponíveis: (Hosts Virtuais) Apache2. Apache2,. Sites-enabled: mods-enabled, sites-enabled / etc / apache2 / sites-disponíveis. , Sites-disponíveis,, Apache2. Mágica: MIME-. , , Incluir. . . Apache2. , Mime - TiposConfig. , /etc/apache2/mods-available/mime. conf. , /etc/mime. types. Apache2. Apache2. O Apache2 é fornecido com uma configuração padrão virtual-host-friendly. Ou seja, ele é configurado com um único host virtual padrão (usando a diretiva VirtualHost) que pode ser modificado ou usado como-é se você tiver um único site ou usado como um modelo para hosts virtuais adicionais se você tiver vários sites. Se for deixado sozinho, o host virtual padrão servirá como seu site padrão ou os usuários do site verão se a URL que eles inserir não corresponde à diretiva ServerName de qualquer um de seus sites personalizados. Para modificar o host virtual padrão, edite o arquivo /etc/apache2/sites-available/000-default. conf. - benzóico. ,. ,. - benzóico. - benzóico. ServerAdmin,. Webmasterlocalhost. (). , Apache2,. , / Etc / apache2 / sites-disponível. Ouça,, IP-, Apache2. IP-, Apache2 IP-,,. 80. 127.0.0.1:80, Apache2. ,, 81. /etc/apache2/ports. conf A diretiva ServerName é opcional e especifica qual FQDN seu site deve responder. O host virtual padrão não tem nenhuma diretiva ServerName especificada, portanto, ele responderá a todas as solicitações que não correspondem a uma diretiva ServerName em outro host virtual. Se você acabou de adquirir o nome de domínio ubunturocks e deseja hospedá-lo em seu servidor Ubuntu, o valor da diretiva ServerName em seu arquivo de configuração 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 compõem o site. O valor padrão é / 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 diretório, se necessário, VirtualHost. A2ensite. Apache2: mynewsite VirtualHost. , ServerName VirtualHost. , A2dissite. . Apache2. - benzóico. . DirectoryIndex (),, (/). , Www. example / thisdirectory /, DirectoryIndex,,, índices, (Permissão negada). , DirectoryIndex. , Índices de Opções, HTML. /etc/apache2/mods-available/dir. conf index index. cgi index. pl índice index. xhtml index. htm. , Apache2,,. A diretiva ErrorDocument permite especificar um arquivo para o Apache2 usar para eventos de erro específicos. Por exemplo, se um usuário solicitar um recurso que não existe, ocorrerá um erro 404. Por padrão, o Apache2 retornará simplesmente um código de retorno HTTP 404. Leia /etc/apache2/conf-available/localized-error-pages. conf para obter instruções detalhadas sobre como usar o ErrorDocument, incluindo localizações de arquivos de exemplo. Por padrão, o servidor grava o log de transferência no arquivo /var/log/apache2/access. log. Você pode alterar isso em uma base por site nos arquivos de configuração do host virtual com a diretiva CustomLog ou omiti-lo para aceitar o padrão, especificado em /etc/apache2/conf-available/other-vhosts-access-log. conf. Você também pode especificar o arquivo para o qual os erros são registrados, por meio da diretiva ErrorLog, cujo padrão é /var/log/apache2/error. log. Estes são mantidos separados dos logs de transferência para auxiliar na solução de problemas com seu servidor Apache2. Você também pode especificar o LogLevel (o valor padrão é warn) eo LogFormat (consulte /etc/apache2/apache2.conf para o valor padrão). ,. Opções. Diretório XML: Diretório de Opções (),: ExecCGI CGI-. CGI-,. Inclui. HTML-. Apache SSI (Ubuntu). IncluiNOEXEC, exec incluem CGI. Índices, (índice). ,, DocumentRoot. - benzóico. Multiview - Multivistas de conteúdo-negociado de suporte esta opção está desabilitada por padrão por razões de segurança. Consulte a documentação do Apache2 nesta opção. SymLinksIfOwnerMatch, /. Httpd httpd LockFile LockFile bloqueio-,, USEFCNTLSERIALIZEDACCEPT USEFLOCKSERIALIZEDACCEPT. . , NFS. (raiz). PidFile PidFile, (processo ID pid). (raiz). . Usuário Usuário (userid),. . - benzóico. Usuário: www-data. ,, Usuário root. (Raiz) -. Grupo Usuário do grupo. Grupo,. Grupo: módulo www-data. Apache modmime Sumário Este módulo é usado para associar vários bits de meta informação com arquivos por suas extensões de nome de arquivo. Essas informações relacionam o nome do arquivo do documento com o tipo, a linguagem, o conjunto de caracteres e a codificação do mime. Essas informações são enviadas para o navegador e participam da negociação de conteúdo, de modo que as preferências dos usuários são respeitadas ao escolher um dos vários arquivos possíveis para serem veiculados. Consulte modnegotiation para obter mais informações sobre negociação de conteúdo. As diretivas AddCharset. AddEncoding. AddLanguage e AddType são todos usados ​​para mapear extensões de arquivo para as meta-informações para esse arquivo. Respectivamente, eles definem o conjunto de caracteres, codificação de conteúdo, conteúdo-idioma e tipo MIME (tipo de conteúdo) de documentos. A diretiva TypesConfig é usada para especificar um arquivo que também mapeia extensões em tipos MIME. Além disso, o modmime pode definir o manipulador e os filtros que originam e processam o conteúdo. As diretivas AddHandler. AddOutputFilter. E AddInputFilter controlam os módulos ou scripts que servem o documento. A diretiva MultiviewsMatch permite que modnegotiation considere essas extensões de arquivo a serem incluídas ao testar combinações de Multiviews. Enquanto o modmime associa meta-informação com extensões de nome de arquivo, o servidor núcleo fornece diretivas que são usadas para associar todos os arquivos em um determinado recipiente (por exemplo, ltLocationgt. LtDirectorygt ou ltFilesgt) com meta-informações específicas. Essas diretivas incluem ForceType. SetHandler. SetInputFilter. E SetOutputFilter. As diretivas principais substituem qualquer mapeamento de extensão de nome de arquivo definido no modmime. Observe que alterar as informações de meta para um arquivo não altera o valor do cabeçalho Last-Modified. Assim, as cópias em cache podem ainda ser usadas por um cliente ou proxy, com os cabeçalhos anteriores. Se você alterar as meta-informações (idioma, tipo de conteúdo, conjunto de caracteres ou codificação), talvez seja necessário tocar arquivos afetados (atualizando a data da última modificação) para garantir que todos os visitantes recebam os cabeçalhos de conteúdo corrigidos. Tópicos Diretivas Consulte também Arquivos podem ter mais de uma extensão, ea ordem das extensões é normalmente irrelevante. Por exemplo, se o arquivo welcome. fr mapear para o tipo de conteúdo text / html e para o idioma francês, o arquivo welcome. fr mapeará exatamente as mesmas informações. Se for dado mais de um ramal que mapeie para o mesmo tipo de metanálise, então o um à direita será usado, exceto para idiomas e codificações de conteúdo. Por exemplo, se. gif mapeia para o MIME-tipo de imagem / gif e mapeia para o MIME-tipo text / html. Então o arquivo welcome. gif será associado com o texto / html do tipo MIME. As linguagens e as codificações de conteúdo são tratadas como acumulativas, porque é possível atribuir mais de um idioma ou codificação a um recurso específico. Por exemplo, o arquivo welcome. en. de será entregue com Content-Language: en, de e Content-Type: text / html. Cuidado deve ser tomado quando um arquivo com várias extensões fica associado com um tipo MIME e um manipulador. Isso geralmente resultará na solicitação sendo manipulada pelo módulo associado com o manipulador. Por exemplo, se a extensão. imap é mapeada para o manipulador imap-file (from modimagemap) ea extensão é mapeada para o tipo MIME text / html. Então o arquivo world. imap será associado com o manipulador de arquivos imap eo texto / html tipo MIME. Quando ele é processado, o manipulador de arquivo imap será usado e, portanto, será tratado como um arquivo de imagemap modimagemap. Se preferir apenas a última parte separada por pontos do nome de ficheiro a ser mapeada para uma determinada peça de metadados, não utilize as directivas Adicionar. Por exemplo, se você deseja ter o arquivo foo. cgi processado como um script CGI, mas não o arquivo bar. cgi. Em vez de usar AddHandler cgi-script. cgi. Use o manipulador Configurar com base na extensão final somente ltFilesMatch. cgigt SetHandler cgi-script lt / FilesMatchgt Um arquivo de um tipo MIME particular pode ser adicionalmente codificado de uma maneira específica para simplificar a transmissão pela Internet. Enquanto isso geralmente se referem à compressão, como gzip. Ele também pode se referir a criptografia, como um pgp ou para uma codificação como UUencoding, que é projetado para transmitir um arquivo binário em um formato ASCII (texto). O HTTP / 1.1 RFC. A seção 14.11 coloca desta forma: O Content-Encoding entidade-cabeçalho campo é usado como um modificador para o media-type. Quando presente, seu valor indica quais codificações de conteúdo adicionais foram aplicadas ao corpo de entidade e, portanto, quais mecanismos de descodificação devem ser aplicados para obter o tipo de mídia referenciado pelo campo de cabeçalho Content-Type. Content-Encoding é usado principalmente para permitir que um documento seja compactado sem perder a identidade de seu tipo de mídia subjacente. Ao usar mais de uma extensão de arquivo (consulte a seção acima sobre várias extensões de arquivo), você pode indicar que um arquivo é de um tipo específico. E também tem uma codificação particular. Por exemplo, você pode ter um arquivo que é um documento do Microsoft Word, que é pkzipped para reduzir seu tamanho. Se a extensão. doc estiver associada ao tipo de arquivo do Microsoft Word ea extensão. zip estiver associada à codificação do arquivo pkzip, o arquivo Resume. doc. zip seria conhecido por ser um documento do Word pkziped. O Apache envia um cabeçalho Content-encoding com o recurso, para informar o navegador do cliente sobre o método de codificação. Além do tipo de arquivo e da codificação do arquivo, outra informação importante é o idioma em que um determinado documento está, e em qual conjunto de caracteres o arquivo deve ser exibido. Por exemplo, o documento pode ser escrito no alfabeto vietnamita, ou em cirílico, e deve ser exibido como tal. Esta informação, também, é transmitida em cabeçalhos HTTP. O conjunto de caracteres, linguagem, codificação e tipo mime são todos usados ​​no processo de negociação de conteúdo (ver modnegotiation) para determinar qual documento deve ser entregue ao cliente, quando houver documentos alternativos em mais de um conjunto de caracteres, linguagem, codificação ou mime digitar. Todas as associações de extensões de nome de arquivo criadas com AddCharset. AddEncoding. As diretivas AddLanguage e AddType (e as extensões listadas no MimeMagicFile) participam desse processo seleto. Extensões de nome de arquivo associadas somente com o AddHandler. As diretivas AddInputFilter ou AddOutputFilter podem ser incluídas ou excluídas da correspondência usando a diretiva MultiviewsMatch. Para transmitir essas informações adicionais, o Apache opcionalmente envia um cabeçalho Content-Language, para especificar o idioma em que o documento está e pode acrescentar informações adicionais ao cabeçalho Content-Type para indicar o conjunto de caracteres específico que deve ser usado para processar corretamente o em formação. Content-Language: en, fr Tipo de conteúdo: text / plain charsetISO-8859-1 A especificação do idioma é a abreviatura de duas letras para o idioma. O charset é o nome do conjunto de caracteres particular que deve ser usado. A diretiva AddEncoding mapeia as extensões de nome de arquivo fornecidas para o tipo de codificação especificado. MIME-enc é a codificação MIME a ser usada para documentos que contêm a extensão. Este mapeamento é adicionado a qualquer já em vigor, substituindo quaisquer mapeamentos que já existem para a mesma extensão. Exemplo AddEncoding x-gzip. gz AddEncoding x-compress. Z Isso fará com que os nomes de arquivos contendo a extensão. gz sejam marcados como codificados usando a codificação x-gzip e os nomes de arquivos contendo a extensão. Z sejam marcados como codificados com x-compress . Os clientes antigos esperam x-gzip e x-compress. No entanto, o padrão dita que theyre equivalente a gzip e comprimir, respectivamente. O Apache faz comparações de codificação de conteúdo ignorando qualquer x-. Ao responder com uma codificação, o Apache usará qualquer forma (ou seja, x-foo ou foo) que o cliente solicitou. Se o cliente não solicitar especificamente um formulário específico, o Apache usará o formulário fornecido pela diretiva AddEncoding. Para tornar esta longa história curta, você deve sempre usar x-gzip e x-compress para estas duas codificações específicas. Codificações mais recentes, tais como deflate deve ser especificado sem o x-. O argumento de extensão é insensível a maiúsculas e minúsculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter várias extensões eo argumento de extensão será comparado com cada um deles. A diretiva AddLanguage mapeia a extensão de nome de arquivo dada para o idioma de conteúdo especificado. MIME-lang é a linguagem MIME de nomes de arquivos que contêm extensão. Este mapeamento é adicionado a qualquer já em vigor, substituindo quaisquer mapeamentos que já existem para a mesma extensão. Exemplo AddEncoding x-compress. Z AddLanguage en. en AddLanguage fr. fr Então o documento xxxx. en. Z será tratado como sendo um documento em inglês compactado (como o documento xxxx. Z.en). Embora a linguagem de conteúdo seja relatada ao cliente, é improvável que o navegador use essas informações. A diretiva AddLanguage é mais útil para a negociação de conteúdo. Onde o servidor retorna um de vários documentos com base na preferência de idioma do cliente. Se várias atribuições de idioma forem feitas para a mesma extensão, a última encontrada é aquela que é usada. Isto é, para o caso de: AddLanguage en. en AddLanguage en-gb. pt Os documentos AddLanguage en-us. en com a extensão. en serão tratados como sendo en-us. O argumento de extensão é insensível a maiúsculas e minúsculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter várias extensões eo argumento de extensão será comparado com cada um deles. Consulte também AddOutputFilter só está disponível no Apache 2.0.26 e posterior. A diretiva AddOutputFilter mapeia a extensão de extensão de nome de arquivo para os filtros que processará as respostas do servidor antes de serem enviadas para o cliente. Isso é além de quaisquer filtros definidos em outro lugar, incluindo SetOutputFilter e AddOutputFilterByType diretiva. Esse mapeamento é mesclado sobre qualquer um já em vigor, substituindo todos os mapeamentos que já existem para a mesma extensão. Por exemplo, a seguinte configuração processará todos os arquivos. shtml para incluir no lado do servidor e, em seguida, compactará a saída usando moddeflate. AddOutputFilter INCLUDESDEFLATE shtml Se mais de um filtro for especificado, eles devem ser separados por ponto e vírgula na ordem em que devem processar o conteúdo. O argumento filter é insensível a maiúsculas e minúsculas. O argumento de extensão é insensível a maiúsculas e minúsculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter várias extensões eo argumento de extensão será comparado com cada um deles. Consulte também A diretiva AddType mapeia as extensões de nome de arquivo fornecidas para o tipo de conteúdo especificado. Tipo MIME é o tipo MIME a ser usado para nomes de arquivos que contêm extensão. Este mapeamento é adicionado a qualquer já em vigor, substituindo quaisquer mapeamentos que já existem para a mesma extensão. Esta diretiva pode ser usada para adicionar mapeamentos não 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 extensão é insensível a maiúsculas e minúsculas e pode ser especificado com ou sem um ponto inicial. Nomes de arquivo podem ter várias extensões eo argumento de extensão será comparado com cada um deles. Consulte também Disponível no Apache 2.0.26 e posterior. MultiviewsMatch permite três comportamentos diferentes para modnegotiation s recurso Multiviews. Multiviews permite uma solicitação de um arquivo, p. índice. Para corresponder a quaisquer extensões negociadas após o pedido de base, e. Index. en. Index. fr. Ou index. gz. A opção NegotiatedOnly fornece que cada extensão que segue o nome base deve correlacionar a uma extensão modmime reconhecida para negociação de conteúdo, p. Charset, Content-Type, Language ou Codificação. Esta é a implementação mais rigorosa com menos efeitos secundários inesperados e é o comportamento predefinido. Para incluir extensões associadas com manipuladores e / ou filtros, defina a diretiva MultiviewsMatch para os manipuladores. Filtros. Ou ambas as palavras-chave de opção. Se todos os outros fatores forem iguais, o arquivo menor será 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 .

No comments:

Post a Comment