2Mesclar e compactar arquivos JavaScript e CSS no lado do servidor
Uma das práticas recomendadas mais importantes para otimização de desempenho da web é reduzir as solicitações HTTP, e também é a regra mais importante no YSlow. As soluções para reduzir as solicitações HTTP incluem a fusão de arquivos JavaScript e CSS, CSS Sprites, mapas de imagens e o uso de URIs de dados para codificar imagens. Sprites CSS e mapeamento de imagens estão agora amplamente disponíveis, mas devido ao IE6 e IE7 não suportarem URIs de dados e problemas de desempenho, esta tecnologia não tem sido amplamente utilizada. Atualmente, o número de arquivos JavaScript e CSS na maioria das páginas da web é o mesmo de quando foi desenvolvido. Um pequeno número de páginas da web será mesclado localmente de acordo com a situação real. Cada nova mesclagem precisa ser feita localmente novamente. A conclusão e o upload para o servidor são relativamente casuais e complicados, e a compactação do mesmo arquivo apresenta uma situação semelhante. Usando mesclagem e compactação do lado do servidor, podemos tornar a granularidade do arquivo a menor possível de acordo com a lógica de desenvolvimento e usar as regras de URL na página da web para mesclar e compactar arquivos automaticamente, o que será bastante flexível e eficiente.
Manipulador de combinação YUI
Em julho de 2008, a equipe YUI anunciou que forneceria o serviço Combo Handler para componentes YUI JavaScript no YAHOO! Combo Handler é um módulo Apache desenvolvido pelo Yahoo!, que permite aos desenvolvedores combinar de forma simples e conveniente arquivos JavaScript e CSS por meio de URLs, reduzindo bastante o número de solicitações de arquivos. Por exemplo, usar o componente Rich Text Editor do YUI2 em uma página requer a introdução de vários arquivos JavaScript. Os métodos comuns são os seguintes:
Depois de usar o serviço Combo Handler, o código acima pode ser escrito como:
Além de reduzir um pouco a legibilidade do código, o uso do serviço Combo Handler reduz bastante o número de solicitações HTTP e também reduz a quantidade de código URL, o que é crucial para a otimização do desempenho da Web. Portanto, a partir do YUI 2.6.0, seu componente principal, o YUI Loader, possui uma função Combo Handling integrada. Ou seja, ao usar o YUI Loader, ao configurar o atributo combine, vários arquivos JavaScript ou CSS a serem carregados podem ser carregados no. forma de usar o serviço Combo Handler Combinado, desde que o servidor de arquivos estático suporte Combo Handler. No YUI, quando combine está configurado como true, o padrão do CDN é usar o Yahoo! CDN ( http://yui.yahooapis.com ), portanto não há problema. Esta é uma das partes mais charmosas do YUI.
Infelizmente, a velocidade de http://yui.yahooapis.com na China não é muito boa. Originalmente, o Yahoo China fornecia http://cn.yui.yahooapis.com/ , mas ainda não forneceu o serviço Combo Handler. ao mesmo tempo, por vários motivos, suas atualizações pararam desde o YUI 2.7.0. O pior é que, embora o módulo Apache desenvolvido pelo Yahoo! para oferecer suporte ao Combo Handler seja planejado para ser de código aberto, pelo menos por enquanto ainda é uma tecnologia privada. Para usá-lo, você mesmo precisa implementar funções semelhantes, portanto, existem. não há muitas aplicações de tecnologias semelhantes na China.