HTML优化的绿色方法和橙色方法

网页制作Webjx文章简介:HTML代码优化方法总结.

在前段领域中,对Javascript和CSS的优化一直是大家关注的焦点,相应的压缩优化工具也非常丰富,相对而言对HTML优化的关注则显得有些冷淡。在Steve Souders的大作《Even Faster Web Sites》中谈到非常多有效的前端优化方法,例如Javascript的加载、CSS选择符、图片优化、gzip、iframe问题等,唯独没有细说HTML优化。在整个前端的构成中,HTML是必不可少的一部分,而且是真正的展示“前端”。虽然与动辄十几K的Javascript相比,HTML的大小在整个页面资源中一般不会占太多的比重,而且还有Gzip,但是事实表明,大多数页面都有较大的压缩余地,即使是Gzip过后仍然能减小可观的体积,这一事实在后续的文章中会给出,本文主要讨论HTML优化的一些可行和看上去不那么可行的途径。

对于各种优化途径,如果一定要我给一个分类的话,我会用颜色来区分。对于那些在各种页面中都适用而且无害的方法,我将它们归为绿色。相对而言,只有在某些具体的情况下才适用或者有违标准的方法归为橙色

绿色方法

1. 使用相对URL

对于页面中的各种URL,例如链接、外链CSS的href、外链Javascript的src、图片src、iframe src等,如果能够确定它们与当前页面是处于同一域名下的话,则可以使用相对URL,这样每一个URL都能够节省至少一个域名的长度。

2. 删除HTTP或HTTPS

绝对URL都以HTTP或HTTPS等协议头开始,如果能确定URL的协议与当前页面URL的协议是一致的,或者说该URL在多种协议下均是可用的,则可以考虑删除这个协议头。这样做虽然有些非主流,但事实证明是可行的,而且也有理论依据(见http://www.ietf.org/rfc/rfc2396.txt 第5.2节描述)。Nexus One的这个页面中有些资源URL就删除了协议头,虽然并不是出于节省资源的目的,但至少证明删除协议头是可行的。

对于CSS,如果删除协议头在IE7、IE8下会造成CSS下载两次,这个是需要注意的问题。

3. 删除注释

与CSS、Javascript一样,也可以通过删除HTML中的注释来实现优化。然而,这一点对于HTML来说却要复杂一些,因为在HTML中存在某些特殊作用的注释是不能删除的。

(a). IE条件注释

<!--[if expression]> HTML <![endif]—>

诸如这样的语法,只有符合expression的浏览器才能识别其中的内容。

(b). CDATA注释

<script type="text/javascript">
/* <![CDATA[ */
// content of your Javascript goes here
/* ]]> */
</script>

CDATA本身是XHTML中才需要的,在CDATA中的内容不需要对特殊字符进行转义,不过为了兼容老版本的浏览器,需要加上注释,以免出错。不过,对于这个注释,如果你的页面并没有真正的使用XHTML标准则可以大胆的删除掉。使用XHTML标准不是简单的声明DTD就可以办到的,除此之外还需要服务器能够派application/xhtml+xml这样的内容格式,另外还需要浏览器支持,目前IE并不支持XHTML格式。因此,目前你的页面可能是按照XHTML规范来写的,也能通过HTML验证,但想要兼容IE则一定还是以HTML方式来展示的。这样一来,很多为了遵循标准而增加的内容则可以删除,具体的在后文的橙色部分详述。

(c). 自定义注释

产品中自定义的一些具有特定功能的注释,例如统计。

4. 压缩空白符

在HTML中的大多数标签中,多个空白符都会被压缩成一个来显示,于是可以通过删除多余的空白符来减小HTML体积。不过需要注意的是并不是所有的空白符都可以这样做,例如pre、textarea中的空白符是按原样显示的,标签属性中的属性值也是按原样显示的,例如title、value等。

5. 压缩inline css & Javascript

不管inline还是external,都需要压缩,这是减小体积的最直接的方式。

6. CSS&Javascript尽量外链

外链CSS和Javascript,不仅仅是减小HTML本身的体积,而且还可以充分利用浏览器的缓存机制,所以当CSS、Javascript的代码量超过一定体积时,尽量外链。除此之外,尽量避免在页面中使用onmouseover=”xxxx”的方式来注册事件,既不利于维护也容易产生不必要的冗余代码。

7. 删除元素默认属性

在HTML规范中,很多HTML元素的属性是有默认值的,对于这些默认值可以抹去不写,下面是不完全统计。

标签 属性 默认值
style media screen
link media screen
form method get
form    
input type text

橙色方法

橙色方法是指那些有违标准,或者会导致页面出现无法预料的问题的一类方法,算是一类非常规的方法,因此也仅仅适用于一些非常规的页面,例如搜索引擎首页。

1. 删除或替换<!DOCYTYPE>

DOCTYPE对于页面展现非常重要,浏览器会根据具体的DOCTYPE来决定如何显示页面,除非你对删除DOCTYPE后的页面展示十分有把握,否则不要轻易删除。另外一种可行的方式是采用HTML5中的写法,即<!doctype html>,大多数浏览器能够将这种doctype写法解析为标准或准标准(Almost Standard)模式,不过依然会造成一些问题,具体见这里。目前百度、Google都是这么做的。

2. 删除标签属性值的引号

引号不是必须的,删之。此处也需要考虑一些特殊情况,例如属性值中包含引号等。

(提醒:不符合XHTML规范)

3. 省略某些属性值

例如disabled、checked、multiple等的值都可以省略。

(提醒:不符合XHTML规范)

4. 删除可选的闭合标签

例如body、p、tr等标签是允许没有闭合标签的,具体的参考此处。

(提醒:不符合XHTML规范)

5. 删除自动闭合标签的”/”

(提醒:不符合XHTML规范)

工具

HTML优化工具目前比较理想的是Absolute HTML Compressor,另外,PageSpeed1.6中也引入了HTML压缩功能,不过目前只有四个简单的策略,尚处于实验性阶段。随着大家对前端性能越来越高的关注度,HTML优化及压缩方面也一定会有所发展的。

总结

1. HTML优化及压缩的发展滞后于前端其他资源,不过目前也已经引起大家越来越多的关注。

2. 绿色规则中的很多都是在写码过程中就可以注意和遵循的,如果能把这个优化融入到编码中,效果应该更好。

3. 橙色规则由于违背某些规范,只适用于某些特定的页面,使用时务必谨慎。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, html
, 优化
, 协议
, 页面
方法
橙色加绿色是什么颜色、同比橙色和绿色调和、绿色和橙色搭配、橙色配绿色、橙色和绿色,以便于您获取更多的相关知识。

时间: 2024-12-23 19:14:44

HTML优化的绿色方法和橙色方法的相关文章

搜狗优化快速获得稳定排名的方法与技巧

提到搜索引擎优化很多站长首先想到的就是百度优化,但面对这百度复杂的算法,很多站长走了不少弯路也受了不少打击,有的能够在打击中反省从而得以提 高,但有的干脆放弃了.其实搜索引擎优化不仅仅是针对百度的,这里我建议一些打算放弃做百度优化的站长不妨试试搜狗优化,在做好搜狗优化的同时不但积累经 验.增强自信心,然后再去做百度优化.那么怎样才能做好搜狗优化呢?以下是我总结的搜狗优化快速获得稳定排名的方法与技巧. 一.为网站选择一个好的环境 人在好的环境下能学好,在坏的环境下会学坏,所谓近朱者赤近墨者黑就是这

优化javascript的执行效率的方法

 本文为大家介绍下优化javascript的执行效率一些方法,个人感觉还不错,感兴趣的朋友可以了解下 1.在低版本浏览器中(如IE6,IE7等)串联字符串时使用数组的join方法就比使用+号来连接高效很多(如['aaa','bbb','ccc'].join()比'aaa'+'bbb'+'ccc'高效):    2.Array:  pop比shift高效,push比unshift高效.这对于设计二叉堆结构比较重要,将最大或者最小的元素放在数组末尾最好.    3.数字取整最好用移位操作:  1.1

seo-搜索引擎优化存在的问题与解决方法

seo-搜索引擎优化存在的问题与解决方法  .关键词 关键词在网站TITLE上的使用   2 . 外部链接 外部链接的锚文字   3 . 网站品质 网站的外部链接流行度.广泛度   4 . 网站品质 域名年龄(从被搜索引擎索引开始计算)   5 . 页面质量 网站内部链接结构   6 . 关键词 图片的关键词优化   7.关键词 关键词在网页内容上的应用   8. 页面质量 导出链接的质量和相关性   9.网站品质 网站收录数量    在来说说影响搜索引擎优化的负面因素:     1 .服务器经

二次规划-含松弛变量的svm参数优化问题,具体实现的方法有哪些

问题描述 含松弛变量的svm参数优化问题,具体实现的方法有哪些 有谁写过它的matlab实现吗

网站优化者如何去赚钱的方法

网站优化者如何去赚钱的方法 1.通过大流量的网站赚取广告费 分析:通过流量赚钱,这种方法相信是大部分seo教程er和个人站长正在使用的赚钱方法,通过优化某个热门关键词,把自己的网站做到日ip10000以上,不仅可以通过广告联盟赚钱,还可以吸引企业投放广告. 优点:简单省事,不必像做产品站那样,需要做客服.进货.发货等,如果流量巨大的话,也能赚不少的钱. 缺点:难度比较大,并且周期也相对比较长,一般一个网站获得不错的流量,至少需要3个月,单纯靠投放广告赚钱也并不是一种很好的赚钱方式. 2.为企业提

网络营销中优化实时搜索的五种方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 自从去年GOOGLE推出实时搜索以来,实时搜索的这一概念已经被更多的人关注.今天,实时搜索是在为所有主要的搜索引擎列入首要任务 – GOOGLE,BING和YAHOO等.作为新技术的一部分,google同时也跟TWRITE等合作,把与关键词相关的新闻与博客内容放在搜索排名的首 页!对于网络搜索而言,实时搜索能够快速的让使用者了解相关的重要事件

java性能优化方案9——优化自定义hasCode()方法和equals()方法

9.优化自定义hasCode()方法和equals()方法在不能使用EnumMap的情况下,至少也要优化 hashCode() 和 equals() 方法.一个好的 hashCode() 方法是很有必要的,因为它能防止对高开销 equals() 方法多余的调用.在每个类的继承结构中,需要容易接受的简单对象.让我们看一下jOOQ的 org.jooq.Table 是如何实现的?最简单.快速的 hashCode() 实现方法如下:// AbstractTable一个通用Table的基础实现: @Ove

JAVA学习(七):方法重载与方法重写、this关键字和super关键字

方法重载与方法重写.this关键字和super关键字 1.方法重载 重载能够使具有相同名称但不同数目和类型参数的类传递给方法. 注: 一是重载方法的参数列表必须与被重载的方法不同,并且这种不同必须足以清楚地确定要调用哪一个方法: 二是重载方法的返回值类型可以与被重载的方法相同,也可以不同,但是只有返回值类型不同不能表示为重载. 例如,最常用的println()方法在JDK的java.io.PrintStream中定义了十几种形式的重载,常用格式如下: public void println(in

Java语言入门教程(十四):Java语言中方法重载与方法覆盖

很多时候,某个Java类中有多个类似的方法.如Math类中,计算绝对值的方 法就会有多个,因为对不同数据类型的数计算方式不同.比如对float,int, long,double各类型的计算方式各不相同,那么Math类中就应该设计4个求绝对 值的方法,分别对每种类型进行计算.在这种情况下,最好的方式就是设计4个 同名,但是不同参的方法,如下所示(请参见API帮助文档): abs(double a) Returns the absolute value of a double value. abs(