鍒閲岀殑绉佸ゴ璋冩暀楂榟-lepetitsejour.com

google seo -> telegram: @ehseo6

">Newsnet 2022-10-03 03:13
  • home  >   /锡林郭勒烁痉有限责任公司  >   鍒閲岀殑绉佸ゴ璋冩暀楂榟
  • 鍒閲岀殑绉佸ゴ璋冩暀楂榟 长治蜒瞬剖电子有限公司

    鍒閲岀殑绉佸ゴ璋冩暀楂榟 银川淳荡汽车维修投资有限公司

    关于WEB优化2022-10-03

    01. Minimize HTTP Requests 减少HTTP请求

    Image、CSS、Script、Flash等等这些都会增加 HTTP 请求数,减少这些元素的数量就能减少响应时间。把多个JS、CSS在可能的情况下写进一个文件;页面里直接写入图片也是不好的做法,应该写进CSS里,利 用 CSS Sprite 将小图拼合后利用 background 来查找定位;使用“图片地图”(在同一个张图片上放置不同的URL,这种方式就可以减少对于图片的请求。经测试,获取图片地图的时间比获取每个单独的图片 时间上要快56%。图片地图有两种方式,一是“服务器端图片地图”,一是“客户端图片地图”。服务器端实现方式即将用户点击的XY坐标传入服务器,然后由 服务器端映射相应的操作。客户端的方式即在前台用 MAP 标签来实现。图片地图的方式,使编程维护变得困难了许多。)。

    02. Use a Content Delivery Network 利用CDN技术

    “内容分发网络”。其目的是通过在现有的 Internet 中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”。

    CDN的特点:

    1、本地Cache加速 – 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性。

    2、镜像服务 – 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。

    3、远程加速 – 远程访问用户根据DNS负载均衡技术,智能自动选择 Cache 服务器,选择最快的 Cache 服务器,加快远程访问的速度。

    4、带宽优化 – 自动生成服务器的远程Mirror Cache服务器,远程用户访问时从 Cache 服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等。

    5、集群抗攻击 – 广泛分布的CDN节点加上节点之间的智能冗于机制,可以有效地预防黑客入侵以及降低各种 DDOS 攻击对网站的影响,同时保证较好的服务质量。

    03. Add an Expires or a Cache-Control Header 设置“ 头文件过期”或者“ 静态缓存”

    浏览器会用缓存来减少 HTTP 请求数来加快页面加载的时间。如果页面头部加一个很长的过期时间,浏览器就会一直缓存页面里的元素。不过这样如果页面里的东西变动的话就要改名字了,否则 用户端不会主动刷新。

    (1)概念

    Cache-control 用于控制HTTP缓存(在HTTP/1.0中可能部分没实现,仅仅实现了Pragma: no-cache)

    格式:Cache-Control: cache-directive

    cache-directive 可以为以下:

    request时用到:

    | “no-cache”

    | “no-store”

    | “max-age” “=” delta-seconds

    | “max-stale” [ "=" delta-seconds ]

    | “min-fresh” “=” delta-seconds

    | “no-transform”

    | “only-if-cached”

    | “cache-extension”

    response时用到:

    | “public”

    | “private” [ "=" <"> field-name <"> ]

    | “no-cache” [ "=" <"> field-name <"> ]

    | “no-store”

    | “no-transform”

    | “must-revalidate”

    | “proxy-revalidate”

    | “max-age” “=” delta-seconds

    | “s-maxage” “=” delta-seconds

    | “cache-extension”

    部分说明:

    根据是否可缓存分为

    Public  指示响应可被任何缓存区缓存。

    Private  指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。

    no-cache  指示请求或响应消息不能缓存(HTTP/1.0用Pragma的no-cache替换)

    根据什么能被缓存

    no-store  用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

    根据缓存超时

    max-age  指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。

    min-fresh  指示客户机可以接收响应时间小于当前时间加上指定时间的响应。

    max-stale  指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以

    接收超出超时期指定值之内的响应消息。

    Expires 表示存在时间,允许客户端在这个时间之前不去检查(发请求),等同max-age的

    效果。但是如果同时存在,则被Cache-Control的max-age覆盖。

    格式:Expires = “Expires” “:” HTTP-date

    例如:Expires: Thu, 01 Dec 1994 16:00:00 GMT (必须是GMT格式)

    (2)应用

    通过 HTTP 的 META 设置 expires 和 cache-control:

    上述设置仅为举例,实际使用其一即可。这样写的话仅对该网页有效,对网页中的图片或其他请求无效,并不会做任何cache。而且,客户端的请求就多了, 尽管只是检查 Last-modified 状态,但是请求增多对浏览速度必定有影响。

    如果要对文件添加 cache 可以通过 apache 的 mod_expire 模块(http://httpd.apache.org.lepetitsejour.com/docs/2.2/mod/mod_expires.html),写法为

    ExpiresActive On

    ExpiresDefault “access plus 1 days”

    记得 ExpiresActive 设为On,我起先没设置On,似乎怎样YSlow都查不到缓存机制。这样添加的话就是默认所有的。如果要针对个别MIME类型则可以:

    ExpiresByType image/gif “access plus 5 hours 3 minutes”

    另外,当点击浏览器上的刷新,客户端发送的请求中均是 max-age=0,表示 validate 操作,发送请求到服务器要求检查 cache,再更新 cache,一般得到的是304 Not Modified,表示没变动。

    04. Gzip Components Gzip压缩

    Gzip格式是一种很普遍的压缩技术,几乎所有的浏览器都有解压Gzip格式的能力,而且它可以压缩的比例非常大,一般压缩率为85%。压缩没压缩,可 以到 这里 做下测试。

    05. Put Stylesheets at the Top 把CSS放顶部

    使用LINK标签将样式表放在文档的HEAD中,让浏览者能尽早的看到网站的完整样式。

    HTML页面是逐步呈现的,在用户打开页面的同时,我们需要考虑到用户的体验——打开网页的速度。显示页面第一需求是HTML,而HTML是由一个一个 的DIV组成,CSS是一切的基础。

    06. Put Scripts at the Bottom 把 JS 放底部

    网站呈现完毕后再进行功能设置,当然这些JS要在你的加载过程中不影响内容表现。

    因为页面是逐步呈现的,对于脚本以下的内容,会被阻塞。直到脚本加载完毕才会继续呈现页面。正确的放位置

    (1)最差的情况:将脚本放在顶部。会阻塞其后内容呈现、会阻塞其后组件下载。

    (2)最佳的情况:将脚本放在底部。不会阻止页面的呈现。

    07. Avoid CSS Expressions 避免CSS Expressions

    CSS表达式很可怕,这个只被IE支持的东西执行时候的运算量非常大,你移动一下鼠标它都要进行重计算的,但有时候为了做浏览器的兼容必须要用到这 个。

    08. Make JavaScript and CSS External 将JS和CSS外链

    前面讲到了缓存这个事情,一些较为公用的JS和CSS,我们可以使用外链的形式,譬如从Google外链Jquery文件。

    09. Reduce DNS Lookups 减少DNS查找

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

    Internet 是通过 IP 地址来查找服务器的。DNS也是有开销的。一般情况下浏览器查找一个给定的主机IP地址的时间是20~120ms。为了减少DNS查找过程中所花费的时 间,需要采取以下一些技术:

    (1)DNS缓存

    DNS查找可以缓存起来提高性能,在用户计算机上,一个主机名被解析后相应的DNS信息会被存储在操作系统的DNS缓存中,之后使用时就可以减少所需要 的时间了。另外一些浏览器也有相应的DNS缓存功能。但是缓存的DNS数量是有限的。一般情况下操作系统在考虑TTL值,而浏览器会忽略该值而设置自己的 时间。

    (2)TTL

    DNS缓存对带来一些系统消耗,同时服务器的IP地址并不一定是一尘不变的。服务器可以表明记录可以被缓存多久,查找返回的DNS记录包含了一个存活时 间(Time-to-live,TTL)值,它表明了客户端可以对该记录缓存多久。一般情况下可以设置为1天。

    10. Minify JavaScript and CSS 减小JS和CSS的体积

    写JS和CSS都是有技巧的,用最少的代码实现同样的功能,减少空白,增强逻辑性,用缩写方式等等,当然也有不少工具也能够帮你实现这一点。

    11. Avoid Redirects 避免重定向

    再写入链接时,虽然“http://xxx.com.lepetitsejour.com”和“http://xxx.com.lepetitsejour.com/”仅有一个最后的“/”之差,但是结果是不同的,服务器需要花 时间把前者重定向为后者然后进行跳转,这个要自己注意,也可以在Apache里用Alias 或者 mod_rewrite 或者 DirectorySlash 解决。

    另,重定向的用处有:连接不同的网站;跟踪网站访问量;美化URL。

    12. Remove Duplicate Scripts 删除重复脚本

    重复调用的代码浏览器并不会识别忽略,而是会再次运算一遍,这当然是大大的浪费。

    13. Configure ETags 配置ETags

    搞不清楚咋回事,总之我是在. htaccess里把它删除了。

    14. Make Ajax Cacheable 缓存Ajax

    Ajax是实时响应的,在浏览器接收到新的数据前,旧的数据被缓存,这样能够更好的提高效率。

    15. Flush the Buffer Early 尽早的释放缓冲

    当用户进行页面请求时,服务器端需要花费200到500毫秒时间来拼合HTML,将写在head与body之间,释放缓冲,这样可以将文件头先发送出 去,然后再发送文件内容,提高效率。

    16. Use GET for AJAX Requests 用GET方式进行AJAX请求

    Get 方法和服务器只有一次交互(发送数据),而 Post 要两次(发送头部再发送数据)。

    17. Post-load Components 延迟加载组件

    最先加载必须的组件进行页面初始化,然后再加载其它,具体实现方式可以采用”隐藏IFRAME”或者javascript。”YUI Image Loader”是很好的例子。

    18. Preload components 预加载组件

    提前加载以后可能用到的东西,和延迟加载并不冲突,它的目的是为后续请求提供更快的响应,参见Google首页上的CSS sprites应用。

    19. Reduce the Number of DOM Elements 减少DOM元素数量

    复杂的页面结构意味着更长的下载及响应时间,导致页面渲染的变慢。更合理更高效的使用标签来架构页面,是好的前端的必备条件。

    20. Split Components Across Domains 跨域分离组件

    主要的目的是提高页面组件并行下载能力,但注意不要过多,超过2-4个域名会引起上面说到的DNS查找浪费。IE对同一个域的请求,同时只能有两个。实 现可以利用CDN网络或者其他分布式计算网络。

    21. Minimize the Number of iframes 减少 IFrame 数量

    IFrame 是 SEO 的大忌,需要更有效的利用 IFrame。

    IFrame 优点:有利于下载缓慢的广告等第三方内容,安全沙箱,并行下载脚本

    IFrame 缺点:即使为空也会有较大资源消耗,会阻止页面的onload,非语义

    22. No 404s 不要出现404页面

    站点本身里(非搜索结果)出现404页面,无意义的404页面会影响用户体验并且会消耗服务器资源。

    23. Reduce Cookie Size 减小Cookie

    Cookie 在服务器及浏览器之间的通过文件头进行交换,尽可能减小 Cookie 体积,设置合理的过期时间,能够很好的提高效率。

    24. Use Cookie-free Domains for Components 对组件使用无Cookie的域名

    对静态组件的 Cookie 读取是一种浪费,使用另一个无Cookie的域名来存放你的静态组件式一个好方法,或者也可以在Cookie中只存放带www的域名。

    25. Minimize DOM Access 减少DOM的访问次数

    JS 访问 DOM 是很慢的,尽量不要用 JS 来设置页面布局。

    26. Develop Smart Event Handlers 开发灵活的事件处理句柄

    DOM 树上过多的元素被加入事件句柄的话,反应效率肯定会低,YUI事件工具有一个 onAvailable 方法可以帮助你灵活的设置 DOM 事件句柄。

    27. Choose tw.mixrent.com/search.php?q= over @import 使用vajehyab.com/?q=而非 @import

    在 IE 中使用 @import 就和在页面底部用 www.lespetitesjupesdeprune.com/fr-us/search?q= 一样。

    28. Avoid Filters 避免过滤器的使用

    如果需要Alpha透明,不要使用 AlphaImageLoader ,它效率低下而且只对IE6及以下的版本适用,用PNG8图片。如果你非要使用,加上_filter以免影响IE7+用户。

    29. Optimize Images 优化图片

    将你的 GIF 转为 PNG8 会是个减小体积的好办法,另外有很多方法处理你的JPG及PNG图片以达到优化效果。

    30. Optimize CSS Sprites 优化CSS Sprites

    在CSS Sprites中竖直并尽量紧凑的排列图片,尽量将颜色相似的图片排在一起,会减小图片本身的大小及提高页面图片显示速度。

    31. Don’t Scale Images in HTML 不要在HTML中缩放图片

    图片要用多大的就用多大的,不要偷懒。

    32. Make favicon.ico Small and Cacheable 缩小 favicon.ico 的大小并缓存它

    站点的浏览器ICO应该不是经常换吧,那就长时间的缓存它,并且最好控制在1K以下。

    33. Keep Components under 25K 保证组件在25K以下

    iPhone不能缓存25K以上的组件,并且这还是要在被压缩前。

    34. Pack Components into a Multipart Document 将组件打包进一个多部分的文档中

    就好像在邮件中加入附件一样,一个HTTP请求就够了,但是这一技术需要确保你的代理支持,iPhone就不支持。

    内联图象:

    使用“data: URL scheme”在实际的页面嵌入图像数据。平时我们常见的是:http,ftp,mailto 等几种模式,实际上data:URL模式早在1995年已经提出,它表示将小块数据直接融入到链接URL中。其模式如下:data: [][;base64],

    第一个参数表示文件格式,如:image/gif。

    可惜的是,目前IE并不支持该模式。另外数据大小也受到限制。

    声明:内容来源于网络,基于雅虎的34条。

     

    上一篇:WSH实用讲座---第三讲 创建邮箱
    上一篇:使用ASP调用C#写的COM组件

    关于本站  |  版权声明 |  合作联系 |  网站地图 |  帮助中心 |
    Copyright © 2006-2013 downcodes.com  

    湘ICP备2022016001号-1


    百家乐 好买么 代理电竞比赛危险吗 皇冠配件 体育彩票证书 电子专票代理赚钱吗
    做亚博代理需要什么播报软件 老虎机游戏推广代理怎么赚钱 卡塔尔世界杯的品牌有 千亿体育代理 彩票平台代理利润多少
    代理亚博专案 斗地主挣钱吗 官方彩票吗 澳门六合彩 怎么下注 招彩票代理加盟
    澳门六合彩 好买么 皇冠品牌 凤凰令手游代理 11选5软件 线上平台是哪家