让网站访问速度飞起来(前端篇)

news/2024/5/9 9:27:15/文章来源:https://blog.csdn.net/Snoopy7713/article/details/84186640

 帖子里很多坛友说到我的网站页面打开速度飞快,闪到了自己的眼睛 ,今天再发一帖说下自己的前端处理经验。



       说到前端,就不得不提 YSLOW ,Page Speed这些个大牛级的插件,这两个东西都可以直接装在firebug上。

Page Speed还提供了在线版。可以先用这些东西分析一下页面,把 High priority 的内容做到就差不多了。

本人经验如下:

 

首先,最重要的是请求数。

     尽可能的减少请求。如何减少,就是合并。这里有个合并图片的技巧有 css sprite,通过css定位,合并多个背景图。剩下的多个js能合并的就合并,css类似。

    请求实在没法减少的时候肿么办?利用浏览器并发。也就是多域名资源分布。大致原理是因为浏览器对单一域名并发下载有限制(不同浏览器数字不同),所以为了让浏览器一次下载更多资源,把内容分布到多个二级域名。

本人网站暂时用了三个 www img 和 img0。 www 就是下载文档,img是js、css和css背景图,img0就是电影图片。

 

 

其次是缓存。

     要充分利用浏览器本身的缓存策略。让用户打开过一次页面之后,访问其余页面更快,再次访问秒杀。具体HTTP协议的缓存策略这里就不展开,只说一下我的网站配置,Nginx版

 

 

Nginx代码   收藏代码
  1. location ~ .*\.(js|css|swf)$ {  
  2.         expires      60d;  
  3. }  
  4. location ~ .*\.(gif|jpg|jpeg|png|bmp|ico)$ {  
  5.         #valid_referers blocked *.fqxn.com;  
  6.         #if ($invalid_referer) {  
  7.                 #rewrite ^ http://www.fqxn.com/403 .jpg last;  
  8.         #}  
  9.         expires      8d;  
  10. }  
 

 

加了过期时间之后,普通链接点击(在过期时间内)就不会再发起新的请求,直接使用本地缓存。关于F5 和 Ctrl + F5的情况,请求是都会发出。


不过F5是这样的:请求头加入If-Modified-Since 和 Cache-Control: max-age=0 , 意思是说,我不管浏览器缓存中的文件过期没有,都去询问一下有没有更新,相当于上次HTTP响应的Expires暂时失效。服务器的响应处理流程很简单, 如果确实没有改动,直接返回一个304,并不发送真正的图片内容。意思是说没有过期,用你自己本地的吧。下面是F5的情况(本人已经打开过首页,然后 chrome下按F5 查看网络面板截图)



 

     而 Ctrl + F5的情况,请求头中会加入Cache-Control 换成了no-cache ,(Pragma:no-cache 行是为了兼容HTTP1.0),而没有加入 If-Modified-Since 。这次就和初次访问一样了,服务器老老实实的返回200状态码,同时响应头中多了个Content-Length 这次就真的产生了数据流量,服务器重新发送内容到浏览器。下面是Ctrl+F5


 

最后是压缩。

 

    这里主要是说GZIP,至于js 、css mini这个东西不做讨论。由于GZIP之后相差不大,所以 本人 没有进行js、css mini,另外:一是方便自己修改和阅读,二是没有混淆的必要,不怕别人看,三就是自己比较懒。

现在主流浏览器都支持gzip压缩,压缩一下文本一般能节省原大小的 60%~80%,节省的带宽可不小,重要的是速度!

通过站长工具看下本站首页的压缩情况:


 

下面是Nginx配置压缩

 

 

Nginx代码   收藏代码
  1. gzip  on;  
  2. gzip_min_length 1024 ;  
  3. gzip_types text/plain text/css application/x-javascript application/xml;  
 

以上就是本人网站在前端部分进行的优化经验总结~分享给大家,希望有帮忙!


最后,相关链接:


1.隐藏帖传送门 http://www.iteye.com/topic/1122481


2.在线版Page Speed  https://developers.google.com/pagespeed/


3.Firebug Yslow https://addons.mozilla.org/zh-cn/firefox/addon/yslow/


最后,顺便用在线版PS又分析了下网站 fqxn.com

 


 

 

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

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

相关文章

浅谈大型网站动态应用系统架构

浅谈大型网站动态应用系统架构 动态应用,是相对于网站静态内容而言,是指以c/c、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通常与数据库系统、缓存系统、分布式存储系统…

利用阿里巴巴的矢量图片库工具网站制作自己的图标字体

操作都比较简单 进入这个网站http://iconfont.cn/ 然后点击上方的图标管理-->我的图标 选择第二个云朵操作,是上传svg图片用的, 点击批量操作,批量加入购物车之后,去往购物车,点击下载代码即可,当然也可…

[Linux]宝塔创建站点

【linux】在宝塔内创建网站 1、在虚拟机下载安装宝塔,安装完成以后会有宝塔面板的“账号密码”,需要记下来 如图所示,为了信息安全我将账号密码擦掉了 2、在虚拟机开启的状态下,登录宝塔面板 3、点击“网站”→“添加站点”&…

副业笔记:如果将企业网站进行到底

最近,我抽时间整理了以前的工作笔记,梳理了一下从毕业到现在服务过的客户资料。让我没想到的是,在不到3年的时间里,自己居然做了50多个网站,认识了大概40多个客户。再次让我笃行:时间就是力量。而且这些都是…

网站全灰,原来仅需一行css代码

打开B站看到网站整体全灰,发现css代码只有一行,十分精简 filter: grayscale(100%);只需要加在html节点上,就可以

vue漂亮的企业网站模板

vue企业网站模板 vue静态模板,没有后台,pc端已经自适用手机端,宣传够用了,代码下载地址: https://gitee.com/rt45/sellgit_com_web 部署步骤 前期安装nodejs,vue 执行 npm install -g cnpm --registryhttps…

vue3+ts+pinia全新企业网站

vue3tspinia全新企业网站 最新技术,全新企业网站组件式开发,左图右列表,广告、轮播已抽象为组件,非常适合二开 http://demo.hyxdsoft.com/ http://demo.hyxdsoft.com/web1001/#/

vue自适应服饰公司门户网站

企业网站 http://demo.hyxdsoft.com/web1033 http://demo.hyxdsoft.com 本地安装步骤 前期安装nodejs,vue 顺序执行 npm install npm run dev或者npm run serve

仿视频网站弹幕效果

一、需求 开发一个类似bilibili的视频弹幕效果。网上有bilibili的开源项目。那么我们要实现一个简易的,应该怎么办呢? 有办法的,先看效果: 二、分析 最直接的办法是自定义一个ScreenView作为幕布,然后绘制一个个的子…

有关采用Filter:实现网站自动登录功能模块

网站自动登录操作分析,我以CSDN用户登录功能为例说明, 1.进入csdn网站的登录界面 地址: CSDN用户登录界面 界面效果如下: 2.输入正确的用户名和密码,并且勾选上 下次自动登录功能 3.点击登录,如果成功登录,就会跳转到登陆成功的界面. 4.如果你再去点击CSDN用户登录界面 看看什…

.NET技术+25台服务器怎样支撑世界第54大网站

英文原文: StackOverflow Update: 560M Pageviews A Month, 25 Servers, And Its All About Performance StackOverflow 是一个 IT 技术问答网站,用户可以在网站上提交和回答问题。当下的 StackOverflow 已拥有 400 万个用户,4000 万个回答&…

说说大型高并发高负载网站的系统架构

转载请保留出处:俊麟 Michael’s blog (http://www.toplee.com/blog/?p71)Trackback Url : http://www.toplee.com/blog/wp-trackback.php?p71 我在CERNET做过拨号接入平台的搭建,而后在Yahoo&3721从事过搜索引擎前端开发,又在MOP处理过…

更改Wamp下网站地址栏图标

大家应该遇到这样一个问题,我们利用wamp做服务器运行网页的时候,网页地址栏显示的图标一直是wampserver默认的图标,想改一下怎么办呢? 问题如下: 就是这些图标,如何自定义自己的图标,而不是…

炫酷的个人功能网站

有空把自己之前的网站修缮了下,首先把pc端,手机端兼容问题解决了,之前的没有响应式框架,第二,跨域问题解决了,之前最重要的一些页面总是出不来,现在可以了,还有就是不小心把数据库删…

一个炫酷的个人网站带后台

该demo下线了,如果还有需要源码的请找我,工作一年后我总结模块,新上线了一个系统,欢迎大家查阅指教! 点击进入系统http://zengchenglong.online:8090/login.html 技术栈:后端:javaspringbootmy…

利用HTML5的一个重要特性 —— DeviceOrientation来实现手机网站上的摇一摇功能

介绍之前做两个声明&#xff1a; 以下代码可以直接运行&#xff0c;当然你别忘了引用jQuery才行。 <script> // DeviceOrientation将底层的方向传感器和运动传感器进行了高级封装&#xff0c;提供了DOM事件的支持。 // 这个特性包括两个事件&#xff1a; // 1、deviceOri…

项目简介-NodeJS+MongoDB实现简单网站

项目简介-NodeJSMongoDB实现简单网站 主要是参考视频学习。视频地址&#xff1a; http://www.imooc.com/learn/75 一、项目要求 要求在云计算平台上采用脚本语言NoSQL数据库实现一个简单的在线应用系统。 以小组实验报告的形式提交。 二、项目简介 2122网站&#xff0c;是…

基于SSM实现的简易员工管理系统(基于阿里云的网站上线篇)

2017-9-9 16:49更新&#xff1a; 好的&#xff0c;现在看来不备案是彻底玩不了了&#xff0c;想看看界面的&#xff0c;可以通过ip访问&#xff0c;IP好像暂时还没有封&#xff0c;不知道还能活多久&#xff0c;哎~&#xff08;101.132.76.93&#xff09; 2017-9-8 23:23更新&…

基于SSM实现的简易员工管理系统(基于阿里云的网站上线篇)

2017-9-9 16:49更新&#xff1a; 好的&#xff0c;现在看来不备案是彻底玩不了了&#xff0c;想看看界面的&#xff0c;可以通过ip访问&#xff0c;IP好像暂时还没有封&#xff0c;不知道还能活多久&#xff0c;哎~&#xff08;101.132.76.93&#xff09; 2017-9-8 23:23更新&…

Ubuntu安装docker,使用docker安装awvs,并测试网站输出测试报告

Ubuntu安装docker&#xff0c;使用docker安装awvs&#xff0c;并测试网站输出测试报告 1.Ubuntu安装docker ​ 在Ubuntu中按CtrlAltT进入终端命令&#xff0c;实际安装参考Ubuntu Docker 安装 | 菜鸟教程 (runoob.com) 我是用下面的命令&#xff0c;然后系统提醒缺啥&#x…