0
HTTPリクエストを圧縮するHTTPモジュールがあります。インラインスクリプトをエスケープできる圧縮HTTPモジュール
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));
}
すべてのインラインスクリプトからどのようにエスケープできますか? これは私のスクリプトの正規表現です。
Regex reg = new Regex("<script[^>]*?>[\\w|\\t|\\r|\\W]*?</script>", (RegexOptions.Singleline | RegexOptions.IgnoreCase));
すでにIISを使用しているGZipがあります。おかげで – user81740
あなたはすでにgzippingしている場合、これは本当に重要な違いを作りますか?エンコード/デコード/正規表現の置き換えを行うパフォーマンスヒットと一緒に測定しましたか?そして、少し間違ってしまう危険性があります... –
私はあなたの意見に同意します。パフォーマンスは向上していませんが、SEO最適化に使用しています。 – user81740