Yslow的A评级指南

这里测的是V2引擎,V1想拿A几乎不可能,一个CDN测试的F就可以轻松废了你的网站。

A评级

现在一个一个分析。

User fewer HTTP Requests:减少HTTP请求

图片、CSS、JS、flash等这些都需要增加http请求数,减少这些元素的数量能减少响应时间。

把多个JS、CSS尽可能合并压缩(除了JS库,那东西用别的网站上的缓存比较靠谱)

小图片尽可能拼在一起,利用CSS的background定位。

Use a Content Delivery Network 利用CDN技术

虾米CND技术?自己搜索去吧,反正是空间提供商的事情,和你没关系的,此项我毫无鸭梨的得了F。

Avoid empty src or href 不存在的空路径

类似于<img src=”">这样的链接不要出现。

Add an Expires headers 设置缓存控制

在.htaccess文件里面加一段

<IfModule mod_expires.c>

ExpiresActive On

ExpiresDefault “access plus 7 days”

ExpiresByType image/x-icon “access plus 30 days”

ExpiresByType image/gif “access plus 30 days”

</IfModule>

服务器如果不支持mod_expires就不可以用了。

Compress components with gzip 设置GZIP压缩

在cPanel的网站优化里面选择第二项全部压缩就好了。

Put CSS at top CSS放头部

正常网页都应该这样吧?

Put JavaScript at bottom JS放脚下

反正我是放脚下,如果你的网页不是特别依赖JS的效果,还是把JS放脚下比较好。

Avoid CSS Expressions 避免CSS  表达式

每个CSS的教科书都会告诉你不要写Expressions,不解释了。

我是因为语法高亮插件自带了Expressions才得B,有时候为了兼容IE6,唉。。

Make Javascript and CSS external 使用外部JavaScript和CSS文件

当然要这么做。

Reduce DNS Lookups 减少DNS查找

减少网站从外部网站调用资源。

Minify Javascript and CSS

JS和CSS最小化,很多工具都可以用来压缩他们。

Avoid URL redirects 避免重定向

除了避免3XX类型的重定向,还有一个小问题,最好不要写aa.com/bb这样的网址,因为会被重定向到aa.com/bb/,虽然Apache可以使用mod_rewrite,但不这么写是最好的。

Remove duplicate javascript and CSS 删除重复脚本和CSS

最常见的就是多次加载jquery了,用jsview查看下就一目了然了。

Configure ETags 配置ETags

想知道ETags是什么Google之。

解决办法是 .htaccess里加入FileETag None之。

Make AJAX cacheable 设置AJAX的缓存

AJAX的信息读取是异步的,这也表示用户不一定会等待这异步的响应,为避免重复的AJAX请求,设置缓存是优化性能的一个好方法。

Use GET for AJX requests

AJAX用Get不要用Post,这个AJAX书里面都会介绍的。

Reduce the number of DOM elements 减少DOM元素数量

这个需要xhtml有个好的构架。

Avoid HTTP 404 (Not Found) error 避免出现404错误页面。

404对服务器还是用户都不好。

Reduce cookie size 减少cookie的大小

cookie控制在4K以内。

Use cookie-free domains 使用域名无关性的Cookie

这里是有关静态服务器的问题,主要是指一些静态文件比如说图片、CSS等等,比如说YAHOO,他的静态文件都在 yimg.com 上,客户端请求静态文件的时候,减少了 Cookie 的反复传输对主域名的影响。

又一个F,没办法,小网站。

Avoid AlphaImageLoader filter

避免AlphaImageLoader滤镜的使用。

如果为了实现IE6的PNG透明,忍吧。

Do not scale images in HTML 不要对图片进行缩放

W3C一直不提倡图片缩放,一方面是对服务器资源的浪费,另一方面也是对性能的浪费。

不过呢,由于用Windows Live Writer写博客,插图片时候默认是缩放的,没办法,只能B。

Make favicon small and cacheable 使图标尽可能小,并使用缓存。

这里指的是favicon.ico了,前面已经设置过了favicon.ico缓存。

转载于:https://www.cnblogs.com/9lsy/archive/2013/02/27/2935361.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376846.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jquery下 选择器整理

jQuery 的选择器可谓之强大无比&#xff0c;这里简单地总结一下常用的元素查找方法 $("#myELement") 选择id值等于myElement的元素&#xff0c;id值不能重复在文档中只能有一个id值是myElement所以得到的是唯一的元素 $("div") 选择所有的di…

git日常使用教程

目录git日常使用git 基础用法(本地)git branchgit checkoutgit mergegit rebaseHEAD ,在提交树上移动相对引用强制修改分支位置撤销变更整理提交记录提交技巧Git TagsGit Describegit 基础用法(远程)git fetchgit pullgit push偏离的提交历史&#xff0c;十分重要&#xff01;&…

android一键分享功能不使用任何第三方sdk

在android中有自带的一键分享功能&#xff0c;不过它会把所有带分享的应用都找出来&#xff0c;如果我们只需要一些常见的分享应用&#xff0c;该如何做呢&#xff1f; 下面看我的效果图&#xff08;横屏和竖屏自动适配&#xff09;&#xff1a; 接下来看我的调用&#xff08;支…

包含EditText组件的界面中,禁止自动弹出软键盘

解决方法&#xff1a; 1&#xff09;在Manifest.xml文件中相应的activity下添加一下代码&#xff1a;android:windowSoftInputMode"stateHidden"2&#xff09;让EditText失去焦点&#xff0c;使用EditText的clearFocus方法 例如&#xff1a;EditText edit(EditText)f…

gcc 编译器使用指南

目录安装准备test.cpp编译g 编译参数-g &#xff1a;编译带调试信息的可执行文件-O[n] &#xff1a;开启优化-l 和 -L &#xff1a;指定库文件 | 指定库文件路径-I &#xff1a;指定头文件搜索目录-Wall 和 -w&#xff1a;打印警告信息 | 关闭警告信息-stdc11 &#xff1a;设置…

bug found:定义对象时

看下面代码 class Test{ }; class Test2{public:Test2(Test *t){}};int main(){Test test();//把定义一个对象 “Test test;” 写成 “Test test();”函数声明了&#xff01;Test2 test2(&test);//return 0;}Dev-cpp的提示信息&#xff1a; no matching function for c…

CMake学习使用(基于vscode)

目录语法一些重要指令CMake常用变量CMake编译工程编译流程两种构建方式实例展示参考&#xff1a; 基于VSCode和CMake实现C/C开发 | Linux篇 语法 基本语法格式&#xff1a;指令(arg1 arg2 …) 参数使用括弧括起来参数之间使用空格或者分号分开 指令是大小写无关的&#xff0…

idhttp.post方式 调用datasnap rest 远程方法

idhttp.get方式调用&#xff0c;这种比较简单&#xff0c;大家都会。post方式网上却没有任何成功的代码&#xff0c;本人也是摸索了一个上午才搞定。 分享给大家。 &#xff08;1&#xff09;post方式调用的远程方法&#xff0c;方法名必须加“update”前缀&#xff0c;不加行不…

[转]连接excel数据源时,首行包含列名称选项在连接字符串中的设置。

关于Excel导入的HDRYES; IMEX1详解 ProviderMicrosoft.Jet.OLEDB.4.0;Data Source111.xls;Extended Properties"Excel 8.0;HDRNO"; 其中HDRNO或YES即首行包含列名称选项 (参数HDR的值&#xff1a;HDRYes&#xff0c;这代表第一行是标题&#xff0c;不做为数据使用&am…

C++多线程快速入门(一):基本常用操作

目录case1&#xff1a;创建线程1 join、detachcase2&#xff1a;创建线程2 线程传参 传值或者传引用case3&#xff1a;创建线程 线程传参 functional object作为参数case4&#xff1a;观察多线程程序加速计算case5&#xff1a;future get 获取并发结果case6&#xff1a;互斥锁…

android:configChanges属性总结

原文地址&#xff1a;http://blog.csdn.net/zhaokaiqiang1992/article/details/19921703 android中的组件Activity在manifest.xml文件中可以指定参数android&#xff1a;ConfigChanges&#xff0c;用于捕获手机状态的改变。 在Activity中添加了android:configChanges属性&#…

eclipse 中修改 M2_REPO的值

从eclipse中增加了maven2的插件之后&#xff0c;maven默认的本地库的路径是${user}/.m2/repository/下&#xff0c;一般windows用户的操作系统都安装在C盘&#xff0c;所以这个目录 下的jar包比较危险。我尝试从myeclipse->preferences->java->build path->classpa…

C++多线程快速入门(二)共享数据同步以及数据竞争

目录std::unique_lock类模板仅调用一次线程局部存储原子变量往期内容回顾std::unique_lock类模板 互斥锁保证了线程间的同步&#xff0c;却将并行操作变成了串行操作&#xff0c;对性能有较大影响&#xff0c;所以我们要尽可能减小锁的区间粒度。 lock_guard只能保证在析构的时…

DNS安全浅议、域名A记录(ANAME),MX记录,CNAME记录

相关学习资料 http://baike.baidu.com/link?url77B3BYIuVsB3MpK1nOQXI-JbS-AP5MvREzSnnedU7F9_G8l_Kvbkt_O2gKqFw7vm http://www.rfc-editor.org/rfc/rfc1035.txt http://www.rfc-editor.org/rfc/rfc3596.txt http://www.rfc-editor.org/rfc/rfc2782.txt http://www.rfc-edito…

ThinkInJava4读书笔记之第一章对象入门

那句话怎么说来着&#xff0c;原句记不住了好像是出来混的迟早要还的。话说当初学校刚开Java课程&#xff0c;自己没有好好学啊&#xff0c;后来直接做了jsp和servlet&#xff0c;然后学了SSH框架和Extjs、jQuery&#xff0c;接着是mybatis&#xff08;ibatis&#xff09;、fre…

C++多线程快速入门(三):生产者消费者模型与条件变量使用

互斥锁完成 #include <iostream> #include <deque> #include <thread> #include <mutex>std::deque<int> q; std::mutex mtx;static void produce(int val) {while(val--) {std::unique_lock<std::mutex> guard(mtx);q.push_front(val);m…

【blade利刃出鞘】一起进入移动端webapp开发吧

前言 在移动浪潮袭来的时候&#xff0c;小钗有幸进入框架组做webapp框架开发&#xff0c;过程中遇到了移动端的各种坑&#xff0c;也产生了各种激情&#xff0c;就我们公司的发展历程来说 第一阶段&#xff1a;使用传统方式开发移动站点&#xff0c;少量引入HTML5元素 第二阶段…

题目理解。。

有时候一道大水题&#xff0c;因为英文描述可能有点复杂或者其它云云&#xff0c; 就比如那道PRO。。 别先被一道题吓一跳&#xff0c;&#xff0c;&#xff0c; 英文描述看深入一点总归会能解决的&#xff0c;尽可能多的考虑情况。大胆尝试。转载于:https://www.cnblogs.com/c…

C++多线程快速入门(四)shared_mutex以及读写锁应用

在前面的三讲中我们使用的mutex都是普通的std::mutex&#xff0c;这里介绍一下shared_mutex&#xff0c;版本为C17 std::shared_mutex的底层实现时操作系统提供的读写锁&#xff0c;在读多写少的情况下&#xff0c;该shared_mutex比mutex更加高效。 它提供了常用的四种方法&am…

Tornado/Python 学习笔记(一)

1.源代码下载及安装&#xff1a;http://www.tornadoweb.org/en/stable/ 2.python中xmlrpc库官方文档&#xff1a;https://docs.python.org/3/library/xmlrpc.html?highlightxmlrpc 3.xml介绍与学习&#xff1a;http://www.w3school.com.cn/xml/xml_intro.asp XML 被设计为传输…