O princípio de funcionamento, vantagens e desvantagens do ajax e vários procedimentos subsequentes, otimização do ajax

1. O que é o AJAX?

O AJAX é chamado "JavaScript assíncrono e XML" (JavaScript assíncrono e XML), que é uma tecnologia de desenvolvimento da web para criar aplicativos da web interativos. Ele usa:
usa XHTML + CSS para padronizar a apresentação;
usa XML e XSLT para troca de dados e operações relacionadas;
usa objeto XMLHttpRequest e servidor Web para comunicação de dados assíncrona;
usa Javascript para operar o Modelo de Objeto de Documento para exibição e interação dinâmica;
use ligação JavaScript e Processe todos os dados.

2. Comparado com aplicativos da web tradicionais

Na interação tradicional de aplicativos da Web, o usuário aciona uma solicitação HTTP para o servidor e o servidor a processa e, em seguida, retorna uma nova página HTHL para o cliente. Sempre que o servidor processa a solicitação enviada pelo cliente, o cliente pode apenas esperar inativo e Mesmo que seja apenas uma pequena interação, apenas um simples pedaço de dados precisa ser obtido do servidor, uma página HTML completa deve ser retornada e o usuário precisa perder tempo e largura de banda todas as vezes para reler a página inteira. Essa abordagem desperdiça muita largura de banda.Como cada interação do aplicativo requer que uma solicitação seja enviada ao servidor, o tempo de resposta do aplicativo depende do tempo de resposta do servidor. Isso faz com que a interface do usuário responda muito mais lentamente que os aplicativos nativos.
Diferentemente disso, os aplicativos AJAX podem enviar e recuperar apenas os dados necessários para o servidor, usam SOAP ou alguma outra interface de serviço da Web baseada em XML e usam JavaScript no cliente para processar a resposta do servidor. Como a quantidade de dados trocados entre o servidor e o navegador é bastante reduzida, como resultado, podemos ver aplicativos que respondem mais rapidamente. Ao mesmo tempo, muito trabalho de processamento pode ser concluído na máquina cliente que faz a solicitação, portanto, o tempo de processamento do servidor da Web também é reduzido.

3. Como o AJAX funciona

O princípio de funcionamento do Ajax é equivalente a adicionar uma camada intermediária (mecanismo AJAX) entre o usuário e o servidor para tornar a operação do usuário e a resposta do servidor assíncronas. Nem todas as solicitações de usuário são enviadas ao servidor. Algumas verificações e processamento de dados são deixados para o mecanismo Ajax. Somente quando é determinado que novos dados precisam ser lidos no servidor, o mecanismo Ajax envia a solicitação ao servidor.
O núcleo do Ajax é composto por objetos JavaScript, XMLHTTPRequest e DOM. Ele envia solicitações assíncronas ao servidor por meio do objeto XmlHttpRequest, obtém dados do servidor e usa JavaScript para manipular o DOM para atualizar a página. A etapa mais crítica é obter os dados da solicitação do servidor. Vamos entender esses objetos.
(1)
Um dos maiores recursos do objeto XMLHTTPRequest Ajax é que ele pode transmitir, ler ou gravar dados no servidor sem atualizar a página (também conhecido como atualizar sem atualizar a página). Esse recurso se beneficia principalmente do objeto XMLHTTPRequest do componente XMLHTTP.
Descrição do
método de objeto XMLHttpRequest Descrição do método de objeto XMLHttpRequest

Descrição da propriedade do objeto XMLHttpRequest

(2)
JavaScript JavaScript é uma linguagem de programação amplamente usada em navegadores.
(3) DOM Modelo de Objeto de Documento
DOM é um conjunto de APIs para arquivos HTML e XML. Ele fornece uma representação estrutural do arquivo, permitindo alterar o conteúdo e os objetos visíveis. Sua essência é construir uma ponte entre páginas da Web e scripts ou linguagem de programação. Todas as propriedades, métodos e eventos que os desenvolvedores da WEB podem manipular e criar arquivos são exibidos como objetos (por exemplo, documento significa "arquivo em si", objeto de tabela significa objeto de tabela HTML, etc.). Esses objetos podem ser acessados ​​no Script pela maioria dos navegadores hoje. Uma página da Web criada com HTML ou XHTML também pode ser considerada como um conjunto de dados estruturados.Estes dados são colocados em um DOM (Document Object Model ).O DOM fornece suporte para ler e gravar vários objetos na página da Web.
(4) A XML
Extensible Markup Language (Extensible Markup Language) possui uma estrutura de linguagem aberta, extensível e autoexplicativa, que se tornou o padrão para transmissão de dados e documentos na Internet e é usada por outros aplicativos para troca de dados. .
(5) O
mecanismo Ajax integrado é na verdade um aplicativo JavaScript relativamente complexo usado para processar solicitações de usuários, ler e gravar servidores e alterar o conteúdo do DOM. O mecanismo Ajax do JavaScript lê as informações e reescreve interativamente o DOM, o que permite que a página da Web seja reconstruída sem problemas, que é alterar o conteúdo da página após o download da página.É isso que usamos amplamente por meio do JavaScript e do DOM Método, mas para tornar a página da Web verdadeiramente dinâmica, ela não precisa apenas de interação interna, mas também de obter dados externos.No passado, permitimos que os usuários inserissem dados e alterassem o conteúdo da página da Web por meio do DOM, mas agora, XMLHTTPRequest pode nos permitir Leia e grave dados no servidor sem recarregar a página para minimizar a entrada do usuário.

O Ajax separa a interface e o aplicativo na WEB (também pode ser considerada a separação de dados e apresentação). No passado, não havia limites claros entre os dois. A separação da separação de dados e apresentação é propícia à divisão do trabalho e da cooperação, reduzindo o número de pessoal não técnico na página. Os erros de aplicativos da Web causados ​​pela modificação, melhoram a eficiência e são mais adequados para o sistema de publicação atual. Também é possível transferir parte do trabalho anterior sobrecarregado pelo servidor para o cliente, o que é benéfico para o poder de processamento ocioso do cliente.

4. As vantagens e desvantagens do AJAX

(1) Vantagens do AJAX
<1>. Atualize os dados sem atualizar.
A maior vantagem do AJAX é que ele pode se comunicar com o servidor para manter os dados sem atualizar a página inteira. Isso torna os aplicativos da Web mais responsivos à interação do usuário, evita o envio de informações inalteradas na rede, reduz o tempo de espera do usuário e proporciona uma experiência muito boa ao usuário.
<2> Comunique de forma assíncrona com o servidor.
O AJAX usa o modo assíncrono para se comunicar com o servidor, sem interromper a operação do usuário, e possui uma capacidade de resposta mais rápida. Otimize a comunicação entre o navegador e o servidor, reduza a transmissão de dados desnecessária, o tempo e reduz o tráfego de dados na rede.
<3> Balanceamento de carga de front-end e back-end.
O AJAX pode transferir parte da carga do servidor anterior para o cliente, usar a capacidade ociosa do cliente para lidar, reduzir a carga do servidor e da largura de banda e economizar espaço e custos de aluguel de banda larga. E para reduzir a carga no servidor, o princípio do AJAX é "buscar dados sob demanda", o que pode minimizar a carga de solicitações e respostas redundantes no servidor e melhorar o desempenho do site.
<4> É amplamente suportado com base em padrões.
O AJAX é baseado em uma tecnologia padronizada e amplamente suportada que não requer o download de plug-ins ou applets do navegador, mas exige que os clientes permitam que o JavaScript seja executado no navegador. À medida que o Ajax amadurece, algumas bibliotecas que simplificam o uso do Ajax também apareceram. Da mesma forma, surgiu outra tecnologia para auxiliar a programação para fornecer funções alternativas para usuários que não suportam JavaScript.
<5> Separação de interface e aplicação.
O Ajax separa a interface e o aplicativo na WEB (também pode ser considerada a separação de dados e apresentação), que conduz à divisão de trabalho e cooperação, reduz os erros de aplicativos da WEB causados ​​por pessoal não técnico para modificar a página, melhora a eficiência e é mais adequado para a versão atual Sistema.

(2) As deficiências do AJAX
<1> O AJAX elimina as funções Voltar e Histórico, ou seja, a destruição do mecanismo do navegador.
No caso de atualização dinâmica de páginas, o usuário não pode retornar ao estado da página anterior porque o navegador pode lembrar apenas as páginas estáticas no histórico. A diferença entre uma página totalmente lida e uma página que foi modificada dinamicamente é muito sutil; os usuários geralmente desejam clicar no botão voltar para cancelar sua operação anterior, mas em um aplicativo Ajax, isso não será possível .
O botão voltar é uma função importante de um site padrão, mas não pode cooperar bem com js. Esse é um problema sério causado pelo Ajax, porque os usuários geralmente desejam cancelar a operação anterior retornando. Então, existe uma solução para esse problema? A resposta é Sim. Eu usei o Gmail para saber que a tecnologia Ajax usada no Gmail resolve esse problema. Ele pode ser retirado no Gmail. No entanto, ele não altera o mecanismo do Ajax. Método, ou seja, quando o usuário clica no botão Voltar para acessar o histórico, as alterações na página são reproduzidas criando ou usando um IFRAME oculto. (Por exemplo, quando o usuário clica novamente no Google Maps, ele pesquisa em um IFRAME oculto e reflete os resultados da pesquisa no elemento Ajax para restaurar o estado do aplicativo no estado naquele momento.)
No entanto, embora Esse problema pode ser resolvido, mas o custo de desenvolvimento que ele traz é muito alto e é contrário ao rápido desenvolvimento exigido pela estrutura do Ajax. Este é um problema muito sério causado pelo Ajax.
Um ponto de vista relacionado é que o uso de atualizações dinâmicas de página dificulta que os usuários salvem um estado específico nos favoritos. As soluções para esse problema também surgiram e a maioria usa identificadores de fragmentos de URL (geralmente chamados de âncoras, ou seja, a parte após o # no URL) para acompanhar e permitir que os usuários retornem a um estado de aplicativo especificado. (Muitos navegadores permitem que o JavaScript atualize dinamicamente o ponto de ancoragem, o que permite que os aplicativos Ajax atualizem o ponto de ancoragem enquanto atualizam o conteúdo exibido.) Essas soluções também resolvem muitos dos argumentos sobre não oferecer suporte ao botão Voltar.
<2> problemas de segurança AJAX.
A tecnologia AJAX traz uma boa experiência ao usuário e também traz novas ameaças à segurança das empresas de TI.A tecnologia Ajax é como estabelecer um canal direto para dados corporativos. Isso permite que os desenvolvedores exponham inadvertidamente mais dados e lógica do servidor do que antes. A lógica do Ajax pode ocultar a tecnologia de verificação de segurança do cliente, permitindo que hackers estabeleçam novos ataques de servidores remotos. Também é difícil evitar o Ajax algumas falhas de segurança conhecidas, como ataques de passos entre sites, ataques de injeção de SQL e vulnerabilidades de segurança baseadas em credenciais.
<3> Suporte fraco para os mecanismos de pesquisa.
O suporte para mecanismos de pesquisa é relativamente fraco. Se usado incorretamente, o AJAX aumentará o fluxo de dados da rede, reduzindo assim o desempenho de todo o sistema.
<4> Quebre o mecanismo de tratamento de exceções do programa.
Pelo menos do ponto de vista atual, estruturas Ajax como Ajax.dll e Ajaxpro.dll destruirão o mecanismo anormal do programa. Em relação a esse problema, eu o encontrei no processo de desenvolvimento, mas verifiquei e quase não há introdução relevante na Internet. Mais tarde, fiz um experimento, usando o Ajax e o modo tradicional de envio de formulários para excluir um dado ... trouxe grandes dificuldades para a depuração.
<5> Viola a intenção original do URL e da localização do recurso.
Por exemplo, eu lhe dou um endereço de URL. Se você usa a tecnologia Ajax, talvez o que você vê no endereço de URL seja diferente do que eu vejo no endereço de URL. Isso é contrário à intenção original de posicionamento de recursos.
<6> O AJAX não suporta bem dispositivos móveis.
Alguns dispositivos portáteis (como telefones celulares, PDAs etc.) ainda não suportam muito bem o Ajax.Por exemplo, quando abrimos um site que usa a tecnologia Ajax no navegador de um telefone celular, ele atualmente não é compatível.
<7> O cliente é muito gordo, muito código de cliente causa custos de desenvolvimento.
A escrita é complexa e propensa a erros; há muitos códigos redundantes (incluindo arquivos js em todos os níveis é um problema comum do AJAX, além de muitos códigos de servidor no passado serem colocados no cliente); ele quebra os padrões originais da Web.

5. Pontos de atenção do AJAX e cenários aplicáveis ​​e inadequados

(1) Observe que,
ao desenvolver o Ajax, o atraso da rede, ou seja, o intervalo entre a solicitação do usuário e a resposta do servidor, precisa de uma consideração cuidadosa. A falha em fornecer aos usuários uma resposta clara, a falta de dados adequados de pré-leitura ou o processamento inadequado de XMLHttpRequest fará com que os usuários se sintam atrasados. É isso que os usuários não desejam ver e não conseguem entender. A solução usual é usar um componente visual para informar ao usuário que o sistema está executando operações em segundo plano e está lendo dados e conteúdo.
(2) Cenário de aplicativo Ajax
<1> .Interação orientada a formulários
<2>. Navegação em árvore em nível profundo
<3>. Resposta rápida à comunicação entre usuários
<4>. Nada como votação, sim / não, etc. Cena
<5> .Cenas para filtrar e manipular dados relacionados
<6>. Prompts comuns de entrada de texto e cenas de preenchimento automático
(3). O Ajax não é adequado para cenas
<1> .Algumas formas simples
<2>. Pesquisa
<3>. Navegação básica
<4>. Substitua uma grande quantidade de texto
<5>. Manipule a apresentação

Acho que você gosta

Origin www.cnblogs.com/cn-oldboy/p/12717298.html
Recomendado
Clasificación