Apache Mime Tipo Binario Opcoes




No 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 etcapache2sites-enabled000-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 deve ser reiniciado para que as alteracoes tenham efeito - servico de 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 que os arquivos. htaccess funcionem conforme o esperado, e necessario 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 sobreponham diretrizes anteriores. Voce deve recarregar o Apache antes que esta mudanca tenha um efeito: 2009.12.08 nota: no download da LAMP ha cerca de uma semana com o Ubuntu 9.10 (Karmic) o arquivo de configuracao padrao foi etcapache2sites-available000-default e ele incluiu AllowOverride Nenhum no ltDirectory gt in Alem de ltDirectory varwwwgt. Alem disso, os diretorios em wwwvar 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 Propriedades, selecione Permissoes e Forneca ao grupo de usuarios que voce efetuar login como pelo menos permissao de leitura. Gera a representacao textual desse tipo de conteudo que pode ser usado como o valor de um cabecalho Content-Type. 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: tipo de conteudo 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: tipo de conteudo 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 charset nomeado nao esta disponivel nesta instancia da maquina virtual Java 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 Analisa a representacao textual de Content-Type valor. Parametros: s - text Retorna: tipo de conteudo Lanca: ParseException - se o texto fornecido nao representa um valor valido Content-Type. UnsupportedCharsetException - Acionado quando o conjunto de caracteres nomeado nao esta disponivel nesta instancia da maquina virtual Java Extrai o valor Content-Type de HttpEntity exatamente como especificado pelo cabecalho Content-Type da entidade. Retorna null se nao for especificado. Parametros: entity - entidade HTTP Retorna: 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 Content-Type de HttpEntity. Parametros: entity - entidade HTTP Devolve: type de conteudo Desde: 4.4 getOrDefault Extrai o valor Content-Type de HttpEntity ou retorna o valor padrao DEFAULTTEXT se nao explicitamente especificado. Parametros: entity - entidade HTTP Retorna: tipo de conteudo Lanca: ParseException - se o texto fornecido nao representa um valido Content-Type valor. UnsupportedCharsetException - Acionado quando o charset nomeado nao esta disponivel nesta instancia da maquina virtual Java getLenientOrDefault Extrai o valor de Content-Type de HttpEntity ou retorna o valor padrao DEFAULTTEXT se nao explicitamente especificado ou incorreto (nao pode ser analisado). GetByMimeType Retorna Content-Type para o tipo MIME fornecido. Parametros: mimeType - Tipo MIME Retorna: tipo de conteudo ou nulo se nao for conhecido. Desde: 4.5 withCharset Cria uma nova instancia com este tipo MIME e o determinado 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 de MIME e o 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.4Handling dados binarios com Axis2 (MTOMSwA) Introducao Apesar da flexibilidade, interoperabilidade e aceitacao global do XML, ha momentos em serializacao de 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 muitas vezes em um formato binario particular. Tradicionalmente, duas tecnicas tem sido usadas para lidar com 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 UTF-8 codificacao de texto subjacente, codificacao base64 aumenta o tamanho dos dados binarios por um fator de 1,33 x do tamanho original, enquanto 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 binario bruto. O envio de dados binarios por referencia e conseguido anexando dados binarios puros como entidades externas nao segmentadas fora do documento XML e incorporando URIs de referencia a essas entidades como elementos ou valores de atributo. Isso impede 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 anexos binarios 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 com mau funcionamento. Um exemplo e o WS-Security. Onde o MTOM vem no MTOM (SOAP Message Transmission Optimization Mechanism) e outra especificacao que se concentra na resolucao do problema quotAttachmentsquot. MTOM tenta aproveitar as vantagens das duas tecnicas acima, tentando fundir 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 seja realmente 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 esta 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 XML Schema base64Binary (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 otimizacao 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 armazenar conteudo binario bruto na forma de javax. activation. DataHandler. OMText foi escolhido para este fim com duas razoes. Uma delas e que 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 obter uma otima 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 String 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 envelope SOAP, independentemente de ele conter conteudo otimizavel ou nao, sera serializado como uma mensagem MIME MTOM otimizado. Axis2 serializa todos os nos de conteudo binario como sequencias codificadas Base64 independentemente se eles sao qualificados para serem otimizados ou nao se a propriedade quotenableMTOMquot estiver definida como False. Se o envelope contiver quaisquer itens de informacao de 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 as mensagens otimizadas de MTOM recebidas 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 sequencias 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)