<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>后时代&#187; 网站</title>
	<atom:link href="http://www.houshidai.com/tag/website/feed" rel="self" type="application/rss+xml" />
	<link>http://www.houshidai.com</link>
	<description></description>
	<lastBuildDate>Fri, 11 Oct 2019 03:37:37 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>用户体验的要素与分类</title>
		<link>http://www.houshidai.com/product/user-experience-element.html</link>
		<comments>http://www.houshidai.com/product/user-experience-element.html#comments</comments>
		<pubDate>Sat, 05 May 2012 14:00:03 +0000</pubDate>
		<dc:creator>avic</dc:creator>
				<category><![CDATA[产品]]></category>
		<category><![CDATA[交互设计]]></category>
		<category><![CDATA[体验]]></category>
		<category><![CDATA[用户体验]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[要素]]></category>

		<guid isPermaLink="false">http://houshidai.com/?p=5623</guid>
		<description><![CDATA[用户体验设计的5大分类与76个设计要素： 每个人对网站的使用习惯不一样，功能要求也不一样，要做到最好的用户体验 [...]]]></description>
			<content:encoded><![CDATA[<p>用户<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/experience" title="查看 体验 中的全部文章" target="_blank">体验</a></span>设计的5大分类与76个设计<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/element" title="查看 要素 中的全部文章" target="_blank">要素</a></span>：</p>
<p><img class="alignnone size-full wp-image-5624" title="User-Experience-element" src="http://www.houshidai.com/wp-content/uploads/2012/05/User-Experience-element.jpg" alt="" width="600" height="220" /></p>
<p><span id="more-5623"></span></p>
<p>每个人对<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span>的使用习惯不一样，功能要求也不一样，要做到最好的用户<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/experience" title="查看 体验 中的全部文章" target="_blank">体验</a></span>只能是照顾最主要目标受众的需求，因此要实现用户<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/experience" title="查看 体验 中的全部文章" target="_blank">体验</a></span>的优化，前提之一是必须对自己的目标受众了如指掌。因此，要有一个详细的背景调查，分析目标受众的属性，分析他们的需求和行为特征，这样才能有的放矢，实现<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span><span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/userexperience" title="查看 用户体验 中的全部文章" target="_blank">用户体验</a></span>优化的目的。</p>
<p>现在很多互联网行业的从业人员动不动就提“<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/userexperience" title="查看 用户体验 中的全部文章" target="_blank">用户体验</a></span>”，但是在看了很多同行的网站后，发现很多的网站不仅没有把用户体验这个最重要的部分处理好，并且对用户体验的概念都比较模糊，更不知道从何下手，尤其对于电子商务网站而言，直接的后果就是网站的转化率提不上去，销售额无法突破。每个人对网站的使用习惯不一样，功能要求也不一样，要做到最好的用户体验只能是照顾最主要目标受众的需求，因此要实现用户体验的优化，前提之一是必须对自己的目标受众了如指掌。因此，要有一个详细的背景调查，分析目标受众的属性，分析他们的需求和行为特征，这样才能有的放矢，实现网站用户体验优化的目的。</p>
<p>其实对一个网站做一次用户体验分析是很细很累的活，但是意义却很大，尤其对年销售额上千万级的电子商务网站而言，用户体验做好了，转化率能增加千分之一那就能促进数百上千万的销售额，你说用户体验重不重要?</p>
<p><strong>网站用户体验的分类</strong>:</p>
<p>1、感官体验：呈现给用户视听上的体验，强调舒适性。</p>
<p>2、交互体验：呈现给用户操作上的体验，强调易用/可用性。</p>
<p>3、情感体验：呈现给用户心理上的体验，强调友好性。</p>
<p>4、浏览体验：呈现给用户浏览上的体验，强调吸引性。</p>
<p>5、信任体验：呈现给用户的信任体验，强调可靠性。</p>
<p><strong>网站用户体验的76个<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/element" title="查看 要素 中的全部文章" target="_blank">要素</a></span></strong>:</p>
<p>一、感官体验：呈现给用户视听上的体验，强调舒适性</p>
<p>1. 设计风格：符合目标客户的审美习惯，并具有一定的引导性。</p>
<p>网站在设计之前，必须明确目标客户群体，并针对目标客户的审美喜好，进行分析，从而确定网站的总体设计风格。</p>
<p>2. 网站LOGO：确保logo的保护空间，确保品牌的清晰展示而又不占据过分空间。</p>
<p>3. 页面速度：正常情况下,尽量确保页面在5秒内打开。如果是大 型门户网站，必须考虑南北互通问题，进行必要的压力测试。</p>
<p>4. 页面布局：重点突出，主次分明，图文并茂。与企业的营销目标相结合，将目标客户最感兴趣的，最具有销售力的信息放置在最重要的位置。</p>
<p>5. 页面色彩：与品牌整体形象相统一，主色调+辅助色不超过三种颜色。以恰当的色彩明度和亮度，确保浏览者的浏览舒适度。</p>
<p>6. 动画效果：与主画面相协调，打开速度快，动画效果节奏适中，不干扰主画面浏览。</p>
<p>7. 页面导航：导航条清晰明了、突出，层级分明。</p>
<p>8. 页面大小：适合多数浏览器浏览(以15寸及17寸显示器为主)。</p>
<p>9. 图片展示：比例协调、不变形，图片清晰。图片排列既不过于密集，也不会过于疏远。</p>
<p>10. 图标使用：简洁、明了、易懂、准确，与页面整体风格统一。</p>
<p>11. 广告位：避免干扰视线，广告图片符合整体风格，避免喧宾夺主。</p>
<p>12. 背景音乐：与整体网站主题统一，文件要小，不能干扰阅读。要设置开关按钮及音量控制按钮。</p>
<p>二、交互体验：呈现给用户操作上的体验，强调易用/可用性</p>
<p>13. 会员申请：介绍清晰的会员权责，并提示用户确认已阅读条款。</p>
<p>14. 会员注册：流程清晰、简洁。待会员注册成功后，再详细完善资料。</p>
<p>15. 表单填写：尽量采用下拉选择，需填写部分需注明要填写内容，并对必填字段作出限制。(如手机位数、邮编等等，避免无效信息)</p>
<p>16. 表单提交：表单填写后需输入验证码，防止注水。提交成功后，应显示感谢提示。</p>
<p>17. 按钮设置：对于交互性的按钮必须清晰突出，以确保用户可以清楚地点击。</p>
<p>18. 点击提示：点击浏览过的信息颜色需要显示为不同的颜色，以区分于未阅读内容，避免重复阅读。</p>
<p>19. 错误提示：若表单填写错误，应指明填写错误之处，并保存原有填写内容，减少重复工作。</p>
<p>20. 在线问答：用户提问后后台要及时反馈，后台显示有新提问以确保回复及时。</p>
<p>21. 意见反馈：当用户在使用中发生任何问题，都可随时提供反馈意见。</p>
<p>22. 在线调查：为用户关注的问题设置调查，并显示调查结果，提高用户的参与度。</p>
<p>23. 在线搜索：搜索提交后，显示清晰列表，并对该搜索结果中的相关字符以不同颜色加以区分。</p>
<p>24. 页面刷新：尽量采用无刷新(AJAX)技术，以减少页面的刷新率。</p>
<p>Ajax是新兴的网络开发技术的象征。它将JavaScript和XML技术结合在一起，用户每次调用新数据时，无需反复向服务器发出请求，而是在浏览器的缓存区预先获取下次可能用到的数据，界面的响应速度因此得到了显著提升。</p>
<p>25. 新开窗口：尽量减少新开的窗口，以避免开过多的无效窗口，设置弹出窗口的关闭功能。</p>
<p>26. 资料安全：确保资料的安全保密，对于客户密码和资料进行加密保存。</p>
<p>27. 显示路径：无论用户浏览到哪一个层级，哪一个页面，都可以清楚知道看到该页面的路径。</p>
<p>三、浏览体验：呈现给用户浏览上的体验，强调吸引性</p>
<p>28. 栏目的命名：与栏目内容准确相关，简洁清晰，不宜过于深奥。</p>
<p>29. 栏目的层级：最多不超过三层，导航清晰，运用JAVAscrip等技术使得层级之间伸缩便利。</p>
<p>30. 内容的分类：同一栏目下，不同分类区隔清晰，不要互相包含或混淆。</p>
<p>31. 内容的丰富性：每一个栏目应确保足够的信息量，避免栏目无内容情况出现。</p>
<p>32. 内容的原创性：尽量多采用原创性内容，以确保内容的可读性。</p>
<p>33. 信息的更新频率：确保稳定的更新频率，以吸引浏览者经常浏览。</p>
<p>34. 信息的编写方式：段落标题加粗，以区别于内文。采用倒金字塔结构。</p>
<p>35. 新文章的标记：为新文章提供不同标识(如new)，吸引浏览者查看。</p>
<p>36. 文章导读：为重要内容在首页设立导读，使得浏览者可以了解到所需信息。文字截取字数准确，避免断章取义。</p>
<p>37. 精彩内容的推荐：在频道首页或文章左右侧，提供精彩内容推荐，吸引浏览者浏览。</p>
<p>38. 相关内容的推荐：在用户浏览文章的左右侧或下部，提供相关内容推荐，吸引浏览者浏览。</p>
<p>39. 收藏夹的设置：为会员设置收藏夹，对于喜爱的产品或信息，可进行收藏。</p>
<p>40. 栏目的订阅：提供Rss或邮件订阅功能</p>
<p>41. 信息的搜索：在页面的醒目位置，提供信息搜索框，便于查找到所需内容。</p>
<p>42. 页面打印：允许用户打印该页资料，以便于保存。</p>
<p>43. 文字排列：标题与正文明显区隔，段落清晰。</p>
<p>44. 文字字体：采用易于阅读的字体，避免文字过小或过密造成的阅读障碍。可对字体进行大中小设置，以满足不同的浏览习惯。</p>
<p>45. 页面底色：不能干扰主体页面的阅读。</p>
<p>46. 页面的长度：设置一定的页面长度，避免页面过长而影响阅读。</p>
<p>47. 分页浏览：对于长篇文章 进行分页浏览。</p>
<p>48. 语言版本：为面向不同国家的客户提供不同的浏览版本。</p>
<p>49. 快速通道：为有明确目的的用户提供快速入口。</p>
<p>四、情感体验：呈现给用户心理上的体验，强调友好性</p>
<p>50. 客户分类：将不同的浏览者进行划分(如消费者、经销商、内部员工)，为客户提供不同的服务。</p>
<p>51. 友好提示：对于每一个操作进行友好提示，以增加浏览者的亲和度。</p>
<p>52. 会员交流：提供便利的会员交流功能(如论坛)，增进会员感情。</p>
<p>53. 售后反馈：定期进行售后的反馈跟踪，提高客户满意度。</p>
<p>54. 会员优惠：定期举办会员优惠活动，让会员感觉到实实在在的利益。</p>
<p>55. 会员推荐：根据会员资料及购买习惯，为其推荐适合的产品或服务。</p>
<p>56. 鼓励用户参与：提供用户评论、投票等功能，让会员更多地参与进来。</p>
<p>57. 会员活动：定期举办网上会员活动，提供会员网下交流机会。</p>
<p>58. 专家答疑：为用户提出的疑问进行专业解答。</p>
<p>59. 邮件/短信问候：针对不同客户，为客户定期提供邮件/短信问候，增进与客户间感情。</p>
<p>60. 好友推荐：提供邮件推荐功能。</p>
<p>61. 网站地图：为用户提供清晰的网站指引。</p>
<p>五、信任体验：呈现给用户的信任体验，强调可靠性</p>
<p>62. 搜索引擎：查找相关内容可以显示在搜索引擎前列。</p>
<p>63. 公司介绍：真实可靠的信息发布，包括公司规模、发展状况、公司资质等。</p>
<p>64. 投资者关系：上市公司需为股民提供真实准确的年报，财务信息等。</p>
<p>65. 服务保障：将公司的服务保障清晰列出，增强客户信任。</p>
<p>66. 页面标题：准确地描述公司名称及相关内容。</p>
<p>67. 文章来源：为摘引的文章标注摘引来源，避免版权纠纷。</p>
<p>68. 文章编辑作者：为原创性文章注明编辑或作者，以提高文章的可信度。</p>
<p>69. 联系方式：准确有效的地址、电话等联系方式，便于查找。</p>
<p>70. 服务热线：将公司的服务热线列在醒目的地方，便于客户查找。</p>
<p>71. 有效的投诉途径：为客户提供投诉或建议邮箱或在线反馈。</p>
<p>72. 安全及隐私条款：对于交互式网站，注明安全及隐私条款可以减少客户顾虑，避免纠纷。</p>
<p>73. 法律声明：对于网站法律条款的声明可以避免企业陷入不必要的纠纷中。</p>
<p>74. 网站备案：让浏览者确认网站的合法性。</p>
<p>75. 相关链接：对于集团企业及相关企业的链接，应该具有相关性。</p>
<p>76. 帮助中心：对于流程较复杂的服务，必须具备帮助中心进行服务介绍。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.houshidai.com/product/user-experience-element.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30个网站可用性设计基础概念</title>
		<link>http://www.houshidai.com/internet/30-web-design-concept.html</link>
		<comments>http://www.houshidai.com/internet/30-web-design-concept.html#comments</comments>
		<pubDate>Wed, 30 Nov 2011 14:09:20 +0000</pubDate>
		<dc:creator>RUI</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[原则]]></category>
		<category><![CDATA[可用性]]></category>
		<category><![CDATA[术语]]></category>
		<category><![CDATA[概念]]></category>
		<category><![CDATA[网站]]></category>

		<guid isPermaLink="false">http://houshidai.com/?p=4793</guid>
		<description><![CDATA[网站可用性设计基础概念： 作为一个专业的Web开发人，你是你访客爱好和需求的倡导者;你必须坚持你对良好的用户体 [...]]]></description>
			<content:encoded><![CDATA[<p><span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span><span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/usability" title="查看 可用性 中的全部文章" target="_blank">可用性</a></span>设计基础<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/concept" title="查看 概念 中的全部文章" target="_blank">概念</a></span>：</p>
<p><img class="alignnone size-full wp-image-4796" title="webdesigntip" src="http://www.houshidai.com/wp-content/uploads/2011/11/webdesigntip.jpg" alt="" width="600" height="220" /></p>
<p><span id="more-4793"></span></p>
<p>作为一个专业的Web开发人，你是你访客爱好和需求的倡导者;你必须坚持你对良好的用户体验的理解，确保在复杂的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span>架构下你的访客仍可能找到他们的路径。这意味着在与用户和同事讨论时，你必须能够坚持你的立场，有效地传达自己的想法。事实上，你的工作就是妥协处理错误的思想和误导的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/concept" title="查看 概念 中的全部文章" target="_blank">概念</a></span>，而不是盲从它们。</p>
<p>在这种境况下，没有任何东西可以帮助你，除了和你工作中根本问题相关的深刻知识。但是，即使你知道这些知识，重要的是你还要知道如何称呼这些<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/concept" title="查看 概念 中的全部文章" target="_blank">概念</a></span>，如何在讨论中用到它们。此外，准备一些你可能需要的准确<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/term" title="查看 术语 中的全部文章" target="_blank">术语</a></span>在手边作为论据，对你的讨论也是有帮助的。</p>
<p>在这篇文章，我们陈述了30个通常被遗忘、忽略和误解的重要的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/usability" title="查看 可用性 中的全部文章" target="_blank">可用性</a></span>问题、<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/term" title="查看 术语 中的全部文章" target="_blank">术语</a></span>、规则和<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/principle" title="查看 原则 中的全部文章" target="_blank">原则</a></span>。可读性（readability）和易读性（legibility）有什么区别？究竟80/20和帕累托<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/principle" title="查看 原则 中的全部文章" target="_blank">原则</a></span>是什么意思？扫雷与满意度是什么意思？逐步强化和优雅降级又是什么？你都可以找到答案。</p>
<p><strong>一、可用性：规则和<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/principle" title="查看 原则 中的全部文章" target="_blank">原则</a></span></strong></p>
<p><strong>7±2 原则</strong></p>
<p>由于人类大脑处理信息的能力有限，它会将复杂信息划分成块和小的单元。根据乔治 A 。米勒（George A. Miller）的研究，人类短期记忆一般一次只能记住5-9个事物。这一事实经常被用来作为限制导航菜单选项到7个的论据;然而关于神奇的“7，加2或者减2”还是引起了激烈的讨论。因此目前还不清楚是否7±2原则能、可能或应该应用到web中。米勒的研究。</p>
<p><strong>2秒原则</strong></p>
<p>一个松散的原则，即用户没有必要对某些系统响应等待2秒以上的时间，比如应用程序转换和开始的响应时间。选择2秒有点武断，但确是一个合理的数量级。可靠的原则就是：用户等待时间越少，用户体验越好。［可用性优先］</p>
<p><strong>3次点击原则</strong></p>
<p>根据这个原则，如果用户在3次点击中无法找到信息和完成<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span>功能时，用户就会停止使用这个网站。换句话说，这个原则强调明确的导航，逻辑架构和后续站点的层次结构。在大多数情况下，点击的次数是无关紧要的;真正重要的是，游客总是能知道他们现在在哪，他们去过哪，他们接着将会去哪。如果用户感觉他们对该系统如何运作有个充分的了解的话，甚至10次点击，用户都会觉得OK。</p>
<p><strong>80/20原则（帕累托原则）</strong></p>
<p>帕累托原则（也被称为重要少数法则和因素稀疏原则）指出，80%的效应来自20%的原因。这是商业中的基本经验法则（“80%的销售额来自20%的顾客”），但也可以应用于设计和可用性。举例来说，我们可以通过确定那些贡献80%利润的20 %的用户、客户、活动、产品或程序，并最大限度地注意对他们适用，来显著提高效应</p>
<p><strong>8个接口设计的金科玉律</strong></p>
<p>作为接口设计研究的成果， Ben Shneiderman提出并收集了一些从经验中启发而来，适用于大多数交互系统的原则。这些原则适用于用户接口设计，也适用于网页设计。</p>
<p>1. 争取保持一致性</p>
<p>2. 为老用户提供可用的快捷方式</p>
<p>3. 提供有益的反馈</p>
<p>4. 设计结束功能的对话框</p>
<p>5. 提供简单的错误处理</p>
<p>6. 允许简单的逆转功能</p>
<p>7. 提供控制感。支持内部控制点</p>
<p>8. 减少短期记忆</p>
<p><strong>费茨定律</strong></p>
<p>由保罗费茨（Paul Fitts）发表于1954年，费茨定律模拟了人类活动，以目标距离和目标规模大小为函数，预测了迅速移动到目标区所需时间。该法通常应用到鼠标的移动，访客就必须从A点移动到B点。例如，这个规则对于如何放置内容区域，以更实用的方式，最大化内容可及性和提高内容点击率，是非常重要的。</p>
<p><strong>倒金字塔</strong></p>
<p>倒金字塔是一种在文章开头表达总结文字的写作风格。这种方式使用了新闻业中著名的“瀑布效应”，新闻作者试图让他们的读者即时知道他们的报道的主题。文章以总结开头，接着是关键点，最后那些次要的细节，如背景资料。由于网络用户需要即时的满足，这种倒金字塔写作风格，对于网络写作和更好的用户体验是非常重要的。</p>
<p><strong>满意</strong></p>
<p>网络用户不喜欢用最佳方式找到他们寻找的信息。他们对最合理和最健全的解决问题方案不感兴趣。相反，他们永远扫描他们认为“足够好”的quick‘n’dirty解决方案。在网络中，这种方式准确地描述了用户的满意：用户使用一个“足够好”的方案解决问题——即时在长远看来一些替代方案能够更好地满足他们的要求。</p>
<p><strong>二、可用性背后的心理学</strong></p>
<p><strong>婴儿鸭综合症</strong></p>
<p>婴儿鸭综合症描述了游客倾向忠于他们记住的最初设计，并且通过与最初设计的相似度来判断其他的设计。其结果是，用户通常倾向于那些与他们记住的最初设计相类似的设计，不喜欢陌生的系统。这些可用性问题是很多系统重新设计时存在的：用户，习惯了以前的设计，对新的网站架构会感到不舒服，他们必须找到自己的方式去使用网站。</p>
<p><strong>无视广告</strong></p>
<p>网络用户具有忽视一切看起来像广告的东西，有趣的是，他们非常擅于这。虽然广告是被注意到了，但几乎一直是被忽略的。由于用户已经为网站上不同的任务构建了相关联的图式，在网站上搜索特定的信息时，他们只将注意力集中在网页的部分区域，就是那些他们认为可能是相关信息的地方，也就是，小文本和超链接。在这个例子中，大的色彩缤纷的地方或动画横幅广告和其他的图形是被忽略的。</p>
<p><img src="https://byfiles.storage.live.com/y1povM8P3SLT0ZKvUDbN_SnQb1eZL9BDeQ9BHjdCDWVTMbeos7KbZ1fGWBR_QMsIBjSOl-pSTB6pOw/webdesigntip1.jpg?psid=1" alt="webdesigntip1" /></p>
<p>［来源：无视广告 一些发现和一些新发现］</p>
<p><strong>扣人心弦效应（蔡加尼克效应）</strong></p>
<p>人类无法忍受不确定性。我们倾向于对感兴趣的、未回答的问题尽快找到答案。扣人心弦效应就是基于这一事实的;扣人心弦的电影，文章和情节总是有出其不意的结果，往往总是以一个突然的震惊启示或者困难的局面离开。这种效应经常用在广告上：广告主往往通过要求游客解答刺激的问题，来迫使他们阅读广告，点击横幅广告或者跟进一个链接。</p>
<p>扣人心弦效应由布鲁玛 W. 蔡加尼克（Bluma W.Zeigarnik）在1927年发现，这个效应在读者间建立了情感联系，在营销学中极其有影响力。游客们可以更好地记住是什么广告，甚至是最小的细节都能记得更清晰确切。在web写作中，扣人心弦效应也被用来吸引游客进入网站。（如“抓取我们的RSS-Feed，以确保您不会错过文章的第二部分！”）。</p>
<p><strong>视知觉的格式塔原则</strong></p>
<p>这些原则是人机交互设计心理方面的基本原则。</p>
<p>          a. 接近法则认为，当我们知觉物体归类时时，易于把相近的物体归于一组。</p>
<p><img src="https://byfiles.storage.live.com/y1povM8P3SLT0YoyPJMdULFm-9sw0kuEpYlvmKMSY3LiJbPkmYQz_IP0JF7ADRs6mDkJyhNJdbbt8Y/webdesigntip2.jpg?psid=1" alt="webdesigntip2" /></p>
<p>MTV音乐颁奖的接近法则的真实例子。</p>
<p>          b. 相似法则指当内容元素彼此相似的时候我们会感知它们为一组。</p>
<p>          c. Prägnanz法则（图像-背景）指在知觉某个的视野时，一些物体（图像）看起来突显了出来，视野中的其他东西则消退到背景中。如：苹果机的标志可以被看作是一个正规笑脸和一个侧面欢喜的脸庞（看着计算机屏幕）</p>
<p>          d. 对称性法则指我们在知觉物体时倾向于把物体知觉为一个中心周边对称的形状。</p>
<p>          e. 连贯性法则指我们倾向于知觉联贯或连续流动的形式，而不是断裂或都不连续的形式，事实上它们并不连贯。如IBM标志：我们知觉到字母‘I’，‘B’，和‘M’，虽然我们事实上看到的形状，只有几行不同长度的白色空格彼此空悬。</p>
<p><strong>自我参照效应</strong></p>
<p>自我参照效应在网络写作中尤其重要，可以显著改善作者和读者之间的沟通。与我们个人观念相联系的事物要比那些和我们没有直接联系的事物记得更清楚。例如，阅读一篇文章后，用户能更好地记得他们个人经验中相关的人物，故事或事实。在可用性中自我参照效应通常被用在网络写作的表达和网站内容陈述。</p>
<p><strong>三、可用性术语表： 术语和概念</strong></p>
<p><strong>眼球追踪</strong></p>
<p>眼球追踪是测量我们凝视的点（我们看着的地方）或者相对于头部来说眼睛移动的过程。眼球追踪监测记录眼球每次的运动，并在网站最活跃的区域高光显示。眼球追踪研究可以帮助估计浏览网站的用户是否舒适地使用网站，以及他们理解网站背后的架构和系统有多快。在最近的眼球追踪研究Eyetrack07中，你可以找到一些有趣的可用性结果。</p>
<p><img src="https://byfiles.storage.live.com/y1pIITXh5ilfL23swG8dO_5-AWERb45ERFaKpYluW6Rt14I5Sq9KIs8h-xFw6f0iKM8txxO07HoVX8/webdesigntip3.jpg?psid=1" alt="webdesigntip3" /></p>
<p><strong>折叠位置</strong>（Fold）</p>
<p>折叠位置是指一个网站在屏幕上可见区域的最下方位置。当然折叠的位置也取决于你访客的屏幕分辨率。网页可见区域（也称为screenful）是指网页上不需要拉动滚动条就能看到的区域。既然折叠位置是不需要滚动就能看到，它常常被视为可能可以保证最高广告点击率和利润的区域。然而，折叠位置并没有那么重要。［Usability.gov］</p>
<p><strong>中心凹视（中心凹区）</strong></p>
<p>中央窝，人类眼睛的一部分，负责敏锐的中央视力，对于人类在阅读、看电视或电影、驾驶以及其他任何需要高度注意视觉细节的活动中，是非常必要的。中央窝是你的眼睛在瞄准时的一块小范围空间，它是你可以感知最高级别细节的唯一地方。中心凹区相当于两度视野或者放在你眼前的两个缩略图大小的紧密区域。这是你为游客传递最重要信息的地方。</p>
<p>中心凹视是非常重要的，因为在这个宽屏区域外你的访客如何看你的网页变化非常大。在这部分区域内，是你的视线注意力最大的唯一区域——只有在这里没有眼睛扫描是必要的。</p>
<p><strong>注释原则</strong></p>
<p>注释是一个自动的行为，它在链接链向的地方和用户一旦点击会链向的地方提供提示和摘要信息。提示可通过链接的标题特征来提供。从可用性的角度来看，用户希望有充分控制一切正在发生在网站上的事情的权利;清晰和准确的内外部链接解释，合理的连接源头标签，都可以提高一个网站的可用性。</p>
<p><strong>优雅降级（容错系统）</strong></p>
<p>优雅降级是指一个网站即使在它的部件（部分或完全）已经无法显示或者无效的情况下还能展示内容和基本的功能的这种能力。在实践中这意味着网站在每一个可能“过失”的情况下显示内容，可在用户可能的每种配置下（浏览器、插件、连接、操作系统等等）被使用。为“骨灰级用户”提供的仍然是丰富的、增强的页面版本。例如，典型地为多媒体内容提供可替代的显示，以确保在图片无法显示的时候内容仍然可以感知。［维基百科：容错系统］</p>
<p><strong>粒度</strong></p>
<p>粒度是指一个大的、复杂的数据集或信息分成何种程度的更小的单位。</p>
<p><strong>热区</strong></p>
<p>热区是网站可点击的区域，一旦被点击时会改变它们的形式或者/和外观、这是典型的：当链接或者任何其他网站元素被点击时的焦点效应。</p>
<p><strong>易读性（Legibility）</strong></p>
<p>易读性是指文章在视觉上是否明确。</p>
<p><strong>扫雷</strong></p>
<p>扫雷是指那些要确定网站链接的用户与网站的交互大多数情况下。在大多数情况下，扫雷是可用性问题中一个明确的警报信号。通常扫雷涉及用户在网页上快速移动光标或者指针，注视光标或指针在哪里有显示链接的变化。［Usability.gov］</p>
<p><strong>肉之谜导航系统（MMN）</strong></p>
<p>网络中的肉之谜导航描述了那种用户要想发现导航链接的目的点或者确定链接在哪里极其困难的设计。</p>
<p><strong>物理一致性</strong></p>
<p>这个概念描述了网站外观的一致性，-如logos的位置、导航、图形元素和版式的使用。物理一致性对于更好的方向和有效的网站导航是至关重要的。</p>
<p><strong>逐步强化（PE）</strong></p>
<p>逐步强化是一个设计战略，网站是以多层次的方式创建的——从适合所有浏览器的最基本的功能，再到更多的适合现行浏览器的加强的功能。逐步强化的主要优势在于它的“普遍可用性”——比如，事实上，它允许使用任何浏览器或者网络链接工具的人访问网站的基本内容和功能，同时它也提供使用更好网络带宽和更先进浏览器软件的用户更强版本的网页。［维基百科］</p>
<p><strong>可读性</strong></p>
<p>可读性描述了基于复杂句子和困难词汇的文字的可理解的程度。可读性的指标通常可以划分可用性层级，通过一些人轻易理解一篇阅读文章所需的年龄和级别来定。可读性不是易读性。［可用性的术语］</p>
<p><strong>用户为中心的设计（UCD）</strong></p>
<p>用户为中心的设计是这样一种设计理念，用户需求、偏好和行为决定了网站的基础，就是网站架构、导航和获取信息的方式。UCD被视为现代网络应用的标准方式，尤其是由于用户创造内容的兴起。在web2.0游客必须积极参与，因此需要最佳化他们需求的条件。</p>
<p><strong>警惕（持续关注）</strong></p>
<p>警惕是在长时间单调的任务中仍能持续关注的能力，比如校队文章查找拼写错误，提醒约会，自行修改文字处理机文档等。在现代网络应用中警惕的任务主要体现在后台、自动化和提供系统的可用性。</p>
<p><strong>走来即用的设计</strong></p>
<p>一个走来即用的设计是不言自明和直观的，所以第一次和一次性用户可以有效的使用它，而不需要实现介绍或培训。</p>
<p><strong>线框图</strong></p>
<p>线框图是一个网站基本的结构——骨架——描述了一个网站的思想、概念和结构。线框图可以被设计成介绍陈述，用来向股份持有者解释网站是如何设计的，提供了什么功能，用户是如何完成他们的任务的。线框图通常不会有任何视觉元素，或者一个完整的页面布局;他们往往是设计者画在纸上的初稿和草图。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.houshidai.com/internet/30-web-design-concept.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>性感美女Poppy Dinsey的时尚SNS创业经</title>
		<link>http://www.houshidai.com/internet/poppy-dinsey.html</link>
		<comments>http://www.houshidai.com/internet/poppy-dinsey.html#comments</comments>
		<pubDate>Sun, 28 Aug 2011 14:13:47 +0000</pubDate>
		<dc:creator>RUI</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[SNS]]></category>
		<category><![CDATA[创业]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[美女]]></category>
		<category><![CDATA[自拍]]></category>

		<guid isPermaLink="false">http://houshidai.com/?p=4283</guid>
		<description><![CDATA[性感美女Poppy Dinsey的时尚SNS创业经 Poppy Dinsey官网：http://wiwt.co [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-4284" title="PoppyDinsey" src="http://www.houshidai.com/wp-content/uploads/2011/08/PoppyDinsey.jpg" alt="" width="600" height="220" /></p>
<p>性感<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/meinv" title="查看 美女 中的全部文章" target="_blank">美女</a></span>Poppy Dinsey的时尚<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/sns" title="查看 SNS 中的全部文章" target="_blank">SNS</a></span><span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/entrepreneurship" title="查看 创业 中的全部文章" target="_blank">创业</a></span>经</p>
<p><span id="more-4283"></span></p>
<p>Poppy Dinsey官网：<a href="http://wiwt.com/">http://wiwt.com/</a></p>
<p><img src="https://byfiles.storage.live.com/y1pqJxbMJDimZ8XpGOWPoCRszAVohBUJn9nbs6D7mOESKiqMUcGFv1EhExLqQS8fAcmuvgPFETeshqupjmsv0SxKQ/Poppy-Dinsey1.jpg?psid=1" alt="Poppy-Dinsey1" /></p>
<p>这位性感女孩，Poppy Dinsey，则是从每日<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/zipai" title="查看 自拍 中的全部文章" target="_blank">自拍</a></span>起家的，她的穿衣搭配<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span>What I Wore Today越来越红，如今她又乘胜追击推出了一个全新的时尚<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/sns" title="查看 SNS 中的全部文章" target="_blank">SNS</a></span>。</p>
<p>尽管美国的时尚<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span>多如牛毛，但是Poppy仍然在夹缝中成功地获取了足够多的用户。Poppy的成功也绝非偶然，这与她的先天条件和后天努力是分不开的，如果换成凤姐来做这样的网站就不靠谱了，当然减肥后的芙蓉姐姐行的。Poppy的优势如下：</p>
<p><img src="https://byfiles.storage.live.com/y1p9ZWlJqNZyAD_2iHyYpX8pDdHiTFuvYWqXrkzfgRiHCZI9fng2symGDb0wpNrMO5ptZV8snR2NzaWBF8K9teU9A/Poppy-Dinsey2.jpg?psid=1" alt="Poppy-Dinsey2" /></p>
<p>一、性感<br />
如果把穿衣搭配网站比作一款产品，那么性感就是其杀手级功能。</p>
<p>Poppy Dinsey的性感</p>
<p><img src="https://byfiles.storage.live.com/y1p9ZWlJqNZyADpS4dCPlQ3K4h0pw0zB4mEgskmPioQJP6ifLyvXhqxP1JNDvdlQPJWdNflMrDm7nc_F79l0CoEuA/Poppy-Dinsey3.jpg?psid=1" alt="Poppy-Dinsey3" /></p>
<p>二、美貌<br />
如果说性感是What I Wore Today的核心功能，那么美貌就是Poppy Dinsey扎实的技术根底。</p>
<p>Poppy Dinsey的美貌</p>
<p><img src="https://byfiles.storage.live.com/y1pcSLBmBIC2MJacGiEBkFkQky3kWRjoxfZIKoccZZx479X4ob5IYnEIODjRidyKXSH5p85gMGXeeMGsDLzUBeo0Q/Poppy-Dinsey4.jpg?psid=1" alt="Poppy-Dinsey4" /></p>
<p>三、搞怪<br />
搞怪会让网站的读者觉得Poppy很有趣，不boring。同理，各大公司都会在愚人节弄出一些亦真亦假的搞怪言行，一年当中Google的首页也时不时地出现有意思有内涵的Logo。</p>
<p>Poppy Dinsey的搞怪</p>
<p>四、时尚<br />
由于What I Wore Today是一个时尚网站，因此性感和美貌只能算是Poppy Dinsey的内部优势，时尚才是她向用户提供的价值。</p>
<p>Poppy Dinsey的时尚</p>
<p>五、多变<br />
多变就好比产品的进化，尤其是在这个“天下武功唯快不破”的时代，只有不断追赶潮流甚至引领潮流，才能吸引和留住用户。</p>
<p>Poppy Dinsey的多变</p>
<p><img src="https://byfiles.storage.live.com/y1piBXrTL9-qUZ47Nw0cSJX0ccPLYm44aXIhpSjHdWRQYuqvbzRufw7cLP1-z_HYcQcp4oQZujie_CgPBMRw8jbKw/Poppy-Dinsey7.jpg?psid=1" alt="Poppy-Dinsey7" /></p>
<p>六、真实<br />
Poppy Dinsey的一个很大优势在于，她的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/zipai" title="查看 自拍 中的全部文章" target="_blank">自拍</a></span>照非常真实，因此读者能感受到那份鲜活和近距离。从产品和<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/entrepreneurship" title="查看 创业 中的全部文章" target="_blank">创业</a></span>的角度讲，<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/entrepreneurship" title="查看 创业 中的全部文章" target="_blank">创业</a></span>者和创业公司的诚信将决定其口碑。</p>
<p>Poppy Dinsey的真实</p>
<p>七、坚持<br />
个人认为Poppy最大的成功法则，是她的坚持。她每天都会来一张<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/zipai" title="查看 自拍 中的全部文章" target="_blank">自拍</a></span>照，从2010年1月1日坚持到现在。对于每一个创业者和创业公司来讲，只有撑得足够久才能活得足够好。</p>
<p>Poppy Dinsey的坚持</p>
<p>Poppy的时尚SNS<br />
Poppy的坚持终有所成，于是问题又回到了文首所提到的时尚SNS，这是什么呢？</p>
<p>Poppy解释道，她的时尚SNS是一个分享穿衣风格的社区，任何人都可以上传自己的美装照，然后添加标签/tag，标签可以是衣服的品牌、照片拍摄地即自己所在的城市、自己的搭配心得等。基于这些用户上传的信息，网站的所有用户就得以根据标签来发现新的品牌和衣服、寻找新的搭配灵感、以及追踪当季的流行趋势。</p>
<p>也就是说，Poppy是一个更加鲜活的Pinterest、美丽说、蘑菇街、迷尚网。目前网站还处于封测阶段。</p>
<p><img src="https://byfiles.storage.live.com/y1pCNK027G8Xq1aUMkUNHtYFBb5IAdJowzLyd1ppyD15LikwkZAziaXDQhNC0D0IetgpWAMJTNOIbOHF4SdTibuYw/Poppy-Dinsey.jpg?psid=1" alt="Poppy-Dinsey" /></p>
<p>后记：Poppy Dinsey的创业经</p>
<p>Poppy的时尚SNS能否成功还需要时间来验证。</p>
<p>但是Poppy的创业经却值得创业者、尤其是白手起家的创业者们学习，那就是：先天优势（性感、美貌）+后天努力（坚持）。或者说：If 用心地坚持做最擅长的事 Then 成功指日可待。</p>
<p>[VIA:张涛 供雷锋网专稿]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.houshidai.com/internet/poppy-dinsey.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>如何提高优化网站性能的30条规则方法</title>
		<link>http://www.houshidai.com/internet/yahoo-optimize-web-rules.html</link>
		<comments>http://www.houshidai.com/internet/yahoo-optimize-web-rules.html#comments</comments>
		<pubDate>Thu, 18 Aug 2011 14:17:26 +0000</pubDate>
		<dc:creator>RUI</dc:creator>
				<category><![CDATA[互联网]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[优化]]></category>
		<category><![CDATA[性能]]></category>
		<category><![CDATA[方法]]></category>
		<category><![CDATA[网站]]></category>
		<category><![CDATA[规则]]></category>

		<guid isPermaLink="false">http://houshidai.com/?p=4249</guid>
		<description><![CDATA[如何提高网站性能是每个站长必须注意的要素，Yahoo!的 Exceptional Performance团队为 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-4250" title="webruls" src="http://www.houshidai.com/wp-content/uploads/2011/08/webruls.jpg" alt="" width="600" height="220" /></p>
<p>如何提高<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span><span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/capability" title="查看 性能 中的全部文章" target="_blank">性能</a></span>是每个站长必须注意的要素，Yahoo!的 Exceptional Performance团队为改善 Web<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/capability" title="查看 性能 中的全部文章" target="_blank">性能</a></span>带来最佳实践。他们为此进行了一系列的实验、开发了各种工具、写了大量的文章和博客并在各种会议上参与探讨。最佳实践的核心就是旨在提高<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/website" title="查看 网站 中的全部文章" target="_blank">网站</a></span><span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/capability" title="查看 性能 中的全部文章" target="_blank">性能</a></span>。</p>
<p><span id="more-4249"></span></p>
<p>Excetional Performance 团队总结出了一系列可以提高网站速度的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/method" title="查看 方法 中的全部文章" target="_blank">方法</a></span>。可以分为 7大类 34条。</p>
<p>包括内容 、服务器 、 CSS 、 JavaScript 、Cookie 、图片 、移动应用 ，七部分。</p>
<p>原文地址：<a href="http://developer.yahoo.com/performance/rules.html" target="_blank">http://developer.yahoo.com/performance/rules.html</a> <br />
 </p>
<p>其中内容部分一共十条建议：</p>
<p><strong>一、内容部分 </strong></p>
<ul>
<li>尽量减少 HTTP请求</li>
<li>减少 DNS查找</li>
<li>避免跳转</li>
<li>缓存 Ajxa</li>
<li>推迟加载</li>
<li>提前加载</li>
<li>减少 DOM元素数量</li>
<li>用域名划分页面内容</li>
<li>使 frame数量最少</li>
<li>避免 404错误</li>
</ul>
<p> </p>
<p><strong>1、尽量减少 HTTP请求次数</strong></p>
<p> 终端用户响应的时间中，有 80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、 Flash等。通过减少页面中的元素可以减少 HTTP请求的次数。这是提高网页速度的关键步骤。</p>
<p> 减少页面组件的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/method" title="查看 方法 中的全部文章" target="_blank">方法</a></span>其实就是简化页面设计。那么有没有一种方法既能保持页面内容的丰富性又能达到加快响应时间的目的呢？这里有几条减少 HTTP请求次数同时又可能保持页面内容丰富的技术。</p>
<p>合并文件是通过把所有的脚本放到一个文件中来减少 HTTP请求的方法，如可以简单地把所有的 CSS文件都放入一个样式表中。当脚本或者样式表在不同页面中使用时需要做不同的修改，这可能会相对麻烦点，但即便如此也要把这个方法作为改善页面性能的重要一步。</p>
<p>CSS Sprites是减少图像请求的有效方法。把所有的背景图像都放到一个图片文件中，然后通过 CSS的 background-image和 background-position属性来显示图片的不同部分；</p>
<p>图片地图是把多张图片整合到一张图片中。虽然文件的总体大小不会改变，但是可以减少 HTTP请求次数。图片地图只有在图片的所有组成部分在页面中是紧挨在一起的时候才能使用，如导航栏。确定图片的坐标和可能会比较繁琐且容易出错，同时使用图片地图导航也不具有可读性，因此不推荐这种方法；</p>
<p>内联图像是使用 data:URL scheme的方法把图像数据加载页面中。这可能会增加页面的大小。把内联图像放到样式表（可缓存）中可以减少 HTTP请求同时又避免增加页面文件的大小。但是内联图像现在还没有得到主流浏览器的支持。</p>
<p>减少页面的 HTTP请求次数是你首先要做的一步。这是改进首次访问用户等待时间的最重要的方法。如同 Tenni Theurer的他的博客 Browser Cahe Usage &#8211; Exposed!中所说， HTTP请求在无缓存情况下占去了 40%到 60%的响应时间。让那些初次访问你网站的人获得更加快速的体验吧！</p>
<p><strong>2、减少 DNS查找次数 </strong></p>
<p>        域名系统（ DNS）提供了域名和 IP的对应关系，就像电话本中人名和他们的电话号码的关系一样。当你在浏览器地址栏中输入<a href="http://www.houshidai.com/">http://www.houshidai.com/</a>时， DNS解析服务器就会返回这个域名对应的IP地址。 DNS解析的过程同样也是需要时间的。一般情况下返回给定域名对应的 IP地址会花费 20到 120毫秒的时间。而且在这个过程中浏览器什么都不会做直到 DNS查找完毕。</p>
<p>       缓存 DNS查找可以改善页面性能。这种缓存需要一个特定的缓存服务器，这种服务器一般属于用户的 ISP提供商或者本地局域网控制，但是它同样会在用户使用的计算机上产生缓存。 DNS信息会保留在操作系统的 DNS缓存中（微软 Windows系统中 DNS Client Service）。大多数浏览器有独立于操作系统以外的自己的缓存。由于浏览器有自己的缓存记录，因此在一次请求中它不会受到操作系统的影响。</p>
<p>      Internet Explorer 默认情况下对 DNS查找记录的缓存时间为 30分钟，它在注册表中的键值为 DnsCacheTimeout。 Firefox对 DNS的查找记录缓存时间为 1分钟，它在配置文件中的选项为 network.dnsCacheExpiration（ Fasterfox把这个选项改为了 1小时）。</p>
<p>      当客户端中的 DNS缓存都为空时（浏览器和操作系统都为空）， DNS查找的次数和页面中主机名的数量相同。这其中包括页面中 URL、图片、脚本文件、样式表、 Flash对象等包含的主机名。减少主机名的数量可以减少 DNS查找次数。</p>
<p>      减少主机名的数量还可以减少页面中并行下载的数量。减少 DNS查找次数可以节省响应时间，但是减少并行下载却会增加响应时间。我的指导原则是把这些页面中的内容分割成至少两部分但不超过四部分。这种结果就是在减少 DNS查找次数和保持较高程度并行下载两者之间的权衡了。</p>
<p><strong>3、避免跳转 </strong></p>
<p>跳转是使用 301和 302代码实现的。下面是一个响应代码为 301的 HTTP头：</p>
<p>      HTTP/1.1 301 Moved Permanently</p>
<p>      Location: http://example.com/houshidai</p>
<p>      Content-Type: text/html</p>
<p>      浏览器会把用户指向到 Location中指定的 URL。头文件中的所有信息在一次跳转中都是必需的，内容部分可以为空。不管他们的名称， 301和 302响应都不会被缓存除非增加一个额外的头选项，如 Expires或者 Cache-Control来指定它缓存。 &lt;meat /&gt;元素的刷新标签和 JavaScript也可以实现 URL的跳转，但是如果你必须要跳转的时候，最好的方法就是使用标准的 3XXHTTP状态代码，这主要是为了确保“后退”按钮可以正确地使用。</p>
<p>      但是要记住跳转会降低用户体验。在用户和 HTML文档中间增加一个跳转，会拖延页面中所有元素的显示，因为在 HTML文件被加载前任何文件（图像、 Flash等）都不会被下载。</p>
<p>      有一种经常被网页开发者忽略却往往十分浪费响应时间的跳转现象。这种现象发生在当 URL本该有斜杠（ /）却被忽略掉时。例如，当我们要访问 <a href="http://astrology.yahoo.com/astrology" target="_blank">http://astrology.yahoo.com/astrology</a> 时，实际上返回的是一个包含 301代码的跳转，它指向的是 <a href="http://astrology.yahoo.com/astrology/" target="_blank">http://astrology.yahoo.com/astrology/</a>  （注意末尾的斜杠）。在 Apache服务器中可以使用 Alias 或者 mod_rewrite或者 the DirectorySlash来避免。</p>
<p>      连接新网站和旧网站是跳转功能经常被用到的另一种情况。这种情况下往往要连接网站的不同内容然后根据用户的不同类型（如浏览器类型、用户账号所属类型）来进行跳转。使用跳转来实现两个网站的切换十分简单，需要的代码量也不多。尽管使用这种方法对于开发者来说可以降低复杂程度，但是它同样降低用户体验。一个可替代方法就是如果两者在同一台服务器上时使用 Alias和 mod_rewrite和实现。如果是因为域名的不同而采用跳转，那么可以通过使用 Alias或者 mod_rewirte建立 CNAME（保存一个域名和另外一个域名之间关系的 DNS记录）来替代。</p>
<p><strong>4、可缓存的 AJAX</strong></p>
<p>      Ajax 经常被提及的一个好处就是由于其从后台服务器传输信息的异步性而为用户带来的反馈的即时性。但是，使用 Ajax并不能保证用户不会在等待异步的 JavaScript和 XML响应上花费时间。在很多应用中，用户是否需要等待响应取决于 Ajax如何来使用。例如，在一个基于 Web的 Email客户端中，用户必须等待 Ajax返回符合他们条件的邮件查询结果。记住一点，“异步”并不异味着“即时”，这很重要。</p>
<p>      为了提高性能，<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/optimize" title="查看 优化 中的全部文章" target="_blank">优化</a></span> Ajax响应是很重要的。提高 Ajxa性能的措施中最重要的方法就是使响应具有可缓存性，具体的讨论可以查看 Add an Expires or a Cache-Control Header。其它的几条<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/rule" title="查看 规则 中的全部文章" target="_blank">规则</a></span>也同样适用于 Ajax：</p>
<p>    Gizp 压缩文件</p>
<p>    减少 DNS查找次数</p>
<p>    精简 JavaScript</p>
<p>    避免跳转</p>
<p>    配置 ETags</p>
<p>     让我们来看一个例子：一个 Web2.0的 Email客户端会使用 Ajax来自动完成对用户地址薄的下载。如果用户在上次使用过 Email web应用程序后没有对地址薄作任何的修改，而且 Ajax响应通过 Expire或者 Cacke-Control头来实现缓存，那么就可以直接从上一次的缓存中读取地址薄了。必须告知浏览器是使用缓存中的地址薄还是发送一个新的请求。这可以通过为读取地址薄的 Ajax URL增加一个含有上次编辑时间的时间戳来实现，例如， &amp;t=11900241612等。如果地址薄在上次下载后没有被编辑过，时间戳就不变，则从浏览器的缓存中加载从而减少了一次 HTTP请求过程。如果用户修改过地址薄，时间戳就会用来确定新的 URL和缓存响应并不匹配，浏览器就会重要请求更新地址薄。</p>
<p>        即使你的 Ajxa响应是动态生成的，哪怕它只适用于一个用户，那么它也应该被缓存起来。这样做可以使你的 Web2.0应用程序更加快捷。</p>
<p><strong>5、推迟加载内容 </strong></p>
<p>        你可以仔细看一下你的网页，问问自己“哪些内容是页面呈现时所必需首先加载的？哪些内容和结构可以稍后再加载？</p>
<p>        把整个过程按照 onload事件分隔成两部分， JavaScript是一个理想的选择。例如，如果你有用于实现拖放和动画的 JavaScript，那么它就以等待稍后加载，因为页面上的拖放元素是在初始化呈现之后才发生的。其它的例如隐藏部分的内容（用户操作之后才显现的内容）和处于折叠部分的图像也可以推迟加载</p>
<p>        工具可以节省你的工作量： YUI Image Loader可以帮你推迟加载折叠部分的图片， YUI Get utility是包含 JS和 CSS的便捷方法。比如你可以打开 Firebug的 Net选项卡看一下 Yahoo的首页。</p>
<p>        当性能目标和其它网站开发实践一致时就会相得益彰。这种情况下，通过程序提高网站性能的方法告诉我们，在支持 JavaScript的情况下，可以先去除用户体验，不过这要保证你的网站在没有 JavaScript也可以正常运行。在确定页面运行正常后，再加载脚本来实现如拖放和动画等更加花哨的效果。</p>
<p><strong>6、预加载 </strong></p>
<p>        预加载和后加载看起来似乎恰恰相反，但实际上预加载是为了实现另外一种目标。预加载是在浏览器空闲时请求将来可能会用到的页面内容（如图像、样式表和脚本）。使用这种方法，当用户要访问下一个页面时，页面中的内容大部分已经加载到缓存中了，因此可以大大改善访问速度。</p>
<p>下面提供了几种预加载方法：</p>
<p>      无条件加载：触发 onload事件时，直接加载额外的页面内容。以 Google.com为例，你可以看一下它的 spirit image图像是怎样在 onload中加载的。这个 spirit image图像在 google.com主页中是不需要的，但是却可以在搜索结果页面中用到它。</p>
<p>有条件加载：根据用户的操作来有根据地判断用户下面可能去往的页面并相应的预加载页面内容。在 search.<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/yahoo" title="查看 yahoo 中的全部文章" target="_blank">yahoo</a></span>.com中你可以看到如何在你输入内容时加载额外的页面内容。</p>
<p>      有预期的加载：载入重新设计过的页面时使用预加载。这种情况经常出现在页面经过重新设计后用户抱怨“新的页面看起来很酷，但是却比以前慢”。问题可能出在用户对于你的旧站点建立了完整的缓存，而对于新站点却没有任何缓存内容。因此你可以在访问新站之前就加载一部内容来避免这种结果的出现。在你的旧站中利用浏览器的空余时间加载新站中用到的图像的和脚本来提高访问速度。</p>
<p><strong>7、减少 DOM元素数量 </strong></p>
<p>         一个复杂的页面意味着需要下载更多数据，同时也意味着 JavaScript遍历 DOM的效率越慢。比如当你增加一个事件句柄时在 500和 5000个 DOM元素中循环效果肯定是不一样的。</p>
<p>       大量的 DOM元素的存在意味着页面中有可以不用移除内容只需要替换元素标签就可以精简的部分。你在页面布局中使用表格了吗？你有没有仅仅为了布局而引入更多的 &lt;div&gt;元素呢？也许会存在一个适合或者在语意是更贴切的标签可以供你使用。</p>
<p>        YUI CSS utilities 可以给你的布局带来巨大帮助： grids.<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/css" title="查看 css 中的全部文章" target="_blank">css</a></span>可以帮你实现整体布局， font.<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/css" title="查看 css 中的全部文章" target="_blank">css</a></span>和 reset.<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/css" title="查看 css 中的全部文章" target="_blank">css</a></span>可以帮助你移除浏览器默认格式。它提供了一个重新审视你页面中标签的机会，比如只有在语意上有意义时才使用 &lt;div&gt;，而不是因为它具有换行效果才使用它。</p>
<p>      DOM 元素数量很容易计算出来，只需要在 Firebug的控制台内输入：</p>
<p>document.getElementsByTagName(&#8216;*&#8217;).length</p>
<p>        那么多少个 DOM元素算是多呢？这可以对照有很好标记使用的类似页面。比如 Yahoo!主页是一个内容非常多的页面，但是它只使用了 700个元素（ HTML标签）。</p>
<p><strong>8、根据域名划分页面内容 </strong></p>
<p>      把页面内容划分成若干部分可以使你最大限度地实现平行下载。由于 DNS查找带来的影响你首先要确保你使用的域名数量在 2个到 4个之间。例如，你可以把用到的 HTML内容和动态内容放在 <a href="http://www.example.org/" target="_blank">http://www.example.org/</a> 上，而把页面各种组件（图片、脚本、 CSS)分别存放在 statics1.example.org和 statics.example.org上。</p>
<p>你可在 Tenni Theurer和 Patty Chi合写的文章 Maximizing Parallel Downloads in the Carpool Lane找到更多相关信息。</p>
<p><strong>9、使 iframe的数量最小 </strong></p>
<p>      ifrmae 元素可以在父文档中插入一个新的 HTML文档。了解 iframe的工作理然后才能更加有效地使用它，这一点很重要。</p>
<p>&lt;iframe&gt;优点：</p>
<p>解决加载缓慢的第三方内容如图标和广告等的加载问题</p>
<p>Security sandbox</p>
<p>并行加载脚本</p>
<p>&lt;iframe&gt;的缺点：</p>
<p>即时内容为空，加载也需要时间</p>
<p>会阻止页面加载</p>
<p>没有语意</p>
<p><strong>10、不要出现 404错误 </strong></p>
<p>      HTTP 请求时间消耗是很大的，因此使用 HTTP请求来获得一个没有用处的响应（例如 404没有找到页面）是完全没有必要的，它只会降低用户体验而不会有一点好处。</p>
<p>      有些站点把 404错误响应页面改为“你是不是要找 ***”，这虽然改进了用户体验但是同样也会浪费服务器资源（如数据库等）。最糟糕的情况是指向外部 JavaScript的链接出现问题并返回 404代码。首先，这种加载会破坏并行加载；其次浏览器会把试图在返回的 404响应内容中找到可能有用的部分当作 JavaScript代码来执行。</p>
<p><strong>二、服务器部分 </strong></p>
<ul>
<li>使用内容分发网络</li>
<li>为文件头指定Expires或Cache-Control</li>
<li>Gzip压缩文件内容</li>
<li>配置ETag</li>
<li>尽早刷新输出缓冲  </li>
<li>使用GET来完成AJAX请求</li>
</ul>
<p><strong>11、使用内容分发网络</strong></p>
<p>      用户与你网站服务器的接近程度会影响响应时间的长短。把你的网站内容分散到多个、处于不同地域位置的服务器上可以加快下载速度。但是首先我们应该做些什么呢？<br />
      按地域布置网站内容的第一步并不是要尝试重新架构你的网站让他们在分发服务器上正常运行。根据应用的需求来改变网站结构，这可能会包括一些比较复杂的任务，如在服务器间同步Session状态和合并数据库更新等。要想缩短用户和内容服务器的距离，这些架构步骤可能是不可避免的。<br />
      要记住，在终端用户的响应时间中有80%到90%的响应时间用于下载图像、样式表、脚本、Flash等页面内容。这就是网站性能黄金守则。和重新设计你的应用程序架构这样比较困难的任务相比，首先来分布静态内容会更好一点。这不仅会缩短响应时间，而且对于内容分发网络来说它更容易实现。<br />
      内容分发网络（Content Delivery Network，CDN）是由一系列分散到各个不同地理位置上的Web服务器组成的，它提高了网站内容的传输速度。用于向用户传输内容的服务器主要是根据和用户在网络上的靠近程度来指定的。例如，拥有最少网络跳数（network hops）和响应速度最快的服务器会被选定。<br />
      一些大型的网络公司拥有自己的CDN，但是使用像Akamai Technologies，Mirror Image Internet，或者Limelight Networks这样的CDN服务成本却非常高。对于刚刚起步的企业和个人网站来说，可能没有使用CDN的成本预算，但是随着目标用户群的不断扩大和更加全球化，CDN就是实现快速响应所必需的了。以Yahoo来说，他们转移到CDN上的网站程序静态内容节省了终端用户20%以上的响应时间。使用CDN是一个只需要相对简单地修改代码实现显著改善网站访问速度的方法。</p>
<p><strong>12、为文件头指定Expires或Cache-Control </strong></p>
<p>      这条守则包括两方面的内容：<br />
对于静态内容：设置文件头过期时间Expires的值为“Never expire”（永不过期）<br />
对于动态内容：使用恰当的Cache-Control文件头来帮助浏览器进行有条件的请求<br />
      网页内容设计现在越来越丰富，这就意味着页面中要包含更多的脚本、样式表、图片和Flash。第一次访问你页面的用户就意味着进行多次的HTTP请求，但是通过使用Expires文件头就可以使这样内容具有缓存性。它避免了接下来的页面访问中不必要的HTTP请求。Expires文件头经常用于图像文件，但是应该在所有的内容都使用他，包括脚本、样式表和Flash等。<br />
      浏览器（和代理）使用缓存来减少HTTP请求的大小和次数以加快页面访问速度。Web服务器在HTTP响应中使用Expires文件头来告诉客户端内容需要缓存多长时间。下面这个例子是一个较长时间的Expires文件头，它告诉浏览器这个响应直到2010年4月15日才过期。<br />
      Expires: Thu, 15 Apr 2010 20:00:00 GMT<br />
      如果你使用的是Apache服务器，可以使用ExpiresDefault来设定相对当前日期的过期时间。下面这个例子是使用ExpiresDefault来设定请求时间后10年过期的文件头：<br />
      ExpiresDefault &#8220;access plus 10 years&#8221;<br />
      要切记，如果使用了Expires文件头，当页面内容改变时就必须改变内容的文件名。依Yahoo!来说我们经常使用这样的步骤：在内容的文件名中加上版本号，如<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/yahoo" title="查看 yahoo 中的全部文章" target="_blank">yahoo</a></span>_2.0.6.js。<br />
      使用Expires文件头只有会在用户已经访问过你的网站后才会起作用。当用户首次访问你的网站时这对减少HTTP请求次数来说是无效的，因为浏览器的缓存是空的。因此这种方法对于你网站性能的改进情况要依据他们“预缓存”存在时对你页面的点击频率（“预缓存”中已经包含了页面中的所有内容）。 Yahoo!建立了一套测量方法，我们发现所有的页面浏览量中有75~85%都有“预缓存”。通过使用Expires文件头，增加了缓存在浏览器中内容的数量，并且可以在用户接下来的请求中再次使用这些内容，这甚至都不需要通过用户发送一个字节的请求。</p>
<p><strong>13、Gzip压缩文件内容</strong></p>
<p>      网络传输中的HTTP请求和应答时间可以通过前端机制得到显著改善。的确，终端用户的带宽、互联网提供者、与对等交换点的靠近程度等都不是网站开发者所能决定的。但是还有其他因素影响着响应时间。通过减小HTTP响应的大小可以节省HTTP响应时间。<br />
      从HTTP/1.1开始，web客户端都默认支持HTTP请求中有Accept-Encoding文件头的压缩格式：  <br />
      Accept-Encoding: gzip, deflate<br />
      如果web服务器在请求的文件头中检测到上面的代码，就会以客户端列出的方式压缩响应内容。Web服务器把压缩方式通过响应文件头中的Content-Encoding来返回给浏览器。<br />
      Content-Encoding: gzip<br />
      Gzip是目前最流行也是最有效的压缩方式。这是由GNU项目开发并通过RFC 1952来标准化的。另外仅有的一个压缩格式是deflate，但是它的使用范围有限效果也稍稍逊色。<br />
      Gzip大概可以减少70%的响应规模。目前大约有90%通过浏览器传输的互联网交换支持gzip格式。如果你使用的是Apache，gzip模块配置和你的版本有关：Apache 1.3使用mod_zip，而Apache 2.x使用moflate。<br />
      浏览器和代理都会存在这样的问题：浏览器期望收到的和实际接收到的内容会存在不匹配的现象。幸好，这种特殊情况随着旧式浏览器使用量的减少在减少。Apache模块会通过自动添加适当的Vary响应文件头来避免这种状况的出现。<br />
      服务器根据文件类型来选择需要进行gzip压缩的文件，但是这过于限制了可压缩的文件。大多数web服务器会压缩HTML文档。对脚本和样式表进行压缩同样也是值得做的事情，但是很多web服务器都没有这个功能。实际上，压缩任何一个文本类型的响应，包括XML和JSON，都值得的。图像和PDF文件由于已经压缩过了所以不能再进行gzip压缩。如果试图gizp压缩这些文件的话不但会浪费CPU资源还会增加文件的大小。<br />
      Gzip压缩所有可能的文件类型是减少文件体积增加用户体验的简单方法。</p>
<p><strong>14、配置ETag </strong></p>
<p>      Entity tags（ETags）（实体标签）是web服务器和浏览器用于判断浏览器缓存中的内容和服务器中的原始内容是否匹配的一种机制（“实体”就是所说的“内容”，包括图片、脚本、样式表等）。增加ETag为实体的验证提供了一个比使用“last-modified date（上次编辑时间）”更加灵活的机制。Etag是一个识别内容版本号的唯一字符串。唯一的格式限制就是它必须包含在双引号内。原始服务器通过含有 ETag文件头的响应指定页面内容的ETag。<br />
      HTTP/1.1 200 OK<br />
      Last-Modified: Tue, 12 Dec 2006 03:03:59 GMT<br />
      ETag: &#8220;10c24bc-4ab-457e1c1f&#8221;<br />
      Content-Length: 12195<br />
      稍后，如果浏览器要验证一个文件，它会使用If-None-Match文件头来把ETag传回给原始服务器。在这个例子中，如果ETag匹配，就会返回一个304状态码，这就节省了12195字节的响应。      GET /i/yahoo.gif HTTP/1.1<br />
      Host: us.yimg.com<br />
      If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT<br />
      If-None-Match: &#8220;10c24bc-4ab-457e1c1f&#8221;<br />
      HTTP/1.1 304 Not Modified<br />
      ETag的问题在于，它是根据可以辨别网站所在的服务器的具有唯一性的属性来生成的。当浏览器从一台服务器上获得页面内容后到另外一台服务器上进行验证时 ETag就会不匹配，这种情况对于使用服务器组和处理请求的网站来说是非常常见的。默认情况下，Apache和IIS都会把数据嵌入ETag中，这会显著减少多服务器间的文件验证冲突。<br />
      Apache 1.3和2.x中的ETag格式为inode-size-timestamp。即使某个文件在不同的服务器上会处于相同的目录下，文件大小、权限、时间戳等都完全相同，但是在不同服务器上他们的内码也是不同的。<br />
      IIS 5.0和IIS 6.0处理ETag的机制相似。IIS中的ETag格式为Filetimestamp:ChangeNumber。用ChangeNumber来跟踪 IIS配置的改变。网站所用的不同IIS服务器间ChangeNumber也不相同。不同的服务器上的Apache和IIS即使对于完全相同的内容产生的ETag在也不相同，用户并不会接收到一个小而快的304响应；相反他们会接收一个正常的200响应并下载全部内容。如果你的网站只放在一台服务器上，就不会存在这个问题。但是如果你的网站是架设在多个服务器上，并且使用Apache和 IIS产生默认的ETag配置，你的用户获得页面就会相对慢一点，服务器会传输更多的内容，占用更多的带宽，代理也不会有效地缓存你的网站内容。即使你的内容拥有Expires文件头，无论用户什么时候点击“刷新”或者“重载”按钮都会发送相应的GET请求。<br />
      如果你没有使用ETag提供的灵活的验证模式，那么干脆把所有的ETag都去掉会更好。Last-Modified文件头验证是基于内容的时间戳的。去掉 ETag文件头会减少响应和下次请求中文件的大小。微软的这篇支持文稿讲述了如何去掉ETag。在Apache中，只需要在配置文件中简单添加下面一行代码就可以了：<br />
      FileETag none</p>
<p><strong>15、尽早刷新输出缓冲</strong></p>
<p>      当用户请求一个页面时，无论如何都会花费200到500毫秒用于后台组织HTML文件。在这期间，浏览器会一直空闲等待数据返回。在PHP中，你可以使用 flush()方法，它允许你把已经编译的好的部分HTML响应文件先发送给浏览器，这时浏览器就会可以下载文件中的内容（脚本等）而后台同时处理剩余的 HTML页面。这样做的效果会在后台烦恼或者前台较空闲时更加明显。<br />
      输出缓冲应用最好的一个地方就是紧跟在&lt;head /&gt;之后，因为HTML的头部分容易生成而且头部往往包含CSS和JavaScript文件，这样浏览器就可以在后台编译剩余HTML的同时并行下载它们。 例子：</p>
<p>      &#8230; &lt;!&#8211; css, js &#8211;&gt;<br />
          &lt;/head&gt;<br />
          &lt;?php flush(); ?&gt;<br />
          &lt;body&gt;<br />
      &#8230; &lt;!&#8211; content &#8211;&gt;</p>
<p>为了证明使用这项技术的好处，Yahoo!搜索率先研究并完成了用户测试。</p>
<p><strong>16、使用GET来完成AJAX请求</strong><br />
      Yahoo!Mail团队发现，当使用XMLHttpRequest时，浏览器中的POST方法是一个“两步走”的过程：首先发送文件头，然后才发送数据。因此使用GET最为恰当，因为它只需发送一个TCP包（除非你有很多cookie）。IE中URL的最大长度为2K，因此如果你要发送一个超过2K的数据时就不能使用GET了。<br />
      一个有趣的不同就是POST并不像GET那样实际发送数据。根据HTTP规范，GET意味着“获取”数据，因此当你仅仅获取数据时使用GET更加有意义（从语意上讲也是如此），相反，发送并在服务端保存数据时使用POST。</p>
<p>除此之外，JavaScript和CSS也是我们页面中经常用到的内容，对它们的<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/optimize" title="查看 优化 中的全部文章" target="_blank">优化</a></span>也提高网站性能的重要方面：<strong><br />
</strong> </p>
<p><strong>三、CSS部分 </strong></p>
<ul>
<li>把样式表置于顶部</li>
<li>避免使用CSS表达式（Expression）</li>
<li>用&lt;link&gt;代替@import</li>
<li>避免使用滤镜</li>
</ul>
<p><strong>17、把样式表置于顶部</strong></p>
<p>      在研究Yahoo!的性能表现时，我们发现把样式表放到文档的&lt;head /&gt;内部似乎会加快页面的下载速度。这是因为把样式表放到&lt;head /&gt;内会使页面有步骤的加载显示。<br />
      注重性能的前端服务器往往希望页面有秩序地加载。同时，我们也希望浏览器把已经接收到内容尽可能显示出来。这对于拥有较多内容的页面和网速较慢的用户来说特别重要。向用户返回可视化的反馈，比如进程指针，已经有了较好的研究并形成了正式文档。在我们的研究中HTML页面就是进程指针。当浏览器有序地加载文件头、导航栏、顶部的logo等对于等待页面加载的用户来说都可以作为可视化的反馈。这从整体上改善了用户体验。<br />
      把样式表放在文档底部的问题是在包括Internet Explorer在内的很多浏览器中这会中止内容的有序呈现。浏览器中止呈现是为了避免样式改变引起的页面元素重绘。用户不得不面对一个空白页面。<br />
      HTML规范清楚指出样式表要放包含在页面的&lt;head /&gt;区域内：“和&lt;a /&gt;不同，&lt;link /&gt;只能出现在文档的&lt;head /&gt;区域内，尽管它可以多次使用它”。无论是引起白屏还是出现没有样式化的内容都不值得去尝试。最好的方案就是按照HTML规范在文档&lt;head /&gt;内加载你的样式表。</p>
<p><strong>18、避免使用CSS表达式（Expression） </strong></p>
<p>      CSS表达式是动态设置CSS属性的强大（但危险）方法。Internet Explorer从第5个版本开始支持CSS表达式。下面的例子中，使用CSS表达式可以实现隔一个小时切换一次背景颜色：<br />
      background-color: expression( (new Date()).getHours()%2 ? &#8220;#B8D4FF&#8221; : &#8220;#F08A00&#8243; );<br />
如上所示，expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。expression方法在其它浏览器中不起作用，因此在跨浏览器的设计中单独针对Internet Explorer设置时会比较有用。<br />
      表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时，就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。<br />
      一个减少CSS表达式计算次数的方法就是使用一次性的表达式，它在第一次运行时将结果赋给指定的样式属性，并用这个属性来代替CSS表达式。如果样式属性必须在页面周期内动态地改变，使用事件句柄来代替CSS表达式是一个可行办法。如果必须使用CSS表达式，一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。</p>
<p><strong>19、用&lt;link&gt;代替@import</strong></p>
<p>      前面的最佳实现中提到CSS应该放置在顶端以利于有序加载呈现。<br />
      在IE中，页面底部@import和使用&lt;link&gt;作用是一样的，因此最好不要使用它。</p>
<p><strong>20、避免使用滤镜</strong></p>
<p>      IE独有属性AlphaImageLoader用于修正7.0以下版本中显示PNG图片的半透明效果。这个滤镜的问题在于浏览器加载图片时它会终止内容的呈现并且冻结浏览器。在每一个元素（不仅仅是图片）它都会运算一次，增加了内存开支，因此它的问题是多方面的。<br />
      完全避免使用AlphaImageLoader的最好方法就是使用PNG8格式来代替，这种格式能在IE中很好地工作。如果你确实需要使用AlphaImageLoader，请使用下划线_filter又使之对IE7以上版本的用户无效。</p>
<p><strong>四、JavaScript部分 </strong></p>
<ul>
<li>把脚本置于页面底部</li>
<li>使用外部JavaScript和CSS</li>
<li>削减JavaScript和CSS</li>
<li>剔除重复脚本</li>
<li>减少DOM访问  </li>
<li>开发智能事件处理程序</li>
</ul>
<p><strong>21、把脚本置于页面底部</strong></p>
<p>      脚本带来的问题就是它阻止了页面的平行下载。HTTP/1.1 规范建议，浏览器每个主机名的并行下载内容不超过两个。如果你的图片放在多个主机名上，你可以在每个并行下载中同时下载2个以上的文件。但是当下载脚本时，浏览器就不会同时下载其它文件了，即便是主机名不相同。<br />
      在某些情况下把脚本移到页面底部可能不太容易。比如说，如果脚本中使用了document.write来插入页面内容，它就不能被往下移动了。这里可能还会有作用域的问题。很多情况下，都会遇到这方面的问题。<br />
      一个经常用到的替代方法就是使用延迟脚本。DEFER属性表明脚本中没有包含document.write，它告诉浏览器继续显示。不幸的是，Firefox并不支持DEFER属性。在Internet Explorer中，脚本可能会被延迟但效果也不会像我们所期望的那样。如果脚本可以被延迟，那么它就可以移到页面的底部。这会让你的页面加载的快一点。</p>
<p><strong>22、使用外部JavaScript和CSS </strong></p>
<p>      很多性能<span class='wp_keywordlink_affiliate'><a href="http://www.houshidai.com/tag/rule" title="查看 规则 中的全部文章" target="_blank">规则</a></span>都是关于如何处理外部文件的。但是，在你采取这些措施前你可能会问到一个更基本的问题：JavaScript和CSS是应该放在外部文件中呢还是把它们放在页面本身之内呢？<br />
      在实际应用中使用外部文件可以提高页面速度，因为JavaScript和CSS文件都能在浏览器中产生缓存。内置在HTML文档中的JavaScript 和CSS则会在每次请求中随HTML文档重新下载。这虽然减少了HTTP请求的次数，却增加了HTML文档的大小。从另一方面来说，如果外部文件中的 JavaScript和CSS被浏览器缓存，在没有增加HTTP请求次数的同时可以减少HTML文档的大小。<br />
      关键问题是，外部JavaScript和CSS文件缓存的频率和请求HTML文档的次数有关。虽然有一定的难度，但是仍然有一些指标可以一测量它。如果一个会话中用户会浏览你网站中的多个页面，并且这些页面中会重复使用相同的脚本和样式表，缓存外部文件就会带来更大的益处。<br />
      许多网站没有功能建立这些指标。对于这些网站来说，最好的坚决方法就是把JavaScript和CSS作为外部文件引用。比较适合使用内置代码的例外就是网站的主页，如Yahoo!主页和My Yahoo!。主页在一次会话中拥有较少（可能只有一次）的浏览量，你可以发现内置JavaScript和CSS对于终端用户来说会加快响应时 间。<br />
      对于拥有较大浏览量的首页来说，有一种技术可以平衡内置代码带来的HTTP请求减少与通过使用外部文件进行缓存带来的好处。其中一个就是在首页中内置 JavaScript和CSS，但是在页面下载完成后动态下载外部文件，在子页面中使用到这些文件时，它们已经缓存到浏览器了。</p>
<p><strong>23、削减JavaScript和CSS </strong></p>
<p>      精简是指从去除代码不必要的字符减少文件大小从而节省下载时间。消减代码时，所有的注释、不需要的空白字符（空格、换行、tab缩进）等都要去掉。在 JavaScript中，由于需要下载的文件体积变小了从而节省了响应时间。精简JavaScript中目前用到的最广泛的两个工具是JSMin和YUI Compressor。YUI Compressor还可用于精简CSS。<br />
      混淆是另外一种可用于源代码优化的方法。这种方法要比精简复杂一些并且在混淆的过程更易产生问题。在对美国前10大网站的调查中发现，精简也可以缩小原来代码体积的21%，而混淆可以达到25%。尽管混淆法可以更好地缩减代码，但是对于JavaScript来说精简的风险更小。<br />
      除消减外部的脚本和样式表文件外，&lt;script&gt;和&lt;style&gt;代码块也可以并且应该进行消减。即使你用Gzip压缩过脚本和样式表，精简这些文件仍然可以节省5%以上的空间。由于JavaScript和CSS的功能和体积的增加，消减代码将会获得益处。</p>
<p><strong>24、剔除重复脚本</strong></p>
<p>      在同一个页面中重复引用JavaScript文件会影响页面的性能。你可能会认为这种情况并不多见。对于美国前10大网站的调查显示其中有两家存在重复引用脚本的情况。有两种主要因素导致一个脚本被重复引用的奇怪现象发生：团队规模和脚本数量。如果真的存在这种情况，重复脚本会引起不必要的HTTP请求和无用的JavaScript运算，这降低了网站性能。<br />
      在Internet Explorer中会产生不必要的HTTP请求，而在Firefox却不会。在Internet Explorer中，如果一个脚本被引用两次而且它又不可缓存，它就会在页面加载过程中产生两次HTTP请求。即时脚本可以缓存，当用户重载页面时也会产生额外的HTTP请求。<br />
      除增加额外的HTTP请求外，多次运算脚本也会浪费时间。在Internet Explorer和Firefox中不管脚本是否可缓存，它们都存在重复运算JavaScript的问题。<br />
      一个避免偶尔发生的两次引用同一脚本的方法是在模板中使用脚本管理模块引用脚本。在HTML页面中使用&lt;script /&gt;标签引用脚本的最常见方法就是：<br />
      &lt;script type=&#8221;text/javascript&#8221; src=&#8221;menu_1.0.17.js&#8221;&gt;&lt;/script&gt;<br />
在PHP中可以通过创建名为insertScript的方法来替代：<br />
     &lt;?php insertScript(&#8220;menu.js&#8221;) ?&gt;<br />
为了防止多次重复引用脚本，这个方法中还应该使用其它机制来处理脚本，如检查所属目录和为脚本文件名中增加版本号以用于Expire文件头等。</p>
<p><strong>25、减少DOM访问</strong></p>
<p>      使用JavaScript访问DOM元素比较慢，因此为了获得更多的应该页面，应该做到：<br />
缓存已经访问过的有关元素<br />
线下更新完节点之后再将它们添加到文档树中<br />
避免使用JavaScript来修改页面布局<br />
      有关此方面的更多信息请查看Julien Lecomte在YUI专题中的文章“高性能Ajax应该程序”。</p>
<p><strong>26、开发智能事件处理程序</strong></p>
<p>      有时候我们会感觉到页面反应迟钝，这是因为DOM树元素中附加了过多的事件句柄并且些事件句病被频繁地触发。这就是为什么说使用event delegation（事件代理）是一种好方法了。如果你在一个div中有10个按钮，你只需要在div上附加一次事件句柄就可以了，而不用去为每一个按钮增加一个句柄。事件冒泡时你可以捕捉到事件并判断出是哪个事件发出的。<br />
      你同样也不用为了操作DOM树而等待onload事件的发生。你需要做的就是等待树结构中你要访问的元素出现。你也不用等待所有图像都加载完毕。<br />
      你可能会希望用DOMContentLoaded事件来代替 事件应用程序中的onAvailable方法。<br />
      有关此方面的更多信息请查看Julien Lecomte在YUI专题中的文章“高性能Ajax应该程序”。</p>
<p>图片和Coockie也是我们网站中几乎不可缺少组成部分，此外随着移动设备的流行，对于移动应用的优化也十分重要。这主要包括：</p>
<p><strong>五、Coockie部分 </strong></p>
<ul>
<li>减小Cookie体积</li>
<li>对于页面内容使用无coockie域名</li>
</ul>
<p><strong>27、减小Cookie体积</strong></p>
<p>      HTTP coockie可以用于权限验证和个性化身份等多种用途。coockie内的有关信息是通过HTTP文件头来在web服务器和浏览器之间进行交流的。因此保持coockie尽可能的小以减少用户的响应时间十分重要。<br />
有关更多信息可以查看Tenni Theurer和Patty Chi的文章“When the Cookie Crumbles”。这们研究中主要包括：<br />
去除不必要的coockie<br />
使coockie体积尽量小以减少对用户响应的影响<br />
注意在适应级别的域名上设置coockie以便使子域名不受影响<br />
设置合理的过期时间。较早地Expire时间和不要过早去清除coockie，都会改善用户的响应时间。</p>
<p><strong>28、对于页面内容使用无coockie域名</strong></p>
<p>      当浏览器在请求中同时请求一张静态的图片和发送coockie时，服务器对于这些coockie不会做任何地使用。因此他们只是因为某些负面因素而创建的网络传输。所有你应该确定对于静态内容的请求是无coockie的请求。创建一个子域名并用他来存放所有静态内容。<br />
      如果你的域名是<a href="http://www.example.org/" target="_blank">http://www.example.org/</a> ，你可以在static.example.org上存在静态内容。但是，如果你不是在<a href="http://www.example.org/" target="_blank">http://www.example.org/</a> 上而是在顶级域名example.org设置了coockie，那么所有对于static.example.org的请求都包含coockie。在这种情况下，你可以再重新购买一个新的域名来存在静态内容，并且要保持这个域名是无coockie的。Yahoo!使用的是ymig.com，YouTube使用的是ytimg.com，Amazon使用的是images-anazon.com等等。<br />
      使用无coockie域名存在静态内容的另外一个好处就是一些代理（服务器）可能会拒绝对coockie的内容请求进行缓存。一个相关的建议就是，如果你想确定应该使用example.org还是<a href="http://www.example.org/" target="_blank">http://www.example.org/</a> 作为你的一主页，你要考虑到coockie带来的影响。忽略掉www会使你除了把coockie设置到*.example.org（*是泛域名解析，代表了所有子域名译者dudo注）外没有其它选择，因此出于性能方面的考虑最好是使用带有www的子域名并且在它上面设置coockie。</p>
<p><strong>六、Image部分 </strong></p>
<ul>
<li>优化图像</li>
<li>优化CSS Spirite</li>
<li>不要在HTML中缩放图像</li>
<li>favicon.ico要小而且可缓存</li>
</ul>
<p><strong>29、优化图像</strong></p>
<p>      设计人员完成对页面的设计之后，不要急于将它们上传到web服务器，这里还需要做几件事：<br />
你可以检查一下你的GIF图片中图像颜色的数量是否和调色板规格一致。 使用imagemagick中下面的命令行很容易检查：<br />
      identify -verbose image.gif<br />
如果你发现图片中只用到了4种颜色，而在调色板的中显示的256色的颜色槽，那么这张图片就还有压缩的空间。<br />
      尝试把GIF格式转换成PNG格式，看看是否节省空间。大多数情况下是可以压缩的。由于浏览器支持有限，设计者们往往不太乐意使用PNG格式的图片，不过这都是过去的事情了。现在只有一个问题就是在真彩PNG格式中的alpha通道半透明问题，不过同样的，GIF也不是真彩格式也不支持半透明。因此GIF能做到的，PNG（PNG8）同样也能做到（除了动画）。下面这条简单的命令可以 安全地把GIF格式转换为PNG格式：</p>
<p>      convert image.gif image.png</p>
<p>“我们要说的是：给PNG一个施展身手的机会吧！”<br />
在所有的PNG图片上运行pngcrush（或者其它PNG优化工具）。例如：<br />
      pngcrush image.png -rem alla -reduce -brute result.png<br />
在所有的JPEG图片上运行jpegtran。这个工具可以对图片中的出现的锯齿等做无损操作，同时它还可以用于优化和清除图片中的注释以及其它无用信息（如EXIF信息）：<br />
      jpegtran -copy none -optimize -perfect src.jpg dest.jpg</p>
<p><strong>30、优化CSS Spirite</strong></p>
<p>      在Spirite中水平排列你的图片，垂直排列会稍稍增加文件大小；<br />
Spirite中把颜色较近的组合在一起可以降低颜色数，理想状况是低于256色以便适用PNG8格式；<br />
      便于移动，不要在Spirite的图像中间留有较大空隙。这虽然不大会增加文件大小但对于用户代理来说它需要更少的内存来把图片解压为像素地图。100&#215;100的图片为1万像素，而1000&#215;1000就是100万像素。</p>
<p><strong>31、不要在HTML中缩放图像</strong></p>
<p>      不要为了在HTML中设置长宽而使用比实际需要大的图片。如果你需要：<br />
&lt;img width=&#8221;100&#8243; height=&#8221;100&#8243; src=&#8221;mycat.jpg&#8221; alt=&#8221;My Cat&#8221; /&gt;<br />
那么你的图片（mycat.jpg）就应该是100&#215;100像素而不是把一个500&#215;500像素的图片缩小使用。</p>
<p><strong>32、favicon.ico要小而且可缓存</strong></p>
<p>      favicon.ico是位于服务器根目录下的一个图片文件。它是必定存在的，因为即使你不关心它是否有用，浏览器也会对它发出请求，因此最好不要返回一个404 Not Found的响应。由于是在同一台服务器上，它每被请求一次coockie就会被发送一次。这个图片文件还会影响下载顺序，例如在IE中当你在 onload中请求额外的文件时，favicon会在这些额外内容被加载前下载。<br />
      因此，为了减少favicon.ico带来的弊端，要做到：<br />
文件尽量地小，最好小于1K<br />
在适当的时候（也就是你不要打算再换favicon.ico的时候，因为更换新文件时不能对它进行重命名）为它设置Expires文件头。你可以很安全地把Expires文件头设置为未来的几个月。你可以通过核对当前favicon.ico的上次编辑时间来作出判断。<br />
Imagemagick可以帮你创建小巧的favicon。</p>
<p><strong>七、Mobile部分 </strong></p>
<ul>
<li>保持单个内容小于25K</li>
<li>打包组件成复合文本</li>
</ul>
<p><strong>33、保持单个内容小于25K</strong><br />
      这条限制主要是因为iPhone不能缓存大于25K的文件。注意这里指的是解压缩后的大小。由于单纯gizp压缩可能达不要求，因此精简文件就显得十分重要。<br />
      查看更多信息，请参阅Wayne Shea和Tenni Theurer的文件“Performance Research, Part 5: iPhone Cacheability &#8211; Making it Stick”。</p>
<p><strong>34、打包组件成复合文本</strong><br />
      把页面内容打包成复合文本就如同带有多附件的Email，它能够使你在一个HTTP请求中取得多个组件（切记：HTTP请求是很奢侈的）。当你使用这条规则时，首先要确定用户代理是否支持（iPhone就不支持）。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.houshidai.com/internet/yahoo-optimize-web-rules.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
