J'ai un module HTTP qui compresse la requête HTTP.Module HTTP de compression pouvant échapper les scripts en ligne
public override void Write(byte[] buffer, int offset, int count)
{
byte[] data = new byte[count];
Buffer.BlockCopy(buffer, offset, data, 0, count);
string html = System.Text.Encoding.Default.GetString(buffer);
Regex reg = new Regex(@"(?<=[^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}");
html = reg.Replace(html, string.Empty);
byte[] outdata = System.Text.Encoding.Default.GetBytes(html);
_sink.Write(outdata, 0, outdata.GetLength(0));
}
Comment puis-je échapper tous les scripts en ligne? Voici mes scripts regex.
Regex reg = new Regex("<script[^>]*?>[\\w|\\t|\\r|\\W]*?</script>", (RegexOptions.Singleline | RegexOptions.IgnoreCase));
J'ai déjà GZip en utilisant IIS. Merci – user81740
Si vous êtes déjà gzipping, est-ce vraiment faire une différence significative? L'avez-vous mesuré, ainsi que le coup de performance qu'il prend pour effectuer le remplacement de l'encodage/décodage/regex? Et puis il y a le risque d'avoir un peu tort ... –
Je suis d'accord avec votre commentaire. Cela n'améliore pas les performances, mais nous l'utilisons pour l'optimisation SEO. – user81740