No 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 é etcapache2sites-enabled000-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 deve ser reiniciado para que as alterações tenham efeito - serviço de 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 que os arquivos. htaccess funcionem conforme o esperado, é necessário 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 sobreponham diretrizes anteriores. Você deve recarregar o Apache antes que esta mudança tenha um efeito: 2009.12.08 nota: no download da LAMP há cerca de uma semana com o Ubuntu 9.10 (Karmic) o arquivo de configuração padrão foi etcapache2sites-available000-default e ele incluiu AllowOverride Nenhum no ltDirectory gt in Além de ltDirectory varwwwgt. Além disso, os diretórios em wwwvar 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 Propriedades, selecione Permissões e Forneça ao grupo de usuários que você efetuar login como pelo menos permissão de leitura. Gera a representação textual desse tipo de conteúdo que pode ser usado como o valor de um cabeçalho Content-Type. 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: tipo de conteúdo 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: tipo de conteúdo 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 charset nomeado não está disponível nesta instância da máquina virtual Java 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 Analisa a representação textual de Content-Type valor. 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 - Acionado quando o conjunto de caracteres nomeado não está disponível nesta instância da máquina virtual Java Extrai o valor Content-Type de HttpEntity exatamente como especificado pelo cabeçalho Content-Type da entidade. Retorna null se não for especificado. Parâmetros: entity - entidade HTTP Retorna: 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 Content-Type de HttpEntity. Parâmetros: entity - entidade HTTP Devolve: type de conteúdo Desde: 4.4 getOrDefault Extrai o valor Content-Type de HttpEntity ou retorna o valor padrão DEFAULTTEXT se não explicitamente especificado. Parâmetros: entity - entidade HTTP Retorna: tipo de conteúdo Lança: ParseException - se o texto fornecido não representa um válido Content-Type valor. UnsupportedCharsetException - Acionado quando o charset nomeado não está disponível nesta instância da máquina virtual Java getLenientOrDefault Extrai o valor de Content-Type de HttpEntity ou retorna o valor padrão DEFAULTTEXT se não explicitamente especificado ou incorreto (não pôde ser analisado). GetByMimeType Retorna Content-Type para o tipo MIME fornecido. Parâmetros: mimeType - Tipo MIME Retorna: tipo de conteúdo ou nulo se não for conhecido. Desde: 4.5 withCharset Cria uma nova instância com este tipo MIME e o determinado 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 de MIME e o 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.4Handling dados binários com Axis2 (MTOMSwA) Introdução Apesar da flexibilidade, interoperabilidade e aceitação global do XML, há momentos em serialização de 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 muitas vezes em um formato binário particular. Tradicionalmente, duas técnicas têm sido usadas para lidar com 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 UTF-8 codificação de texto subjacente, codificação base64 aumenta o tamanho dos dados binários por um fator de 1,33 x do tamanho original, enquanto 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 binário bruto. O envio de dados binários por referência é conseguido anexando dados binários puros como entidades externas não segmentadas fora do documento XML e incorporando URIs de referência a essas entidades como elementos ou valores de atributo. Isso impede 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 anexos binários 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 com mau funcionamento. Um exemplo é o WS-Security. Onde o MTOM vem no MTOM (SOAP Message Transmission Optimization Mechanism) é outra especificação que se concentra na resolução do problema quotAttachmentsquot. MTOM tenta aproveitar as vantagens das duas técnicas acima, tentando fundir 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 seja 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 esta 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 XML Schema base64Binary (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 otimizaçã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 armazenar conteúdo binário bruto na forma de javax. activation. DataHandler. OMText foi escolhido para este fim com duas razões. Uma delas é que 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 obter uma ótima 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 String 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 envelope SOAP, independentemente de ele conter conteúdo otimizável ou não, será serializado como uma mensagem MIME MTOM otimizado. Axis2 serializa todos os nós de conteúdo binário como seqüências codificadas Base64 independentemente se eles são qualificados para serem otimizados ou não se a propriedade quotenableMTOMquot estiver definida como False. Se o envelope contiver quaisquer itens de informação de 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 as mensagens otimizadas de MTOM recebidas 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 seqüências 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)
No comments:
Post a Comment