Nén code html trong asp.net

Thuật ngữ nén code html là việc xóa bỏ đi những khoảng trắng, những dòng chú thích không cần thiết nhằm giảm tại dung lượng cho file html của bạn.

Ở bài viết trước tôi đã hướng dẫn bạn các nén file javascript và css để tối ưu dung lượng cho 2 file này, trong bài viết lần này tôi sẽ hướng dẫn các bạn nén code html trong asp.net giúp cải thiện tốc độ tải trang trên website của bạn.

Lợi ích của việc nén file html là gì?

+ Giảm dung lượng cho code html
+ Bảo mật code html: những đồng chí muốn ăn cắp html/css sẽ khó khăn hơn khi code html được nén
+ Tiết kiệm băng thông hosting
+ Thân thiện với bộ máy tìm kiếm của Google

Đây là toàn bộ code nén html trong asp.net:

    protected override void Render(HtmlTextWriter writer)
    {
        //html minifier & JS at bottom
        // not tested
        if (this.Request.Headers["X-MicrosoftAjax"] != "Delta=true")
        {
            System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(@"<script[^>]*>[\w|\t|\r|\W]*?</script>");
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            System.IO.StringWriter sw = new System.IO.StringWriter(sb);
            HtmlTextWriter hw = new HtmlTextWriter(sw);
            base.Render(hw);
            string html = sb.ToString();
            System.Text.RegularExpressions.MatchCollection mymatch = reg.Matches(html);
            html = reg.Replace(html, string.Empty);
            reg = new System.Text.RegularExpressions.Regex(@"(?<=[^])\t{2,}|(?<=[>])\s{2,}(?=[<])|(?<=[>])\s{2,11}(?=[<])|(?=[\n])\s{2,}|(?=[\r])\s{2,}");
            html = reg.Replace(html, string.Empty);
            reg = new System.Text.RegularExpressions.Regex(@"</body>");
            string str = string.Empty;
            foreach (System.Text.RegularExpressions.Match match in mymatch)
            {
                str += match.ToString();
            }
            html = reg.Replace(html, str + "</body>");
            writer.Write(html);
        }
        else
            base.Render(writer);
    }

Cách sử dụng code nén html

Bạn chỉ việc copy phương thức này vào bên trên Page_Load trong file MasterPage trong project của bạn là có thể hoạt động bình thường.

Hi vọng chỉ với vài dòng code nho nhỏ này, tôi có thể giúp ích cho những lập trình viên thiết kế web tối ưu tốc độ tải website của mình. Hãy chia sẻ cho người khác nếu bạn cảm thấy bài viết có ích.

Chúc các bạn thành công!





Bạn đang ở chuyên mục: Thiết kế website » Kiến thức » Học thiết kế website » Nén code html trong asp.net