首页 程序笔记 提高网站访问速度的20优化技巧

提高网站访问速度的20优化技巧

网友上网都不喜欢用太多的时间等待网页的打开,等待的越长,用户可能会直接关闭网页,这样就会损失很多流量!其次,关键字的排名与网页的打开速度也有关系,这个主要体现搜索引擎对用户体验度上,用户体验度好,排名相对其它网站就好些。因此我觉得我们有必要去提高网页的打开速度,这个不需要太多的成本投入,只需要平时多注意一些小技巧就行了!下面给出20种方法帮你提高网站访问速度缩短网页加载时间。

1、减少页面HTTP请求数量

比较直接的理解就是要减少调用其他页面、文件的数量。

A.我们在使用css格式控制的时候,经常会采用background载入很多图形文件,每个background的图像至少产生1次HTTP请求,一般我们为了让页面生动活泼会大量使用background来加载背景图,要改善这个状况,可以采用css的1个有用的background-position属性来加载背景图,我们将需要频繁加载的多个图片合成为1个单独的图片,需要加载时,采用以下形式加载即可将这部分图片加载的HTTP请求缩减为1个。

B.采用Image maps,这个方法也比较常用,只是限于同1个区域使用。

C.Inline images,这个方法很少见到,但对于很小很简单的图像却是很实用的,相关语法标准参照:tools.ietf.org/html/rfc2397。

2、使用CDN(Content Delivery Network)网络加速

现在国内做CDN加速业务的公司很多,简单讲,就是将你的图片、视频扩散到CDN网络所能到达之处,让用户访问时能就近下载到这些文件,从而达到网络提速的目的,这样做,同时能减轻你自己网站的负载。

3、添加文件过期或缓存头

对于同一用户频繁访问的图片、Js脚本文件等可以在Apache或Nginx设置其缓冲 时间,例如设置24小时过期时间,这样用户在访问过该页面之后再次访问时,同一组图片或JS不会再重复下载,从而减少了HTTP请求,用户访问速度明显有 所提升,同时服务器负载也会下降。下面给出nginx配置中缓存控制的例子:

4、服务器开启gzip压缩

这个大家都比较了解,即将需要传输的内容压缩后传输到客户端再解压,这样在网络上传输的 数据量会大幅减小。通常在服务器上的Apache、Nginx可以直接开启这个设置,也可以从代码角度直接设置传输文件头,增加gzip的设置,也可以从 负载均衡设备直接设置。不过需要留意的是,这个设置会略微增加服务器的负担。

5、css格式定义放置在文件头部

这项设置对于用户端是慢速网络或网页内容比较庞大的情况比较有利,可以在网页逐步呈现的同时仍会保持格式信息,不影响网页美感。

6、Javascript脚本放在文件末尾

很多Javascript脚本执行效率低下,或者有的第3方域名脚本出现意外无法载入, 如果将这些脚本放置到页面比较靠前的位置,可能会导致我们自己网站的内容载入速度下降甚至无法正常加载,所以一般将这些脚本放置在网页文件末尾,一定要放 置在前面的脚本要改用所谓的“后载入”方式加载,在主体网页加载完成后再加载,防止其影响到主体网页的加载速度。

7、避免使用CSS脚本(CSS Expressions)

有时为了要css的参数动态改变,可能会采用css expression来实现,但这样做得不偿失,会使用户端浏览器负担明显加重,所以不建议这样做,如果需要改变,可以使用Javascript脚本去实现。

8、css、javascript改由外部调用

如果css、js内容比较庞大,尽量不要写到同1个页面中去,改由外部载入比较妥当,因为浏览器本身会对css、js文件进行缓存。

9、压缩Javascript、CSS代码

一般js、css文件中存在大量的空格、换行、注释,这些利于阅读,如果能够压缩掉,将会很有利于网络传输。这方面的工具也有很多,一般可以保留开发版本,利用工具生成生产版本,2个文件比较,一般压缩率能达到50%以上,减少的数据量还是比较可观的。

我这个博客刚改版完成,各种代码还没有进行优化和压缩,目前yslow评级只能达到D,等有时间进行部分优化,达到C等级应该问题不大。

10、避免采用301、302转向

11、养成良好的开发维护习惯,尽量避免脚本重复调用

12、配置ETags

13、Ajax采用缓存调用

这个的使用可以参照Discuz论坛代码,里面对于大量使用的Ajax调用都采用了缓存 调用方式,一般采用附加特征参数方式实现,注意其中的

就是特征参数,这个参数不变化就使用缓存文件,如果发生变化则重新下载新文件或更新信 息。

14、合理使用Flush

用户端发送浏览请求后,服务器端一般要花销200-500ms去处理这些请求,在此期间,用户端浏览器处于等待状态,如果要减少用户等待时间,可以在适当的位置使用flush,将已经就绪的内容推送到用户端,这在php中很容易实现例如:

15、Ajax调用尽量采用GET方法调用

实际使用XMLHttpRequest时,如果使用POST方法实现,会发生2次HTTP请求,而使用GET方法只会发生1次HTTP请求。如果改用GET方法,HTTP请求减少50%!

16、尽可能减少DCOM元素

这个很好理解,就是尽可能减少网页中各种<>元素数量,例如

的冗余很严重,而我们完全可以用取代之。

17、使用多域名负载网页内的多个文件、图片

记得有资料说明,IE在网页载入过程中,在同1时刻,对同1域名并行加的HTTP请求数 量最高为2个,如果网页需要加载的文件数量超过2个(通常远远超过..),要加快网页访问速度,最好将文件分布到多个域名,例如19楼,其js文件采用独 立的域名,据说百度的图片服务器数量在20台以上。

18、缩减iframe的使用,如无必要,尽量不要使用

iframe通常用于不同域名内容的加载,这同时也可能因iframe内容加载速度影响到主网页加载速度,如果可能,把需要加载的内容抓取到本地直接嵌入。如果实在需要iframe加载,采用后载入方式实现。

19、优化图片文件

优化图片文件,减小其尺寸,特别是缩略图,一定要按尺寸生成缩略图然后调用,不要在网页中用resize方法实现,虽然这样看到的图片外形笑了,但是其加载的数据量一点也没减少。曾经见过有人在网页中加载的缩略图,其真实尺寸有10M之巨…

普通图像、icon也要尽可能压缩后,可以采用web图像保存、减少颜色数等等方法实现。

20、当页面内容庞大到一定程度,可以采用分页的方式展现,或者taobao的那种翻页后载入方式。

1

站心网

网友上网都不喜欢用太多的时间等待网页的打开,等待的越长,用户可能会直接关闭网页,这样就会损失很多流..

为您推荐

押注配送速度,Temu在韩国卷出新高度

文:习芮编辑:小戎出品:增长工场Temu 在韩国的“加码”还在继续。继年初开放韩国卖家入驻,2 月在韩国布局本地仓后,3 月 21 日,Temu 宣布与韩国乐天集团旗下物流子公司乐天全球物流签署长期租约,租用位于京畿道..

千万级大表的优化技巧

前言大表优化是一个老生常谈的话题,但随着业务规模的增长,总有人会“中招”。很多小伙伴的数据库在刚开始的时候表现良好,查询也很流畅,但一旦表中的数据量上了千万级,性能问题就开始浮现:查询慢、写入卡、分页..

单线程的Redis速度为什么快?

Redis 是一个采用单线程架构的高性能内存键值数据库。官方测试报告中,单机可支持10w左右的 QPS。为什么单线程设计的 Redis 具有这么高性能?我们来探讨一下原因是什么。我将原因归纳为以下的四个方面:单线程架构高..

Chrome DevTools 中你可能不知道的 9 个调试技巧

对于前端开发者来说,ChromeDevTools绝对是不可或缺的调试工具,我们常用的调试方法包含一些console等,而ChromeDevTools其实很强大,下面来聊聊一些你可能不知道的debug方法。Scroll Into View 滚动如视图内在Eleme..

以我的亲身经历为例,告诉大家写简历和面试的技巧(面向高级开发和架构师)

之前我也写过不少介绍面试相关的博文,有些文章的点击量还不低,这些面试相关的经验大多都是从我面试别人的过程中提炼出来了。在18年底到19年3月,陆续面试了几家公司,有成有不成的,最终进了一家比较满意的知名外..

2025年做网站还能赚钱吗?

在2025年,互联网的格局虽然不断演变,但建立网站仍然蕴藏着赚钱的潜力。关键在于如何巧妙地定位,以及如何充分利用最新的技术和趋势。首先,我们需要明确网站的类型和盈利模式。内容型网站,如果运营者擅长某一领域..

网站统计中的访问信息收集的前端实现

网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascri..

用SignalR和Layui搭建自己的web聊天网站

1.开发背景之前是做项目一直有一个困扰,就是如何进行及时通讯,本人.Net开发,不太想用别人的接口,然后偶然的机会知道了SignalR,那么什么是SignalR呢?2.SignalR简介ASP.NET SignalR是ASP.NET开发人员的库,它简..

Elasticsearch性能优化干货

1、集群规划优化实践1.1 基于目标数据量规划集群在业务初期,经常被问到的问题,要几个节点的集群,内存、CPU要多大,要不要SSD?最主要的考虑点是:你的目标存储数据量是多大?可以针对目标数据量反推节点多少。1.2..

关于SQL优化的几种方式

1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id fr..

多语言网站数据库文章表设计

设计一个支持多语言的网站数据库时,应该确保内容能够方便地扩展和管理。以下是多语言数据库表设计的关键原则和示例:设计原则分离内容与语言:将与语言相关的内容独立存储,不直接硬编码到主要表中。每个支持多语言..

前端开发必备网站

1.MDN开发者文档网址:https://developer.mozilla.org/zh-CN/2.CSS教程:https://www.schoolw3c.com/html-css/css/3.node中文网:http://cnodejs.org/getstart4.JavaScript教程网:https://zh.javascript.info/5.web开..

微软于发布了.NET 9 Release Candidate 2 提高整体质量

微软于2024年10月8日发布了 .NET 9 的第二个也是最后一个候选版本(Release Candidate 2),标志着正式版发布前的最后阶段。主要更新内容:质量提升:专注于提高整体质量,修复已知问题,确保框架的稳定性和可靠性。..

无法加载文件或程序集 'XXXXX' 或其依赖项。访问被拒绝

遇到 “无法加载文件或程序集 'XXXXX' 或其依赖项。访问被拒绝” 错误时,通常是由于权限问题或文件夹、程序集引用配置不当所引起。下面是一些常见的原因及解决方法:1. 文件或程序集权限问题如果服务器或..

如何优化ASP.NET Core应用的性能?

优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..

几个超级实用但很少人知道的 VS 技巧

大家好,今天分享一些实用的 VS 技巧,而这些技巧我发现很多人都不知道。因为我经常在工作中遇到:我在同事电脑上解决问题,或在会议上演示代码示例时,使用了一些 VS “骚”操作,他们会好奇地问:你是怎么做到的?..

ideogram.ai 人工智能AI图片生成工具网站

Ideogram是一个由前Google Brain员工创立的AI绘画工具,它能够根据文本生成各种风格的图像,尤其擅长准确生成文本内容和抽象图标。Ideogram官网地址:https://ideogram.ai/loginIdeogram是由前Google Brain员工在202..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

JS限制移动端访问

有时我们在希望访问的终端,仅限制在移动端访问,禁止PC端访问这样的需求,我简单可以使用JS来完成,主要是利用终端浏览器的 navigator.userAgent 属性来完成,因为这里含有终端的特性特征,根据这些特征从而判断是..

免费学习编程的9个网站

免费学习编程的9个网站 1. MIT 开放式课程 MIT 提供免费的课程内容浏览服务,只要你有时间,随时可以进入。课程随你选: Java编程入门介绍 计算机科学及编程介绍 C语言实用编程案例 2. Code Academy Code Academy ..

发表回复

返回顶部