Thursday 3 August 2017

Overridemimetype Binary Options


Opções binárias Broker Apesar de opções binárias são uma forma relativamente nova de comércio dentro do mercado de ações e outros mercados financeiros, é uma área em rápido crescimento dos mercados de investimento. Os comerciantes experientes são dabbling com esta técnica e abriu a porta para que muitos comerciantes do principiante investem nos mercados. No entanto, é essencial compreender os processos e riscos associados a este tipo de negociação. As opções binárias transformaram-se um navio negociando legal em 2008 em que os Estados Unidos o reconheceram como uma maneira válida, embora diferente de negociar na troca conservada em estoque. É reconhecido como uma das maneiras mais fáceis para qualquer um começar a negociar especialmente aqueles sem experiência. Quando você troca em opções binárias você nunca possui uma mercadoria ou ativo. Em vez disso, você está especulando sobre se o preço de um ativo específico geralmente definido pelo preço da ação, vai para cima ou para baixo dentro de um período de tempo definido. Na verdade, você está apostando ou fazendo uma previsão sobre o movimento do preço de um determinado ativo de você obtê-lo direito você ganhar dinheiro, se não, você perde dinheiro. Cada especulação é geralmente muito curto prazo. Há uma boa quantidade de informações fornecidas a você antes do comércio, se você usar o software online ou um corretor de opções binário aprovado. Em essência, você escolhe um ativo e decidir se o preço vai para cima ou para baixo você não pode hedge suas apostas e espero que ele vai ficar o mesmo Isso torna o conceito de seu investimento muito simples ou o preço se move na direção que você diz que você vai Obter um retorno sobre o seu investimento, ou, ele se move o caminho oposto e você não recebe nada. Depois de ter escolhido o seu activo, em seguida, o seu corretor de opções binárias irá dizer-lhe a percentagem de retorno que você receberá se você estiver correto. Em seguida, você precisa escolher o prazo para sua especulação e quanto dinheiro você está disposto a cometer. Depois de ter decidido todos esses fatores e você está feliz com a sua decisão, iniciar o comércio, selecionando executar em sua tela. A negociação de opção binária de espera e espera é uma das poucas áreas de investimento onde você vai saber exatamente o que seu retorno será fornecer o preço das ações se move na direção certa. Você também está aberto para negociação em uma enorme variedade de mercados se moeda, ações ou commodities o princípio é o mesmo em todos os mercados. De fato, as opções binárias são uma das maneiras mais fáceis de negociar nos mercados internacionais sem precisar de várias contas de corretagem e complicar seus investimentos. Apenas 3 etapas simples a seu sucesso Registre-se e obtenha um presente Fund sua conta de troca e obtenha um sentido do mercado do bônus Predict e ganhe o PASSO 1 - Registre-se e obtenha um Registo do presente tomará menos de um minuto. Você receberá imediatamente sua conta de negociação e todas as ferramentas necessárias para uma negociação bem-sucedida. Nós avaliamos altamente sua escolha. É por isso que preparamos os presentes para você: aulas de vídeo de opções binárias. PASSO 2 - Financiar sua Conta de Negociação e obter um Bônus Você pode financiar uma conta logo após o registro. Estes são os serviços de financiamento mais populares, que lidam conosco: Ao financiar uma conta de negociação, você pode obter os fundos adicionais como um bônus. Ao investir mais, o seu bônus pode ser mesmo dobrado Mac, PC, tablet ou qualquer smartphone mais de 100 ativos disponíveis para negociação. De qualquer dispositivo, a qualquer momento e com um alto nível de segurança. Criando estas plataformas de negociação, nós trabalhamos cada detalhe, a fim de lhe fornecer as condições confortáveis ​​para multiplicar o seu sucesso Garantias retiradas processamento dentro de 1 hora Possibilidade de comércio durante fins de semana Ampla gama de métodos de financiamento e retiradas 100 garantidos de negociação com os dados Finpari 2016. Finpari Todos os direitos reservados Ao negociar opções binárias como com quaisquer ativos financeiros, há uma possibilidade que você pode sustentar um Perda parcial ou total de seus fundos de investimento na negociação. Como resultado, é expressamente aconselhado que você nunca deve investir com, ou negociar sobre, o dinheiro que você não pode dar ao luxo de perder através desta forma de negociação. A Finpari não oferece garantias de lucro nem evita perdas na negociação. O Website eo Conteúdo podem estar disponíveis em vários idiomas. A versão em inglês é a versão original e a única que vincula a Finpari prevalecerá sobre qualquer outra versão em caso de discrepância. A Finpari não será responsável por quaisquer traduções errôneas, inadequadas ou enganosas da versão original para outras línguas. A Finpari, nem os seus agentes ou parceiros não estão registados e não prestam quaisquer serviços no território dos EUA. Sobre a nossa empresaHeres como eu fiz isso. Esta técnica é fornecida em uma resposta a outra pergunta SO, mas também é relevante aqui. Eu não queria base64 codificar nada. Eu queria baixar e analisar arquivos binários no navegador via JavaScript, sem modificar o servidor para codificá-los especialmente. Descobri que no Firefox, coercing o mimetype da resposta via overrideMimeType (). Eu poderia usar XMLHttpRequest. responseText. No IE, é diferente porque: responseText no IE trunca no primeiro zero. Para fluxos binários este é um grande problema. Não há XMLHttpRequest. overrideMimeType (). Para forçar o IE a tratar fluxos binários como texto. Enquanto existe um XMLHttpRequest. responseBody (IE apenas) que é projetado especificamente para ser usado com fluxos de dados binários, maddeningly que a propriedade não é utilizável a partir de Javascript. Portanto, a necessidade é converter IEs responseBody propriedade em uma coisa que se parece com responseText do FireFox, com a coação mime-tipo. Isso é possível usando VBScript injetado. Para torná-lo cross-browser, você precisa apenas embalar a lógica do navegador específico em um condicional. Isso é o que eu usei: em seguida, chamar readByte (i) para obter o byte na posição i no arquivo binário. Crédito para Miskun para a conversão VBScript logic. jQuery. ajax () Nota: Você precisará especificar uma entrada complementar para este tipo em conversores para que isso funcione corretamente. Por padrão, todas as solicitações são enviadas de forma assíncrona (isto é, isso é definido como true por padrão). Se você precisar de solicitações síncronas, defina esta opção como false. Solicitações entre domínios e dataType: as solicitações quotjsonpquot não suportam a operação síncrona. Observe que solicitações síncronas podem bloquear temporariamente o navegador, desativando quaisquer ações enquanto a solicitação estiver ativa. A partir de jQuery 1.8. O uso de async: false com jqXHR (.Deferred) é depreciado você deve usar o sucesso / erro / opções de callback completo em vez dos métodos correspondentes do objeto jqXHR, como jqXHR. done (). Uma função de retorno de chamada de pré-solicitação que pode ser usada para modificar o objeto jqXHR (em jQuery 1.4.x, XMLHTTPRequest) antes de ser enviado. Use isso para definir cabeçalhos personalizados, etc. Os objetos jqXHR e settings são passados ​​como argumentos. Este é um evento do Ajax. Retornando false na função beforeSend cancelará a solicitação. A partir de jQuery 1.5. A opção beforeSend será chamada independentemente do tipo de solicitação. Cache (padrão: true, false para dataType aposscriptapos e aposjsonpapos) Se definido como false. Forçará as páginas solicitadas a não serem armazenadas em cache pelo navegador. Nota: Configurar cache para false só funcionará corretamente com as solicitações HEAD e GET. Ele funciona adicionando quot quot aos parâmetros GET. O parâmetro não é necessário para outros tipos de solicitações, exceto no IE8 quando um POST é feito para um URL que já tenha sido solicitado por um GET. Uma função a ser chamada quando o pedido termina (depois de sucesso e callbacks de erro são executados). A função recebe dois argumentos: O objeto jqXHR (em jQuery 1.4.x, XMLHTTPRequest) e uma string categorizando o status da solicitação (quotsuccessquot. Quotnotmodifiedquot. Quotnocontentquot. Quoterrorquot. Quottimeoutquot. Quotabortquot. Ou quotparsererrorquot). A partir de jQuery 1.5. A configuração completa pode aceitar uma matriz de funções. Cada função será chamada por sua vez. Este é um evento do Ajax. Um objeto de pares string / regular-expression que determinam como o jQuery irá analisar a resposta, dado o seu tipo de conteúdo. (Versão adicionada: 1.5) contentType (padrão: aposapplication / x-www-form-urlencoded charsetUTF-8apos) Ao enviar dados para o servidor, use esse tipo de conteúdo. O padrão é quotapplication / x-www-form-urlencoded charsetUTF-8quot, o que é bom para a maioria dos casos. Se você passar explicitamente um tipo de conteúdo para. ajax (). Então ele sempre é enviado para o servidor (mesmo se nenhum dado é enviado). A partir de jQuery 1.6 você pode passar false para dizer jQuery para não definir qualquer tipo de conteúdo cabeçalho. Nota: A especificação XMLHttpRequest do W3C determina que o charset é sempre UTF-8 especificando outro charset não forçará o navegador a alterar a codificação. Nota: Para solicitações entre domínios, defina o tipo de conteúdo como algo diferente de application / x-www-form-urlencoded. Multipart / form-data. Ou text / plain irá disparar o navegador para enviar uma solicitação OPTIONS pré-vôo ao servidor. Este objeto será o contexto de todos os retornos de chamada relacionados ao Ajax. Por padrão, o contexto é um objeto que representa as configurações do Ajax usadas na chamada (.ajaxSettings mescladas com as configurações passadas para. ajax). Por exemplo, especificar um elemento DOM como o contexto fará com que o contexto para o callback completo de uma solicitação, da seguinte forma: Um objeto contendo dataType-to-dataType conversores. Cada valor converteraposs é uma função que retorna o valor transformado da resposta. Se você deseja forçar uma solicitação crossDomain (como JSONP) no mesmo domínio, defina o valor de crossDomain como true. Isso permite, por exemplo, redirecionamento do servidor para outro domínio. (Versão adicionada: 1.5) Dados a serem enviados para o servidor. Ele é convertido em uma seqüência de consulta, se não já uma seqüência de caracteres. Itaposs anexado ao url para GET-solicitações. Consulte a opção processData para evitar este processamento automático. O objeto deve ser pares de chave / valor. Se valor for um Array, jQuery serializa vários valores com a mesma chave com base no valor da configuração tradicional (descrita abaixo). Uma função a ser usada para manipular os dados de resposta brutos de XMLHttpRequest. Esta é uma função de pré-filtragem para sanitizar a resposta. Você deve devolver os dados higienizados. A função aceita dois argumentos: Os dados brutos retornados do servidor e o parâmetro aposdataTypeapos. DataType (padrão: Guess Inteligente (xml, json, script ou html)) O tipo de dados que você está esperando de volta do servidor. Se nenhum for especificado, o jQuery tentará inferir baseado no tipo MIME da resposta (um tipo MIME XML renderá XML, no 1.4 o JSON renderá um objeto JavaScript, no script 1.4 executará o script e qualquer outra coisa será Retornado como uma string). Os tipos disponíveis (eo resultado passado como o primeiro argumento para o seu retorno de chamada de sucesso) são: quotxmlquot. Retorna um documento XML que pode ser processado via jQuery. Quothtmlquot. Retorna HTML como texto simples incluídas tags de script são avaliadas quando inserido no DOM. Quotscriptquot. Avalia a resposta como JavaScript e retorna como texto sem formatação. Desativa o cache adicionando um parâmetro de cadeia de consulta, TIMESTAMP. Para o URL, a menos que a opção de cache esteja definida como true. Nota: Isso transformará POSTs em GETs para solicitações de domínio remoto. Quotjsonquot. Avalia a resposta como JSON e retorna um objeto JavaScript. As solicitações de quotjsonquot de domínio cruzado são convertidas em quotjsonpquot, a menos que o pedido inclua jsonp: false em suas opções de solicitação. Os dados JSON são analisados ​​de forma estrita, qualquer JSON malformado é rejeitado e um erro de análise é lançado. A partir de jQuery 1.9, uma resposta vazia também é rejeitada o servidor deve retornar uma resposta de nulo ou em vez disso. (Consulte json. org para obter mais informações sobre a formatação adequada do JSON.) Quotjsonpquot. Carrega em um bloco JSON usando JSONP. Adiciona um quotcallbackquot extra ao final de seu URL para especificar o retorno de chamada. Desativa o cache adicionando um parâmetro de cadeia de consulta, quotTIMESTAMPquot. Para o URL, a menos que a opção de cache esteja definida como true. Quottextquot. Uma seqüência de texto sem formatação. Valores múltiplos, separados por espaço: A partir de jQuery 1.5. JQuery pode converter um dataType do que recebeu no cabeçalho Content-Type para o que você precisa. Por exemplo, se você deseja que uma resposta de texto seja tratada como XML, use quottext xmlquot para o tipo de dados. Você também pode fazer uma solicitação JSONP, recebê-la como texto e interpretada pelo jQuery como XML: quotjsonp text xmlquot. Da mesma forma, uma string abreviada como quotjsonp xmlquot tentará primeiro converter do jsonp para xml, e, se não, converter de jsonp para texto e, em seguida, de texto para xml. Uma função a ser chamada se a solicitação falhar. A função recebe três argumentos: O objeto jqXHR (em jQuery 1.4.x, XMLHttpRequest), uma string que descreve o tipo de erro que ocorreu e um objeto de exceção opcional, se ocorreu. Valores possíveis para o segundo argumento (além de nulo) são quottimeoutquot. Quoterrorquot. Quotabortquot. E quotparsererrorquot. Quando ocorre um erro HTTP, errorThrown recebe a parte textual do status HTTP, como quotNot Foundquot ou quotInternal Server Error. quot A partir de jQuery 1.5. A configuração de erro pode aceitar uma matriz de funções. Cada função será chamada por sua vez. Observação: Esse manipulador não é chamado para scripts entre domínios e solicitações JSONP entre domínios. Este é um evento do Ajax. Se acionar manipuladores de eventos Ajax globais para esse pedido. O padrão é true. Defina como false para impedir que os manipuladores globais como ajaxStart ou ajaxStop sejam acionados. Isso pode ser usado para controlar vários Eventos Ajax. Um objeto de chave de cabeçalho adicional / pares de valor para enviar junto com solicitações usando o transporte XMLHttpRequest. O cabeçalho X-Requested-With: XMLHttpRequest sempre é adicionado, mas seu valor XMLHttpRequest padrão pode ser alterado aqui. Valores na configuração de cabeçalhos também podem ser sobrescritos da função beforeSend. (Versão adicionada: 1.5) ifModified (padrão: false) Permitir que o pedido seja bem-sucedido somente se a resposta tiver sido alterada desde a última solicitação. Isso é feito verificando o cabeçalho Last-Modified. O valor padrão é false. Ignorando o cabeçalho. No jQuery 1.4 esta técnica também verifica os aposetagapos especificados pelo servidor para capturar dados não modificados. IsLocal (padrão: depende do protocolo de localização atual) Permita que o ambiente atual seja reconhecido como quotlocal, quot (por exemplo, o sistema de arquivos), mesmo que jQuery não o reconheça como tal por padrão. Os seguintes protocolos são atualmente reconhecidos como local: arquivo. - extensão. E widget. Se a configuração isLocal precisar de modificação, recomenda-se fazê-lo uma vez no método. ajaxSetup (). (Versão adicionada: 1.5.1) Substituir o nome da função callback em uma solicitação JSONP. Este valor será usado em vez de aposcallbackapos na parte aposcallbackapos da seqüência de consulta no url. Assim resultaria em aposonJSONPLoadapos passado para o servidor. A partir de jQuery 1.5. Definir a opção jsonp como false impede que o jQuery adicione a string quotcallbackquot ao URL ou tente usar quotquot para transformação. Nesse caso, você também deve definir explicitamente a configuração jsonpCallback. Por exemplo, . Se você donapost confiar o destino de suas solicitações Ajax, considere a configuração da propriedade jsonp para false por razões de segurança. Especifique o nome da função callback para uma solicitação JSONP. Este valor será usado em vez do nome aleatório gerado automaticamente pelo jQuery. É preferível deixar jQuery gerar um nome exclusivo como itaposll torná-lo mais fácil de gerenciar as solicitações e fornecer callbacks e manipulação de erros. Convém especificar o retorno de chamada quando você quiser habilitar o melhor cache do navegador de solicitações GET. A partir de jQuery 1.5. Você também pode usar uma função para essa configuração, caso em que o valor de jsonpCallback é definido como o valor de retorno dessa função. Method (padrão: aposGETapos) O método HTTP a ser usado para a solicitação (por exemplo, quotPOSTquot. quotGETquotPUTquot). (Versão adicionada: 1.9.0) Se a solicitação for bem-sucedida, as funções de código de status terão os mesmos parâmetros que o retorno de chamada de sucesso se resultar em um erro (incluindo o redirecionamento 3xx), eles terão os mesmos parâmetros que o retorno de chamada de erro. Uma função a ser chamada se a solicitação for bem-sucedida. A função recebe três argumentos: Os dados retornados do servidor, formatados de acordo com o parâmetro dataType ou a função callback DataFilter, se especificada uma string descrevendo o status eo objeto jqXHR (em jQuery 1.4.x, XMLHttpRequest). A partir de jQuery 1.5. A configuração de sucesso pode aceitar uma matriz de funções. Cada função será chamada por sua vez. Este é um evento do Ajax. Defina um tempo limite (em milissegundos) para a solicitação. Isso irá substituir qualquer tempo limite global definido com. ajaxSetup (). O período de tempo limite começa no ponto em que a chamada. ajax é feita se várias outras solicitações estiverem em andamento e o navegador não tiver conexões disponíveis, é possível que um pedido expire antes que ele possa ser enviado. No jQuery 1.4.xe abaixo, o objeto XMLHttpRequest estará em um estado inválido se o tempo limite de solicitação acessar qualquer membro do objeto pode lançar uma exceção. No Firefox 3.0 apenas, as solicitações de script e JSONP não podem ser canceladas por um tempo limite, o script será executado mesmo que chegue após o período de tempo limite. Defina isso como true se você deseja usar o estilo tradicional de serialização param. Os objetos jqXHR retornados por. ajax () a partir de jQuery 1.5 implementam a interface Promise, dando-lhes todas as propriedades, métodos e comportamento de uma Promise (consulte Objeto Diferido para obter mais informações). Esses métodos levam um ou mais argumentos de função que são chamados quando a solicitação. ajax () termina. Isso permite que você atribuir vários callbacks em uma única solicitação e até mesmo atribuir callbacks após a solicitação pode ter concluído. (Se a solicitação já estiver concluída, o retorno de chamada será disparado imediatamente.) Os métodos Promise disponíveis do objeto jqXHR incluem: Uma construção alternativa para a opção de retorno de chamada de sucesso, consulte deferred. done () para obter detalhes sobre a implementação. JqXHR. fail (função (jqXHR, textStatus, errorThrown)) Uma construção alternativa para a opção de retorno de chamada de erro, o método. fail () substitui o método. error () obsoleto. Consulte deferred. fail () para detalhes de implementação. JqXHR. always (função (datajqXHR, textStatus, jqXHRerrorThrown)) Uma construção alternativa para a opção de retorno de chamada completa, o método. always () substitui o método plete () obsoleto. Em resposta a uma solicitação bem-sucedida, os argumentos functionaposs são os mesmos do. done (). Dados, textStatus eo objeto jqXHR. Para pedidos com falha os argumentos são os mesmos que os de. fail (). O objeto jqXHR, textStatus e errorThrown. Consulte deferred. always () para detalhes de implementação. JqXHR. then (função (dados, textStatus, jqXHR), função (jqXHR, textStatus, errorThrown)) Incorpora a funcionalidade dos métodos. done () e. fail (), permitindo (a partir de jQuery 1.8) a Promessa subjacente a ser Manipulado. Consulte deferred. then () para detalhes de implementação. Aviso de desativação: O jqXHR. success (). JqXHR. error (). E jqXHRplete () callbacks são removidos a partir de jQuery 3.0. Você pode usar jqXHR. done (). JqXHR. fail (). E jqXHR. always () em vez disso. Esta referência dentro de todos os callbacks é o objeto na opção de contexto passada para. ajax nas configurações se o contexto não for especificado, esta é uma referência às próprias configurações do Ajax. Para compatibilidade com XMLHttpRequest. Um objeto jqXHR expõe as seguintes propriedades e métodos: status readyState statusText responseXML e / ou responseText quando a solicitação subjacente respondeu com xml e / ou texto, respectivamente setRequestHeader (nome, valor) que se afasta do padrão substituindo o valor antigo pelo Um novo em vez de concatenar o novo valor para o antigo getAllResponseHeaders () getResponseHeader () statusCode () abort () Nenhum mecanismo onreadystatechange é fornecido, no entanto, desde feito. falhou. sempre. E statusCode cobrem todos os requisitos concebíveis. Filas de função de retorno de chamada O beforeSend. erro. DataFilter. Sucesso e opções completas todos aceitam funções callback que são invocadas nos momentos apropriados. A partir de jQuery 1.5. O fracasso e feito. E, a partir do jQuery 1.6, sempre hooks callback são first-in, first-out filas gerenciadas, permitindo mais de um callback para cada gancho. Consulte Métodos de objeto diferido. Que são implementados internamente para esses. ajax () ganchos de retorno de chamada. Os hooks de retorno de chamada fornecidos por. ajax () são os seguintes: a opção de callback beforeSend é invocada e recebe o objeto jqXHR eo objeto settings como parâmetros. Opção de retorno de chamada de erro é invocado, se a solicitação falhar. Ele recebe o jqXHR. Uma seqüência de caracteres indicando o tipo de erro e um objeto de exceção, se aplicável. Alguns erros internos fornecerão uma seqüência de caracteres como o objeto de exceção: quotabortquot, quottimeoutquot, quotNo Transportquot. A opção callback dataFilter é invocada imediatamente após o recebimento com êxito de dados de resposta. Ele recebe os dados retornados eo valor de dataType. E deve retornar os dados (possivelmente alterados) para passar para o sucesso. A opção de retorno de chamada de sucesso é invocada, se a solicitação for bem-sucedida. Ele recebe os dados retornados, uma string contendo o código de sucesso eo objeto jqXHR. Promise callbacks x2014.done (). falhou(). sempre(). E. then () x2014 são invocados, na ordem em que são registrados. A opção de callback completa dispara, quando o pedido termina, seja em falha ou sucesso. Ele recebe o objeto jqXHR, bem como uma string contendo o código de sucesso ou erro. Tipos de dados Tipos diferentes de resposta à chamada. ajax () são submetidos a diferentes tipos de pré-processamento antes de serem passados ​​para o manipulador de êxito. O tipo de pré-processamento depende por padrão do Content-Type da resposta, mas pode ser definido explicitamente usando a opção dataType. Se a opção dataType for fornecida, o cabeçalho Content-Type da resposta será desconsiderado. Os tipos de dados disponíveis são texto. Html. Xml. Json Jsonp. E script. Se texto ou html for especificado, nenhum pré-processamento ocorrerá. Os dados são simplesmente passados ​​para o manipulador de êxito e disponibilizados através da propriedade responseText do objeto jqXHR. Se xml for especificado, a resposta será analisada usando jQuery. parseXML antes de ser passada, como um XMLDocument. Para o manipulador de êxito. O documento XML é disponibilizado através da propriedade responseXML do objeto jqXHR. Se json for especificado, a resposta será analisada usando jQuery. parseJSON antes de ser passada, como um objeto, para o manipulador de êxito. O objeto JSON analisado é disponibilizado através da propriedade responseJSON do objeto jqXHR. Se script for especificado,.ajax () executará o JavaScript que é recebido do servidor antes de passá-lo para o manipulador de sucesso como uma seqüência de caracteres. Se jsonp for especificado,.ajax () anexará automaticamente um parâmetro de string de consulta de (por padrão) callback para o URL. As propriedades jsonp e jsonpCallback das configurações passadas para. ajax () podem ser usadas para especificar, respectivamente, o nome do parâmetro de string de consulta e o nome da função de retorno de chamada JSONP. O servidor deve retornar JavaScript válido que passa a resposta JSON para a função de retorno de chamada..ajax () executará o JavaScript retornado, chamando a função de retorno de chamada JSONP, antes de passar o objeto JSON contido na resposta ao manipulador de sucesso. ajax (). Enviando dados para o servidor Por padrão, as solicitações Ajax são enviadas usando o método GET HTTP. Se o método POST for necessário, o método pode ser especificado definindo um valor para a opção type. Essa opção afeta como o conteúdo da opção de dados é enviado para o servidor. Os dados POST sempre serão transmitidos ao servidor usando o conjunto de caracteres UTF-8, de acordo com o padrão W3C XMLHTTPRequest. A opção de dados pode conter uma seqüência de consulta do formulário key1value1ampkey2value2. Ou um objeto do formulário. Se o último formulário é usado, os dados são convertidos em uma seqüência de consulta usando jQuery. param () antes de ser enviado. Esse processamento pode ser contornado ao definir processData como false. O processamento pode ser indesejável se você desejar enviar um objeto XML para o servidor neste caso, altere a opção contentType de application / x-www-form-urlencoded para um tipo MIME mais apropriado. Opções avançadas A opção global impede que os manipuladores sejam registrados usando. ajaxSend ()..ajaxError (). E métodos semelhantes de disparar quando este pedido seria provocá-los. Isso pode ser útil para, por exemplo, suprimir um indicador de carregamento que foi implementado com. ajaxSend () se as solicitações são freqüentes e breves. Com script de domínio cruzado e solicitações JSONP, a opção global é definida automaticamente como false. Veja as descrições destes métodos abaixo para mais detalhes. Se o servidor executar a autenticação HTTP antes de fornecer uma resposta, o nome do usuário e o par de senhas podem ser enviados através das opções de nome de usuário e senha. As solicitações do Ajax são limitadas no tempo, portanto, os erros podem ser capturados e manipulados para proporcionar uma melhor experiência do usuário. Os tempos limite de solicitação geralmente são deixados em seu padrão ou definidos como padrão global usando. ajaxSetup () em vez de serem substituídos para solicitações específicas com a opção de tempo limite. Por padrão, as solicitações são sempre emitidas, mas o navegador pode exibir resultados fora do cache. Para impedir a utilização dos resultados armazenados em cache, defina o cache como false. Para fazer com que a solicitação relatar falha se o recurso não tiver sido modificado desde a última solicitação, defina ifModified como true. O scriptCharset permite que o conjunto de caracteres seja explicitamente especificado para solicitações que usam uma tag ltscriptgt (ou seja, um tipo de script ou jsonp). Isso é útil se o script ea página do host tiverem conjuntos de caracteres diferentes. A primeira letra no Ajax significa quotasincronicas, quot significando que a operação ocorre em paralelo ea ordem de conclusão não é garantida. A opção assíncrona para. ajax () padrão é true. Indicando que a execução do código pode continuar após a solicitação ser feita. Definir esta opção como false (e assim fazer a chamada não mais assíncrona) é fortemente desencorajado, pois pode fazer com que o browser não responda. A função. ajax () retorna o objeto XMLHttpRequest que ele cria. Normalmente jQuery lida com a criação deste objeto internamente, mas uma função personalizada para a fabricação de um pode ser especificado usando a opção xhr. O objeto retornado geralmente pode ser descartado, mas fornece uma interface de nível inferior para observar e manipular o pedido. Em particular, chamar. abort () no objeto irá interromper a solicitação antes de ser concluída. Estendendo Ajax A partir de jQuery 1.5. JQueryaposs Ajax implementação inclui pré-filtros. Transportes. E conversores que permitem que você estenda Ajax com uma grande flexibilidade. Usando conversores. Ajax () conversores apoiar mapeamento tipos de dados para outros tipos de dados. Se, no entanto, você quiser mapear um tipo de dados personalizado para um tipo conhecido (por exemplo, json), você deve adicionar uma correspondência entre a resposta Content-Type eo tipo de dados real usando a opção contents: O acima agora permite passar de texto para Mycustomtype e, em seguida, mycustomtype para json. Notas adicionais: Devido às restrições de segurança do navegador, a maioria das requisições de quaAjaxquot estão sujeitas à mesma política de origem, a solicitação não pode recuperar dados de um domínio, subdomínio, porta ou protocolo diferente. As solicitações de script e JSONP não estão sujeitas às mesmas restrições de política de origem. Exemplos: Salvar alguns dados no servidor e notificar o usuário uma vez que o itaposs complete. Using XMLHttpRequest XMLHttpRequest torna o envio de solicitações HTTP muito fácil. Basta criar uma instância do objeto, abrir um URL e enviar a solicitação. O status HTTP do resultado, bem como o conteúdo dos resultados, estão disponíveis no objeto de solicitação quando a transação é concluída. Esta página descreve alguns dos casos de uso comuns e até mesmo um pouco obscuros para este poderoso objeto JavaScript. Tipos de solicitações Uma solicitação feita via XMLHttpRequest pode buscar os dados em uma de duas maneiras, de forma assíncrona ou síncrona. O tipo de pedido é ditado pelo argumento async opcional (o terceiro argumento) que é definido no método XMLHttpRequest open (). Se esse argumento for verdadeiro ou não especificado, o XMLHttpRequest será processado de forma assíncrona, caso contrário, o processo será tratado de forma síncrona. Uma discussão detalhada e demonstrações desses dois tipos de solicitações podem ser encontradas na página de solicitações síncronas e assíncronas. Em geral, você deve raramente se alguma vez usar solicitações síncronas. Nota: A partir do Gecko 30.0 (Firefox 30.0 / Thunderbird 30.0 / SeaMonkey 2.27), as solicitações síncronas no thread principal foram reprovadas devido aos efeitos negativos para a experiência do usuário. Tratamento de respostas Existem vários tipos de atributos de resposta definidos pela especificação W3C para XMLHttpRequest. Eles informam o cliente que faz o XMLHttpRequest informações importantes sobre o status da resposta. Alguns casos em que lidar com tipos de resposta não-texto podem envolver alguma manipulação e análise são descritos nas seções a seguir. Analisando e manipulando a propriedade responseXML Se você usar XMLHttpRequest para obter o conteúdo de um documento XML remoto, a propriedade responseXML será um objeto DOM contendo um documento XML analisado. Isso pode ser difícil de manipular e analisar. Há cinco maneiras principais de analisar este documento XML: Usando XPath para endereço (ou apontar para) partes dele. Usando o JXON para convertê-lo em uma árvore de objetos JavaScript. Paralisando e serializando XML para strings ou objetos. Usando XMLSerializer para serializar árvores DOM para strings ou arquivos. RegExp pode ser usado se você sempre sabe o conteúdo do documento XML de antemão. Você pode querer remover quebras de linha, se você usar RegExp para digitalizar em relação aos linebreaks. No entanto, este método é um último recurso uma vez que se o código XML altera ligeiramente, o método provavelmente falhará. Analisando e manipulando uma propriedade responseText contendo um documento HTML Nota: A especificação XMLHttpRequest do W3C permite a análise HTML através da propriedade XMLHttpRequest. responseXML. Leia o artigo sobre HTML em XMLHttpRequest para obter detalhes. Se você usar XMLHttpRequest para obter o conteúdo de uma página da Web HTML remota, a propriedade responseText é uma string contendo uma sopa de todas as tags HTML. Isso pode ser difícil de manipular e analisar. Há três maneiras principais de analisar esta seqüência de caracteres HTML: Use a propriedade XMLHttpRequest. responseXML. Injetar o conteúdo no corpo de um fragmento de documento via fragment. body. innerHTML e percorrer o DOM do fragmento. RegExp pode ser usado se você sempre sabe o conteúdo do HTML responseText de antemão. Você pode querer remover quebras de linha, se você usar RegExp para digitalizar em relação aos linebreaks. No entanto, este método é um último recurso uma vez que se o código HTML altera ligeiramente, o método provavelmente falhará. Tratamento de dados binários Embora XMLHttpRequest seja mais comumente usado para enviar e receber dados textuais, ele pode ser usado para enviar e receber conteúdo binário. Existem vários métodos bem testados para coagir a resposta de um XMLHttpRequest em enviar dados binários. Isso envolve a utilização do método. overrideMimeType () no objeto XMLHttpRequest e é uma solução viável. A especificação XMLHttpRequest nível 2 adiciona novos atributos responseType que tornam muito mais fácil enviar e receber dados binários. Monitorando o progresso XMLHttpRequest fornece a capacidade de ouvir vários eventos que podem ocorrer enquanto a solicitação está sendo processada. Isso inclui notificações de progresso periódicas, notificações de erro e assim por diante. Suporte para o monitoramento de eventos de progresso DOM de transferências XMLHttpRequest segue a especificação da API da Web para eventos de progresso. Estes eventos implementam o, ltudio, ltvideo, ltstyle ou ltlink). Interface do ProgressEvent. Linhas 3-6 adicionar eventos listeners para os vários eventos que são enviados ao executar uma transferência de dados usando XMLHttpRequest. Nota: Você precisa adicionar os ouvintes do evento antes de chamar open () na solicitação. Caso contrário, os eventos de progresso não serão acionados. O manipulador de eventos de progresso, especificado pela função updateProgress () neste exemplo, recebe o número total de bytes a serem transferidos, bem como o número de bytes transferidos até agora nos campos total de eventos e carregado. No entanto, se o campo lengthComputable for false, o comprimento total não é conhecido e será zero. Existem eventos de progresso para transferências de download e de upload. Os eventos de download são disparados no objeto XMLHttpRequest propriamente dito, como mostrado na amostra acima. Os eventos de upload são disparados no objeto XMLHttpRequest. upload, conforme mostrado abaixo: Nota: Os eventos de progresso não estão disponíveis para o arquivo: protocol. Nota: Iniciando no Gecko 9.0. Eventos de progresso agora podem ser invocados para entrar em cada pedaço de dados recebidos, incluindo o último pedaço nos casos em que o último pacote é recebido ea conexão fechada antes do evento de progresso é acionado. Neste caso, o evento de progresso é disparado automaticamente quando ocorre o evento de carga para esse pacote. Isso permite que você monitorize o progresso de forma confiável apenas assistindo ao evento de progresso. Nota: A partir de Gecko 12.0. Se seu evento de progresso é chamado com um responseType de moz-blob, o valor de resposta é um Blob contendo os dados recebidos até agora. Pode-se também detectar todas as três condições de finalização de carga (abortar carga ou erro) usando o evento loadend: Note que não há maneira de estar certo, a partir da informação recebida pelo evento loadend, como qual condição causou a operação para terminar No entanto, você pode usar isso para lidar com tarefas que precisam ser executadas em todos os cenários de fim de transferência. Submeter formulários e fazer upload de arquivos As instâncias de XMLHttpRequest podem ser usadas para enviar formulários de duas maneiras: Usar a API FormData é o mais simples e mais rápido, mas tem a desvantagem de que os dados coletados não podem ser especificados. Usando apenas AJAX é mais complexa, mas também se presta a ser a maneira mais flexível e poderosa. Usando nada além de XMLHttpRequest Enviar formulários sem a API de FormData não requer outras APIs para a maioria dos casos de uso. O único caso em que você precisa de uma API adicional é se você quiser carregar um ou mais arquivos. Onde você usa a API FileReader. Uma breve introdução aos métodos de submissão usando o método POST e definindo o atributo enctype para application / x-www-form-urlencoded (padrão) usando o método POST e definindo o atributo enctype para texto / planície usando o método POST e definindo o enctype Atributo para multipart / form-data usando o método GET (neste caso, o atributo enctype será ignorado). Agora, considere submeter um formulário contendo apenas dois campos, denominados foo e baz. Se você estiver usando o método POST, o servidor receberá uma string semelhante a um dos três exemplos a seguir, dependendo do tipo de codificação que você está usando: Método: POST Tipo de codificação: application / x-www-form-urlencoded (padrão): Método: POST Tipo de codificação: text / plain: No entanto, se você estiver usando o método GET, uma seqüência como a seguinte será simplesmente adicionada à URL: Um pequeno framework de baunilha Todos esses efeitos são feitos automaticamente pelo navegador sempre que você envia Um elemento representa uma seção de documento que contém controles interativos para enviar informações a um servidor da Web. Ltformgt. Se você quiser executar os mesmos efeitos usando o JavaScript você tem que instruir o intérprete sobre tudo. Portanto, como enviar formulários em AJAX puro é muito complexo para ser explicado aqui em detalhes. Por esta razão, aqui colocamos um quadro completo (ainda didático). Capaz de usar todas as quatro formas de apresentar. E para fazer upload de arquivos: Para testar isso, crie uma página chamada register (que é o atributo de ação desses formulários de exemplo) e coloque o seguinte conteúdo minimalistic: A sintaxe para ativar este script é simplesmente: Nota: Esta estrutura usa a API FileReader Para transmitir arquivos carregados. This is a recent API and is not implemented in IE9 or below. For this reason, the AJAX-only upload is considered an experimental technique . If you do not need to upload binary files, this framework works fine in most browsers. Note: The best way to send binary content is via ArrayBuffers or Blobs in conjuncton with the send() method and possibly the readAsArrayBuffer() method of the FileReader API. But, since the aim of this script is to work with a stringifiable raw data, we used the sendAsBinary() method in conjunction with the readAsBinaryString() method of the FileReader API. As such, the above script makes sense only when you are dealing with small files. If you do not intend to upload binary content, consider instead using the FormData API. Note: The non-standard sendAsBinary method is considered deprecated as of Gecko 31 (Firefox 31 / Thunderbird 31 / SeaMonkey 2.28) and will be removed soon. The standard send(Blob data) method can be used instead. Using FormData objects The FormData constructor lets you compile a set of key/value pairs to send using XMLHttpRequest. Its primary use is in sending form data, but can also be used independently from a form in order to transmit user keyed data. The transmitted data is in the same format the forms submit() method uses to send data, if the forms encoding type were set to multipart/form-data. FormData objects can be utilized in a number of ways with an XMLHttpRequest. For examples, and explanations of how one can utilize FormData with XMLHttpRequests, see the Using FormData Objects page. For didactic purposes here is a translation of the previous example transformed to use the FormData API . Note the brevity of the code: Get last modified date Do something when last modified date changes Lets create two functions: If you want to know if the current page has changed . please read the article about document. lastModified . Cross-site XMLHttpRequest Modern browsers support cross-site requests by implementing the Web Applications (WebApps) Working Groups Access Control for Cross-Site Requests standard. As long as the server is configured to allow requests from your web applications origin, XMLHttpRequest will work. Otherwise, an INVALIDACCESSERR exception is thrown. Bypassing the cache A cross-browser compatible approach to bypassing the cache is appending a timestamp to the URL, being sure to include a or amp as appropriate. For example: As the local cache is indexed by URL, this causes every request to be unique, thereby bypassing the cache. You can automatically adjust URLs using the following code: Security Versions of Firefox prior to Firefox 3 allowed you to set the preference capability. policy. ltpolicynamegt. XMLHttpRequest. openlt/policynamegt to allAccess to give specific sites cross-site access. This is no longer supported. Versions of Firefox prior to Firefox 5 could use netscape. security. PrivilegeManager. enablePrivilege(UniversalBrowserRead) to request cross-site access. This is no longer supported, even though it produces no warning and permission dialog is still presented. The recommended way to enable cross-site scripting is to use the Access-Control-Allow-Origin HTTP header in the response to the XMLHttpRequest. XMLHttpRequests being stopped If you conclude with an XMLHttpRequest receiving status0 and statusTextnull. this means the request was not allowed to be performed. It was UNSENT. A likely cause for this is when the XMLHttpRequest origin (at the creation of the XMLHttpRequest) has changed when the XMLHttpRequest is subsequently open(). This case can happen, for example, when one has an XMLHttpRequest that gets fired on an onunload event for a window, the expected XMLHttpRequest is created when the window to be closed is still there, and finally sending the request (in otherwords, open() ) when this window has lost its focus and another window gains focus. The most effective way to avoid this problem is to set a listener on the new windows activate event which is set once the terminated window has its unload event triggered. Using XMLHttpRequest from JavaScript modules / XPCOM components Instantiating XMLHttpRequest from a JavaScript module or an XPCOM component works a little differently it cant be instantiated using the XMLHttpRequest() constructor. The constructor is not defined inside components, and the code results in an error. The best way to work around this is to use the XPCOM component constructor. In earlier versions of Gecko, prior to Gecko 16, a bug is known to cause requests created in this manner to be cancelled for no reason. If you require your code to work on Gecko 15, or earlier, you can get the XMLHttpRequest constructor from the hidden DOM window. See also Document Tags and ContributorsContent conversion Applies to: Exchange Server 2013 Content conversion is the process of correctly formatting a message for each recipient. A decisão de executar a conversão de conteúdo em uma mensagem depende do destino e do formato da mensagem que está sendo processada. No Microsoft Exchange Server 2013, existem dois tipos diferentes de conversão de conteúdo: Conversão de mensagens para destinatários externos Este tipo de conversão de conteúdo inclui as opções de conversão TNEF (Transport Neutral Encapsulation Format) e opções de codificação de mensagens para destinatários externos. As mensagens enviadas para destinatários dentro da organização do Exchange não exigem esse tipo de conversão de conteúdo. Esse tipo de conversão de conteúdo é tratado pelo categorizador no serviço de Transporte no servidor de Caixa de Correio. A categorização em cada mensagem acontece depois que uma mensagem recém-chegada é colocada na fila de envio. Além da resolução do destinatário e da resolução de roteamento, a conversão de conteúdo é realizada na mensagem antes da mensagem ser colocada em uma fila de entrega. Se uma única mensagem contém vários destinatários, o categorizador determina a codificação apropriada para cada destinatário da mensagem. O rastreamento de conversão de conteúdo não capta nenhuma falha de conversão de conteúdo que o categorizador encontra ao converter mensagens enviadas a destinatários externos. Conversão MAPI para destinatários internos Este tipo de conversão de conteúdo é tratado pelo serviço de transporte de caixa de correio. O serviço Transporte de Caixa de Correio existe em servidores de Caixa de Correio para transmitir mensagens entre bancos de dados de caixa de correio no servidor local eo serviço de Transporte em servidores de Caixa de Correio. Specifically, the Mailbox Transport Submission service transmits messages from the senders Outbox to the Transport service on a Mailbox server. O serviço de entrega de transporte de caixa de correio transmite mensagens do serviço de transporte em um servidor de caixa de correio para a Caixa de entrada de destinatários. O serviço de envio de transporte de caixa de correio converte todas as mensagens de saída do MAPI eo serviço de entrega de transporte de caixa de correio converte todas as mensagens de entrada para MAPI. O rastreamento de conversão de conteúdo captura essas falhas de conversão MAPI. Para obter mais informações, consulte Rastreamento de conversão de conteúdo. This topic explains the message conversion options for external recipients. A lista a seguir descreve os formatos de mensagem básicos disponíveis no Exchange e no Microsoft Outlook: Texto simples Uma mensagem de texto simples usa somente texto US-ASCII conforme descrito na RFC 2822. A mensagem não pode conter fontes diferentes ou outra formatação de texto. Os dois formatos a seguir podem ser usados ​​para uma mensagem de texto simples: Os cabeçalhos de mensagem e o corpo da mensagem são compostos de texto US-ASCII. Os anexos devem ser codificados usando Uuencode. Uuencode representa a codificação Unix para Unix e define um algoritmo de codificação para armazenar anexos binários no corpo de uma mensagem de e-mail usando caracteres de texto US-ASCII. A mensagem é codificada em MIME com um valor Content-Type de texto / plain e um valor Content-Transfer-Encoding de 7bit para as partes de texto de uma mensagem de várias partes. Quaisquer anexos de mensagem são codificados usando Quoted-printable ou codificação Base64. Por predefinição, quando compõe e envia uma mensagem de texto simples no Outlook, a mensagem é MIME-codificado com um Content-Type valor de texto / plain. HTML Uma mensagem HTML suporta a formatação de texto, imagens de fundo, tabelas, pontos de bala e outros elementos gráficos. Por definição, uma mensagem formatada em HTML deve ser MIME-codificado para preservar esses elementos de formatação. Rich text format (RTF) RTF suporta a formatação de texto e outros elementos gráficos. RTF é sinônimo de TNEF. TNEF e RTF podem ser usados ​​de forma intercambiável. O formato de mensagem de texto rico é completamente diferente do formato de documento de texto rico disponível no Microsoft Word. Somente o Outlook e alguns outros clientes de email MAPI entender mensagens RTF. TNEF O Transport Neutral Encapsulation Format é um formato específico da Microsoft para encapsular propriedades de mensagens MAPI. Uma mensagem TNEF contém uma versão de texto simples da mensagem e um anexo que pacotes a versão formatada original da mensagem. Normalmente, este anexo é denominado Winmail. dat. O anexo Winmail. dat inclui as seguintes informações: Versão original formatada da mensagem, incluindo, por exemplo, fontes, tamanhos de texto e cores de texto Objetos OLE, incluindo, por exemplo, imagens incorporadas ou documentos incorporados do Microsoft Office Recursos especiais do Outlook, incluindo , Por exemplo, formulários personalizados, botões de votação ou pedidos de reunião Anexos de mensagens regulares que estavam na mensagem original A mensagem de texto simples resultante pode ser representada nos seguintes formatos: Mensagem compatível com RFC 2822 composta apenas de texto US-ASCII com um Winmail. dat anexado codificado em Uuencode Multipart MIME-codificado mensagem que tem um anexo Winmail. dat Um cliente de email compatível com MAPI que totalmente compreende TNEF, como Outlook, processa o anexo Winmail. dat e exibe o conteúdo da mensagem original sem nunca exibindo o Winmail. dat anexo. Um cliente de e-mail que não entenda TNEF pode apresentar uma mensagem TNEF de uma das seguintes maneiras: A versão em texto simples da mensagem é exibida ea mensagem contém um anexo chamado Winmail. dat, Win. dat ou algum outro nome genérico, como Como Att nnnnn. dat ou Att nnnnn. eml onde o marcador de posição nnnnn representa um número aleatório. É apresentada a versão de texto simples da mensagem. O anexo TNEF é ignorado ou removido. The result is a plain text message. Os servidores de mensagens que compreendem TNEF podem ser configurados para remover anexos TNEF de mensagens recebidas. The result is a plain text message. Além disso, alguns clientes de e-mail como o Microsoft Outlook Express podem não entender TNEF, mas reconhecer e ignorar anexos TNEF. The result is a plain text message. Existem utilitários de terceiros que podem ajudar a converter anexos Winmail. dat. TNEF é entendido por todas as versões do Exchange desde o Exchange Server versão 5.5. Sumário Transporte Neutral Encapsulation Format (STNEF) STNEF é equivalente a TNEF. No entanto, as mensagens STNEF são codificadas de forma diferente das mensagens TNEF. Specifically, STNEF messages are always MIME-encoded and always have a Content-Transfer-Encoding value of Binary. Portanto, theres nenhuma representação de texto simples da mensagem, e theres nenhum anexo Winmail. dat distinto contido no corpo da mensagem. Toda a mensagem é representada usando apenas dados binários. Mensagens que têm um valor Content-Transfer-Encoding de binário só podem ser transferidos entre servidores de mensagens SMTP que suportam e anunciar as extensões BINARYMIME e CHUNKING SMTP conforme definido na RFC 3030. As mensagens são sempre transferidas entre mensagens SMTP utilizando o comando BDAT, Em vez do comando DATA padrão. STNEF é entendido por todas as versões do Exchange desde o Exchange 2000. STNEF é automaticamente usado para todas as mensagens transferidas entre servidores Exchange na organização desde o modo nativo Exchange Server 2003. Exchange nunca envia mensagens STNEF para destinatários externos. Somente as mensagens TNEF podem ser enviadas para destinatários fora da organização do Exchange. As opções de conversão de conteúdo que você pode definir em uma organização do Exchange para destinatários externos podem ser descritas nas seguintes categorias: Opções de conversão TNEF Essas opções de conversão especificam se o TNEF deve ser preservado ou removido das mensagens que deixam a organização do Exchange. Opções de codificação de mensagens Estas opções especificam opções de codificação de mensagens, como conjuntos de caracteres MIME e não MIME, codificação de mensagens e formatos de anexos. Essas opções de conversão e codificação são independentes uma da outra. Por exemplo, se as mensagens TNEF podem deixar a organização do Exchange não está relacionada com as configurações de codificação MIME ou as configurações de codificação de texto simples dessas mensagens. Você pode especificar a conversão de conteúdo em vários níveis da organização do Exchange conforme descrito na lista a seguir: Configurações de domínio remoto Domínios remotos definem as configurações para transferências de mensagens de saída entre a organização do Exchange e domínios externos. Even if you dont create remote domain entries for specific domains, theres a predefined remote domain named Default that applies to all remote address spaces (). Configurações de contatos de email e de usuário de email Os usuários de email e contatos de email são semelhantes porque ambos têm endereços de e-mail externos e contêm informações sobre pessoas fora da organização do Exchange. The main difference is mail users have accounts that can be used to log on to the Active Directory domain and access resources in the organization. Outlook settings In Outlook, you can set the message formatting and encoding options described in the following list: Message format You can set the default message format for all messages. Você pode substituir o formato de mensagem padrão ao compor uma mensagem específica. Formato de mensagem na Internet Você pode controlar se as mensagens TNEF são enviadas para destinatários remotos ou se elas são convertidas primeiro para um formato mais compatível. Você também pode especificar várias opções de codificação de mensagens para mensagens enviadas para destinatários remotos. Essas configurações não se aplicam a mensagens enviadas para destinatários na organização do Exchange. Internet recipient message format You can control whether TNEF messages are sent to specific recipients or whether they are first converted to a more compatible format. Você pode definir as opções de conversão para contatos específicos em sua pasta Contatos e pode substituir as opções de conversão para um destinatário específico nos campos Para, Cc ou Cco à medida que compõe uma mensagem. Essas opções de conversão não estão disponíveis para destinatários na organização do Exchange. Opções de codificação de mensagens do destinatário da Internet Você pode controlar as opções de codificação MIME ou de texto simples para contatos específicos em sua pasta Contatos e pode substituir as opções de conversão para um destinatário específico nos campos Para, Cc ou Cco à medida que compõe uma mensagem. Essas opções de conversão não estão disponíveis para destinatários na organização do Exchange. Opções internacionais Você pode controlar os conjuntos de caracteres usados ​​nas mensagens. To better understand the content conversion options for external recipients, you need to understand the structure of email messages. Uma mensagem SMTP é baseada em texto simples de 7 bits US-ASCII para compor e enviar mensagens de e-mail. Uma mensagem SMTP padrão consiste nos seguintes elementos: Envelope de mensagem O envelope de mensagem é definido na RFC 2821. O envelope de mensagem contém informações necessárias para transmitir e entregar a mensagem. Os destinatários nunca vêem o envelope da mensagem, porque é gerado pelo processo de transmissão da mensagem e não faz parte do conteúdo da mensagem. Conteúdo da mensagem O conteúdo da mensagem é definido na RFC 2822. O conteúdo da mensagem consiste nos seguintes elementos: Cabeçalho da mensagem O cabeçalho da mensagem é uma coleção de campos de cabeçalho. Os campos de cabeçalho consistem de um nome de campo, seguido de um caractere de dois pontos (:), seguido por um corpo de campo e terminado por uma combinação de caracteres de retorno de linha / alimentação de linha (CR / LF). Um nome de campo deve ser composto de caracteres de texto US-ASCII imprimíveis, exceto o caractere de dois-pontos (:). Especificamente, caracteres ASCII que têm valores de 33 a 57 e 59 a 126 são permitidos. Um corpo de campo pode ser composto de quaisquer caracteres US-ASCII, exceto para o caractere de retorno de carro (CR) eo caractere de alimentação de linha (LF). However, a field body may contain the CR/LF character combination when used in header folding . Encabeçamento dobrando é a separação de um corpo de cabeçalho único campo em várias linhas como descrito na seção 2.2.3 de RFC 2822. Outros requisitos de sintaxe corpo de campo são descritos nas seções 3 e 4 da RFC 2822. Corpo da mensagem O corpo da mensagem é uma coleção de Linhas de caracteres de texto US-ASCII que aparece após o cabeçalho da mensagem. O cabeçalho da mensagem eo corpo da mensagem são separados por uma linha em branco que termina com a combinação de caracteres CR / LF. The message body is optional. Qualquer linha de texto no corpo da mensagem deve ter menos de 998 caracteres. Os caracteres CR e LF só podem aparecer juntos para indicar o fim de uma linha. Quando as mensagens SMTP contêm elementos que não são simples texto US-ASCII, a mensagem deve ser codificada para preservar esses elementos. O padrão MIME define um método de codificação de conteúdo em mensagens que não são texto. MIME permite o texto em outros conjuntos de caracteres, anexos sem texto, corpos de mensagem de multipart e campos de cabeçalho em outros conjuntos de caracteres. MIME is defined in RFC 2045, RFC 2046, RFC 2047, RFC 2048, and RFC 2077. MIME defines a collection of header fields that specifies additional message attributes. A tabela a seguir descreve alguns campos de cabeçalho MIME importantes. Campos de cabeçalho MIME importantes Nome do campo de cabeçalho Este campo de cabeçalho pode descrever as seguintes informações sobre uma mensagem: O algoritmo de codificação usado para transformar qualquer texto não-US-ASCII ou dados binários que existem no corpo da mensagem. Um indicador que descreve a condição atual do corpo da mensagem. Pode haver vários valores do campo de cabeçalho Content-Transfer-Encoding em uma mensagem MIME. Quando o campo de cabeçalho Content-Transfer-Encoding aparece no cabeçalho da mensagem, ele se aplica a todo o corpo da mensagem. Quando o campo de cabeçalho Content-Transfer-Encoding aparece em uma das partes de uma mensagem de várias partes, ele se aplica somente a essa parte da mensagem. Quando um algoritmo de codificação é aplicado aos dados do corpo da mensagem, os dados do corpo da mensagem são transformados em texto simples US-ASCII. Essa transformação permite que a mensagem percorra servidores de mensagens SMTP mais antigos que suportam somente mensagens em texto US-ASCII. Os valores do campo de cabeçalho Content-Transfer-Encoding que indicam um algoritmo de codificação foram usados ​​no corpo da mensagem são os seguintes: Quoted-printable Este algoritmo de codificação usa caracteres US-ASCII imprimíveis para codificar os dados do corpo da mensagem. Se o texto original da mensagem for principalmente texto US-ASCII, codificação Quoted-printable dá resultados um pouco legíveis e compactos. All printable US-ASCII text characters except the equal sign () character can be represented without encoding. Base64 This encoding algorithm is based primarily on the privacy-enhanced mail (PEM) standard defined in RFC 1421. Base64 encoding uses the 64-character alphabet encoding algorithm and output padding characters defined by PEM to encode the message body data. Uma mensagem codificada Base64 é normalmente 33 por cento maior do que a mensagem original. A codificação Base64 cria um aumento previsível no tamanho da mensagem e é ideal para dados binários e texto não-US-ASCII. Normalmente, você não verá vários algoritmos de codificação usados ​​na mesma mensagem. Quando nenhum algoritmo de codificação foi usado no corpo da mensagem, o campo de cabeçalho Content-Transfer-Encoding simplesmente identifica a condição atual dos dados do corpo da mensagem. Os seguintes valores do campo de cabeçalho Content-Transfer-Encoding indicam que não foram utilizados algoritmos de codificação no corpo da mensagem: 7bit Este valor indica que os dados do corpo da mensagem já estão no formato RFC 2822. Especificamente, isso significa que as seguintes condições devem ser verdadeiras: Todas as linhas de texto devem ter menos de 998 caracteres. Todos os caracteres devem ser texto US-ASCII que tenham valores de caracteres de 1 a 127. Os caracteres CR e LF só podem ser usados ​​em conjunto para indicar o final de uma linha de texto. O corpo inteiro da mensagem pode ser 7bit, ou parte do corpo da mensagem em uma mensagem multipart pode ser 7bit. Se a mensagem de várias partes contiver outras partes que tenham quaisquer dados binários ou texto não-US-ASCII, essa parte da mensagem deve ser codificada usando os algoritmos de codificação Quoted-printable ou Base64. As mensagens que têm corpos de 7 bits podem viajar entre servidores de mensagens SMTP usando o comando DATA padrão. 8bit This value indicates that the message body data contains non-US-ASCII characters. Especificamente, isso significa que as seguintes condições devem ser verdadeiras: Todas as linhas de texto devem ter menos de 998 caracteres. One or more characters in the message body have values larger than 127. The CR and LF characters can only be used together to indicate the end of a line of text. O corpo de mensagem inteiro pode ser 8bit, ou parte do corpo de mensagem em uma mensagem de multipart pode ser 8bit. Se a mensagem multipart contém outras partes que têm dados binários, essa parte da mensagem deve ser codificada usando os algoritmos de codificação Quoted-printable ou Base64. Messages that have 8bit bodies can only travel between SMTP messaging servers that support the 8BITMIME SMTP extension as defined in RFC 1652, such as servers running Exchange 2000 Server or newer versions. Especificamente, isso significa que as seguintes condições devem ser verdadeiras: A palavra-chave 8BITMIME deve ser anunciada na resposta EHLO dos servidores. As mensagens ainda são transferidas usando o comando DATA padrão SMTP. No entanto, o parâmetro BODY8BITMIME deve ser adicionado ao final do comando MAIL FROM. Binário Este valor indica que o corpo da mensagem contém texto não-US-ASCII ou dados binários. Especificamente, isso significa que as seguintes condições são verdadeiras: Qualquer seqüência de caracteres é permitida. Não existe limite de comprimento de linha. Elementos de mensagem binária não exigem codificação. Mensagens que têm corpos binários só podem viajar entre os servidores de mensagens SMTP que suportam a extensão BINARYMIME SMTP como definido no RFC 3030, como servidores com o Exchange 2000 Server ou versões mais recentes. Especificamente, isso significa que as seguintes condições devem ser verdadeiras: A palavra-chave BINARYMIME deve ser anunciada na resposta EHLO dos servidores. A extensão BINARYMIME SMTP só pode ser utilizada com a extensão CHUNKING SMTP. O Chunking permite que os corpos de mensagens grandes sejam enviados em vários pedaços menores. O Chunking também é definido na RFC 3030. A palavra-chave CHUNKING também deve ser anunciada na resposta dos servidores EHLO. As mensagens são transferidas usando o comando BDAT em vez do comando DATA padrão. O parâmetro BODYBINARYMIME deve ser adicionado ao final do comando MAIL FROM quando a mensagem tiver um corpo de mensagem. Os valores 7bit, 8bit e Binary nunca existem juntos na mesma mensagem multipart. The values are mutually exclusive. Os valores Quoted-printable ou Base64 podem aparecer em um corpo de mensagem multipart 7bit ou 8bit, mas nunca em um corpo mensagem binária. Se um corpo de mensagem de várias partes contém diferentes partes compostas de conteúdo de 7 bits e 8 bits, toda a mensagem é classificada como 8 bits. Se um corpo de mensagem multipart contém partes diferentes compostas de 7 bits, 8 bits e conteúdo binário, toda a mensagem é classificada como binária. Este campo de cabeçalho instrui um cliente de email habilitado para MIME sobre como ele deve exibir um arquivo anexado e é descrito na RFC 2183. Os valores deste campo podem ser Inline ou Attachment. Quando o valor deste campo é Inline, o anexo é apresentado no corpo da mensagem. Quando o valor desse campo é Attachment, o arquivo anexado aparece como um anexo regular separado do corpo da mensagem. Outros parâmetros estão disponíveis quando o valor é Attachment, como nome de arquivo, data de criação e tamanho.

No comments:

Post a Comment