首页
留言板
关于本站
Search
1
实现网站页面秒开-预加载JS脚本instant.page
56,547 阅读
2
解决Windows连接PPTP/L2TP时无法连接上外网Internet的困扰
55,615 阅读
3
Typecho通过阿里邮件推送和LoveKKComment插件实现评论邮件通知
39,412 阅读
4
如何做到网页性能的极致优化?
29,682 阅读
5
回村无网络之-《无线网桥使用记》
29,588 阅读
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
登录
Search
标签搜索
路由交换
运维
linux
ROS
mikrotik
华为
软路由
WordPress
ospf
路由
网站
centos
php
ARP
交换
nssa
typecho
广播风暴
Nginx
dns
Ledo
累计撰写
61
篇文章
累计收到
1,024
条评论
首页
栏目
路由交换
华为笔记
华三笔记
Mikrotik笔记
中兴笔记
Linux
Nginx
数据库
typecho
WordPress
资源分享
网站技术
Windows
other
未分类
页面
留言板
关于本站
搜索到
6
篇与
的结果
2019-03-28
实现网站页面秒开-预加载JS脚本instant.page
本篇文章介绍了一个网站预加载的脚本instant.page√> 作用是可以预加载用户想访问的页面,当用户真正点击链接后,就会直接从缓存中读取,以此提升网站的访问速度。前言无意间看到这样一个脚本,传闻可以瞬间提高网站页面加载速度。我一直对网站加载速度的优化很感兴趣,于是便立即拿来试试,效果果然如说的那样,打开页面嗖嗖的 ::paopao:tieba_emotion_53::instant.page 原理的话我们不必深层了解,只需知道:在用户点击网站链接之前,他们将鼠标悬停在该链接上。当用户徘徊65毫秒时,他们将点击该链接有两个机会,因此 instant.page 此时开始预加载,平均超过 300 毫秒,以便页面预加载。instant.page 是渐进式增强 - 对不支持它的浏览器没有影响。效果instant.page 对站内访问速度的提升的确很给力。然而它只会预加载自己的站内链接,而不会预加载其他外链。如图所示,当鼠标在左侧文章链接悬停超过 65ms 后,左侧 网络 即会对站内页面进行预加载(绿色部分)另外而悬停未超过 65ms 时,则不会进行预加载(红色部分)使用 instant.page 只会预加载 html 页面,而不会加载图片等资源,因此点击预加载的页面是秒开的,图片在点击之后才会加载,不用担心与 lazyload 的各种不兼容问题。使用方法1.使用官方脚本只要把这行代码添加到网站的</body>标签之前即可。(由于脚本托管在国外,只建议国外的朋友使用,国内的朋友加载官方的资源会比较慢哦)<script src="//instant.page/1.2.2" type="module" integrity="sha384-2xV8M5griQmzyiY3CDqh1dn4z3llDVqZDqzjzcY+jCBCk/a5fXJmuZ/40JJAPeoU"></script>2.自托管文件只需将下面这段 js文件 上传到自己服务器,然后在</body>标签之前根据路径添加下面的代码即可(强烈建议服务器在国内的朋友使用)下载地址:[button color="success" icon="glyphicon glyphicon-arrow-down" url="https://pan.baidu.com/s/1OHc7dhpHI1wvuyzpcX3Avw "]nstantclick-1.2.2.js[/button] 提取码:58cb<script src="`存放路径`/instantclick-1.2.2.js" type="module"></script>本文参考自:instant.page官网、爱喝茶的康康、左岸
2019年03月28日
56,547 阅读
57 评论
0 点赞
2019-03-24
解决Windows连接PPTP/L2TP时无法连接上外网Internet的困扰
[scode type="green"]大家都知道使用VPN连接,我们可以利用现成的Internet网络通道,访问单位内部的资源,整个访问过程安全得如何就在同一个内网中一样。但是,在进行VPN网络连接时,我们时常会受到VPN默认路由的困扰,这种困扰往往会造成无法访问Internet网络等等的故障现象;很多朋友面对这样的困扰,无法找到有效的应对办法。[/scode]有鉴于此,本文就以Win10系统为操作蓝本,介绍一下如何经过设置,让VPN网络连接成功后笔记本电脑可以正常进行外网络访问!解决困扰的思路主要原因VPN网络连接成功后,VPN服务器会为客户端分配一个默认网关同时优先级又比较高,那样一来系统就会“被迫”将数据全部跑往VPN服务器才去,造成不能正常上外网。解决思路为摆脱VPN默认路由,我们可以先对win系统的VPN客户端系统进行合适设置,让其继续优先使用以前的默认网关地址,确保VPN客户端系统上网访问时,仍然从本地出发使用专用上网通道访问Internet网络。之后!再采用手工方法添加一些静态路由,让系统在成功建立VPN网络连接后,可以通过VPN服务器访问单位内网的资源,如此一来就能实现VPN网络连接之后,既能上外网又能访问单位内部资源了!操作步骤1.禁用VPN的默认路由。开始菜单-设置-网络和internet(或者叫“网络连接”)-更改适配器选项-找到VPN连接的图标-右键-属性-网络- 选择“Internet协议版本4(TCP/IPV4)”-属性-高级-去掉勾选“在远程网络上使用默认网关”如图: (如果你还没有下图的vpn图标请参考此文创建)[collapse title="操作步骤"][/collapse]2.添加要访问的资源IP地址路由记录假如我要访问的内部资源IP是132.104.64.*、120.80.16.*、132.96.38.*和10.245.0.*,vpn服务器是 221.96.105.10 写路由表指过去vpn服务器就OK啦~~如下:(1)管理员身份运行 cmd(2)添加路由记录,复制指cmd命令行回车即可:route add -p 132.104.64.* 211.96.105.10 route add -p 120.80.16.* 211.96.105.10 route add -p 132.96.38.* 211.96.105.10 route add -p 10.245.0.* 211.96.105.10 版权属于:爱皮哇本作品采用知识共享署名 4.0 国际许可协议进行许可。
2019年03月24日
55,615 阅读
34 评论
0 点赞
2019-03-17
网络篇-华为与思科做链路捆绑(聚合)的问题
华为S5700 和 cisco6500 做 ETH-trunk 双链路捆绑拔插任意一条线都丢8个包,这个问题是项目做好很久之后一次偶然线路问题发现的。。。华为与思科拓扑(懒得画图):A(C2960)===》B(S5700) 通过 ETH-trunk 1 做链路捆绑 B(S5700)===》C(C6500) 通过 ETH-trunk 2 做链路捆绑 都是通过 2 层互联都是双链路.配置:C2960Switch#sh run int port-channel 1 Building configuration... Current configuration : 54 bytes ! interface Port-channel1 switchport mode trunk end Switch#sh run int g0/47 Building configuration... Current configuration : 85 bytes ! interface GigabitEthernet0/47 switchport mode trunk channel-group 1 mode on end Switch#sh run int g0/48 Building configuration... Current configuration : 85 bytes ! interface GigabitEthernet0/48 switchport mode trunk channel-group 1 mode on End S5700\# interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 2 to 4094 bpdu enable \# interface Eth-Trunk2 port link-type trunk port trunk allow-pass vlan 2 to 4094 bpdu enable \# interface GigabitEthernet0/0/1 eth-trunk 1 undo ntdp enable undo ndp enable \# interface GigabitEthernet0/0/2 eth-trunk 1 undo ntdp enable undo ndp enable \# \# interface GigabitEthernet0/0/13 eth-trunk 2 undo ntdp enable undo ndp enable \# interface GigabitEthernet0/0/14 eth-trunk 2 undo ntdp enable undo ndp enable \# C6500BJ-BS02-6509#sh run int port-channel 100 Building configuration... Current configuration : 142 bytes ! interface Port-channel100 description to test no ip address switchport switchport trunk encapsulation dot1q switchport mode trunk end BJ-BS02-6509#sh run int g2/41 Building configuration... Current configuration : 173 bytes ! interface GigabitEthernet2/41 description to test no ip address switchport switchport trunk encapsulation dot1q switchport mode trunk channel-group 100 mode on end BJ-BS02-6509#sh run int g2/42 Building configuration... Current configuration : 173 bytes ! interface GigabitEthernet2/42 description to test no ip address switchport switchport trunk encapsulation dot1q switchport mode trunk channel-group 100 mode on end 故障现象描述:A 下的主机 ping C 上的一个 ip 地址在捆绑做完配置候(未断线)通不丢包当断 AB 之间的一条链路丢 2 个包(拔插各一个正常)当断 BC 之间一条链路的时候丢 8 个包(拔插各 8 个不正常)处理过程检查配置基本没有问题:换场景测试我们把 A 接 B 的口和 C 接 B 的口对调配置不变断线 ping结果还是和开始一样在断 BC 链路的时候丢包 8 个(拔插各八个不正常)Cisco A 和 C 直接对接 ping 断线测试(配置不变)拔插各丢一个包正常通过拨打 400 客服(单号 2814229)给他说明情况和捆绑配置同时他让做了流量统计他们给出初步结论(57 和 65 之间物理线路问题接口问题以及不同厂商兼容问题)继续排查:保持上面的配置不变继续测试(捆绑接口都是放行 vlan all)通过上面的排查基本可以确定问题在 B 到 C 这两个交换机上。故先测 B 到 C 之间捆绑链路是否有问题:情景一在 B 交换机 S5700 上接了一个 pc 机把该接口划分在业务 vlan 下 ping 自己在 Cisco 交换机 6500上的网关现象: 不断线不丢包 断其中任意一条线丢 8 个包(拔线时丢 8 个再把链路恢复插上的时候也丢 8 个)情景二在交换机 B s5700 上配置了一个 vlanif 接口也是用该接口地址直接 ping cisco 交换机 6500 上的网关现象: 不断线不丢包 断其中任意一条线丢一个包(拔插个一个)得出结论:B 和 C 也就是 S5700 和 cisco6500 之间的捆绑链路没有问题情景三我们又在交换机 A 上配了一个 vlanif 接口用该地址 ping C 交换机 cisco6500 上的网关地址现象: 不断线不丢包 断 A 和 B 之间的链路一根线丢 1 个包(拔的时候丢 1 个再插上丢一个) 断 B 和 C 之间链路任意一根线丢 8 个包(拔插各 8 个包)情景四用 A 上的 vlanif 地址 ping B 交换机上的 vlanif 地址现象:不断线不丢包 断 A 和 B 之间任意一条链路丢一个包(拔插各一个)得出结论:可能业务 vlan 的问题,但是我们都是放行所有 vlan 和技术以及华为 400 沟通之后捆绑接口不放行所有 vlan 只放行业务 vlan修改配置:S5700\# interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan 4 999 bpdu enable \# interface Eth-Trunk2 port link-type trunk port trunk allow-pass vlan 4 999 bpdu enable 在 A 和 C 上也只放行业务 vlan 4 999 测试:把两台 pc 接在交换机 A c2960 上分别归在 vlan4 和 vlan999 然后 ping C 交换机 cisco6500上的网关地址现象:不断线不丢包 断 A 和 B 之间的任意一条链路丢一个包(拔插个一个) 断 B 和 C 之间的任意一条链路个丢一个包(拔插个一个)A 和 B 与 B 和 C 之间链路各任意断一条丢两个包(拔插各两个)该测试现象正常把现象反馈给 400 技术沟通得出结论:不同厂商之间兼容性问题,还有就是放行 vlan all 不安全容易出问题实际工程中几乎不这样做 主要结论归结不同厂商 BUG。小结1.可能配置出错,物理线路有问题,接口模块问题,工作速率工作模式(全双工半双工)不同厂商之间兼容性问题还有就是放行 vlan。。。。2.在配置链路捆绑的时候我们尽量不要放行 vlan all 这样安全性低以及容易出错,只需要具体放行业务 vlan 就可以了,同时与异厂商做对接时的明白设备通用协议考虑到兼容性问题。
2019年03月17日
12,088 阅读
9 评论
0 点赞
2019-03-11
常见的几种华为PON ONU MA5616、MA5620等配置
本文主要记录一下开局脚本,记性不好,以免遗忘,也许正好有人需要呢?也可以帮到人 ::paopao:tieba_emotion_93::常见的几种华为ONU MA5616、MA5620等配置MA5620配置数据通信部分vlan 1001 to 1024 mux y port vlan 1001 to 1024 0/0 1 y multi-service-port from-vlan 1001 port 0/1 1-24 user-vlan untagged rx-cttr 6 tx-cttr 6 y multi-service-port from-vlan 1001 board 1 user-vlan untagged rx-cttr 6 tx-cttr 6 y语音部分vlan 3807 smart port vlan 3807 0/0 1 interface vlanif 3807 ip address 10.61.127.136 255.255.255.128 quit protocol-8021p-pri 6 vlan 3807 voip ip address media 10.61.127.136 10.61.127.129 ip address signaling 10.61.127.136 qos vlan media 10.61.127.136 priority 6 qos vlan signaling 10.61.127.136 priority 6 quit interface h248 0 Y if-h248 attribute mgip 10.61.127.136 mgport 2944 transfer udp primary-mgc-ip1 221.4.12.196 primary-mgc-port 2944 mg-media-ip1 10.61.127.136 start-negotiate-version 1 if-h248 attribute mgc-domain-name1 FS.GD.SS-HW-1.CNC.cn mgc-domain-name2 FS.GD.SS-HW-2.CNC.cn primary-mgc-ip1 221.4.12.196 primary-mgc-port 2944 secondary-mgc-ip1 221.4.13.196 secondary-mgc-port 2944 mg-ringmode add 0 10 26 digitmap-timer start 20 digitmap-timer short 3 digitmap-timer long 3 digitmap-timer duration 4000 mg-software parameter 13 2 reset coldstart y quit esl user mgpstnuser batadd 0/1/1 0/1/24 0 terminalid 0 quit pstnport pstnport attribute batset 0/1/1 0/1/24 reverse-pole-pulse-level 300 pstnport electric batset 0/1/1 0/1/24 current 2 quit board reset 0/1 y ring check enable autosave interval on autosave interval 1440 dns server 10.15.55.55 dns server 10.15.55.88 undo rollback y dsp attribute jitter-buffer init-adapt-jb 20 fax-modem parameters rfc2198-start-mode disableRfc2198SmartStartup fax parameters workmode thoroughly flow v5 ip route-static 221.4.12.0 255.255.255.0 10.61.127.129 ip route-static 221.4.13.0 255.255.255.0 10.61.127.129 ip route-static 221.4.15.0 255.255.255.192 10.61.127.129 ping 221.4.12.196 //测试是否通至软交换 MA5626配置与MA5620大同小异直接copy即可~MA5616配置数据部分board confirm 0 vlan 1001 to 1128 mux y port vlan 1001 to 1128 0/0 1 y multi-service-port from-vlan 1001 board 3 vpi 0 vci 35 user-vlan untagged rx-cttr 6 tx-cttr 6 y multi-service-port from-vlan 1033 board 4 vpi 0 vci 35 user-vlan untagged rx-cttr 6 tx-cttr 6 y multi-service-port from-vlan 1161 board 2 vpi 0 vci 35 user-vlan untagged rx-cttr 6 tx-cttr 6 y adsl line-profile quickadd 2 basic-para all trellis 1 bitswap 0 0 channel interleaved 16 6 adapt at-startup snr 6 0 31 6 0 31 rate 32 2048 32 512 name 2M_inter adsl line-profile quickadd 3 basic-para all trellis 1 bitswap 0 0 channel fast adapt at-startup snr 6 0 31 6 0 31 rate 32 2048 32 512 name 2M_fast adsl line-profile quickadd 4 basic-para all trellis 1 bitswap 0 0 channel interleaved 16 6 adapt at-startup snr 6 0 31 6 0 31 rate 32 4096 32 512 name 4M_inter adsl line-profile quickadd 5 basic-para all trellis 1 bitswap 0 0 channel fast adapt at-startup snr 6 0 31 6 0 31 rate 32 4096 32 512 name 4M_fast adsl line-profile quickadd 6 basic-para all trellis 1 bitswap 0 0 channel interleaved 16 6 adapt at-startup snr 6 0 31 6 0 31 rate 32 6144 32 512 name 6M_inter adsl line-profile quickadd 7 basic-para all trellis 1 bitswap 0 0 channel fast adapt at-startup snr 6 0 31 6 0 31 rate 32 6144 32 512 name 6M_fast adsl line-profile quickadd 8 basic-para all trellis 1 bitswap 0 0 channel interleaved 16 6 adapt at-startup snr 6 0 31 6 0 31 rate 32 8192 32 512 name 8M_inter adsl line-profile quickadd 9 basic-para all trellis 1 bitswap 0 0 channel fast adapt at-startup snr 6 0 31 6 0 31 rate 32 8192 32 512 name 8M_fast adsl line-profile quickadd 10 basic-para all trellis 1 bitswap 0 0 channel interleaved 16 6 adapt at-startup snr 6 0 31 6 0 31 rate 32 10240 32 1024 name 10M_inter ring check enable autosave interval on autosave interval 1440 interface adsl 0/2 deactivate all activate all profile-index 10 quit interface adsl 0/3 deactivate all activate all profile-index 10 quit interface adsl 0/4 deactivate all activate all profile-index 10 quit语言部分 vlan 3875 smart port vlan 3875 0/0 1 interface vlanif 3802 ip address 10.60.126.194 255.255.255.192 quit protocol-8021p-pri 6 vlan 3802 voip ip address media 10.60.126.194 10.60.126.193 ip address signaling 10.60.126.193 qos vlan media 10.60.126.194 priority 6 qos vlan signaling 10.60.126.194 priority 6 quit interface h248 0 Y if-h248 attribute mgip 10.60.126.193 mgport 2944 transfer udp primary-mgc-ip1 221.4.12.196 primary-mgc-port 2944 mg-media-ip 10.60.126.193 start-negotiate-version 1 if-h248 attribute mgc-domain-name1 FS.GD.SS-HW-1.CNC.cn mgc-domain-name2 FS.GD.SS-HW-2.CNC.cn primary-mgc-ip1 221.4.12.196 primary-mgc-port 2944 secondary-mgc-ip1 221.4.13.196 secondary-mgc-port 2944 mg-ringmode add 0 10 26 digitmap-timer start 20 digitmap-timer short 3 digitmap-timer long 3 digitmap-timer duration 4000 mg-software parameter 13 2 reset coldstart y quit esl user mgpstnuser batadd 0/1/0 0/1/31 0 terminalid 0 quit pstnport pstnport attribute batset 0/1/0 0/1/31 reverse-pole-pulse enable reverse-pole-pulse-level 300 quit board reset 0/1 y ring check enable autosave interval on autosave interval 1440 dns server 10.15.55.55 dns server 10.15.55.88 undo rollback y dsp attribute jitter-buffer init-adapt-jb 20 fax-modem parameters rfc2198-start-mode disableRfc2198SmartStartup fax parameters workmode thoroughly flow v5 ip route-static 221.4.12.0 255.255.255.0 10.61.122.1 ip route-static 221.4.13.0 255.255.255.0 10.61.122.1 ip route-static 221.4.15.0 255.255.255.192 10.61.122.1 ping 221.4.12.196 \\test ms
2019年03月11日
23,403 阅读
17 评论
0 点赞
2019-03-08
Typecho通过阿里邮件推送和LoveKKComment插件实现评论邮件通知
√> 这里推荐一款新的评论邮件通知插件 LoveKKComment,插件的接口更加丰富:SMTP、SendCloud 服务、Alicloud DirectMail,且附带博客用户密码找回功能,作者至今仍在维护。 弃掉 WordPress 选择 Typecho 就是看中了它轻便快捷,非常适合作为个人记录的博客。使用过程中有了很多新需求,都在社区找到了对应的插件实现。社区里大部分参考都是使用CommentToMail这款插件,即使后台模拟发信能够成功,但是经常会出现各种‘玄学’的问题 例如回复评论没有发出邮件.... ::aru:speechless::本文使用 Alicloud DirectMail 的 API 接口实现邮件推送。三种方式的选择见后文。Typecho通过Alicloud和插件LoveKKComment实现评论邮件通知实现环境操作系统:CentOS7技术基础 默认已有私有服务器,拥有私有域名,安装了博客 Typecho 且有 Linux 基础阿里云邮件推送服务(Alicloud DirectMail):官方帮助文档LoveKKComment:项目地址 - github开通Alicloud DirectMail服务阿里云推送的作用是帮你把插件生成的邮件内容推送至评论时留下的邮箱中。通过阿里云可以把你喜欢的域名(一般是你博客域名)作为发信域名,类似于admin@qq.com中的qq.com部分,你还能自由设置前缀,生成发信地址。本博设置了admin@mail.www.ledo.cc为发信地址。是的,你现在评价后,就能收到这个地址发来的邮件,试一下?配置过程需要配置发信域名,并且验证;配置发信地址;并且取得阿里云平台的授权。发信域名请移步阿里云教程:新建发信域名教程很详细,特别注意两点:二级域名:建议使用二级域名,如mail.www.ledo.cc,避免对顶级域名www.ledo.cc产生影响 验证时间:DNS 配置后的生效时间是 10 min,需要等待生效之后发信域名的验证才能通过发信地址请移步阿里云教程:新建发信地址特别注意一点:发信类型选择 触发邮件获取授权 —— accesskeys获取阿里云平台的 API 授权,这样插件才有权调用邮件推送的功能。这里只需要DirectMail 权限,所以只需要子账户的 accesskeys即可。进入控制台,鼠标移动至右上角,选择 accesskeys ▼ 根据提示选择开始使用子账户 AccessKey ▼ 然后会提示你开通RAM访问控制 开通集客创建用户 ▼ 输入短信验证码之后,记录生成的AccessKey ID和AccessKey Secret 授权出添加一下此两项权限 AliyunDirectMailFullAccess 管理邮件推送(DirectMail)的权限AliyunDirectMailReadOnlyAccess 只读访问邮件推送(DirectMail)的权限安装插件 LoveKKComment安装方式同常规插件安装。详见:Typecho评论邮件通知插件 - LoveKKCommentv1.0.5安装and设置通过git clone将插件下载至Typecho插件目录./usr/plugins中,目录名称更改为LoveKKComment后台激活插件选择发信接口:阿里云推送发件邮箱地址和邮件回复地址同 Alicloud DirectMail 中的设置填入对应的DM接入区域、Accesskey ID、Accesskey Secret ▼三种方式SMTP。 这种方式通过各种邮件服务商提供的 SMTP 接口发送邮件,优势是不需要设置发信域名,用自有的QQ、163 邮箱直接发信;不足我自己体验下来,评论提交速度会变慢,且有时无法触发发信。 Send Cloud。 邮件推送服务商,类 Alicloud DirectMail 服务。 Alicloud DirectMail。 其在 Typecho 后台的配置更为简单。且阿里云服务稳定, 相应速度快,基本上我评价之后就能收到邮件。在阿里云后台能够看到发信统计,分析等。推荐这种方式。小提示插件里面的发信内容能够自定义,模板文件在文件夹./usr/plugins/LoveKKComment/theme中,分别为:approved.html:邮件审核通过通知模板author.html:文章评论通知作者模板reply.html:评论回复通知被回复者模板在先前测试中,默认模板发送到QQ 邮箱会被认为广告垃圾邮件,建议对模板作一些修改,把类似自动、系统创建等词语替换,保证信件顺利到达。本文主要内容参考于网上的几位大佬,插件作者爱喝茶的康康,仅供用于学习和交流,若有侵权请邮件联系本站!i@t1i.cn
2019年03月08日
39,412 阅读
43 评论
0 点赞
2019-03-04
如何做到网页性能的极致优化?
√> 经常看到某些大神的博客网站加载速度极快,甚是羡慕,本喵一直在菜鸟的道路上步步前行,梦想我的博客也能优化到极致。下面讲解了网页优化的一些要点,文章内容主要转自汪微的博客,特拿到本站来以时刻提醒本鸟不断进步。对于网页的性能优化可分为三个部分:1、针对于前端代码层面的性能优化2、针对于浏览器和http方面的性能优化3、针对于web服务器和后端的性能优化一:前端代码层面的优化比较大提升性能的几个点:1、网页资源或图片使用cdn加速和压缩2、css放头部js放底部,js可以根据情况加上async或defer3、图片做懒加载4、做首屏渲染,首屏以下代码做异步加载5、做按需加载,在资源需要时再加载(比如路由资源,弹出层等)6、做骨架屏渲染,提升界面体验效果7、某些资源或数据使用浏览器缓存,sessionStorage和localStorage,或者浏览器数据库8、使用Service Worker缓存任何可控的资源,甚至可以做离线应用代码层面的优化:1、压缩js,jss,img等资源2、CSS Sprite技术等3、尽量减少html,css层级深度4、api资源请求尽量使用异步6、合并css,js,图片7、减少http请求,css嵌入网页,小图片使用base648、抽离公共代码,减少资源体积9、代码层面的优化有很多,不一一列举,只要做到极致,一定会有效果。10、......二:浏览器和http方面的优化1、针对于资源(css,js,img)尽量做强缓存,web服务器设置Cache-Control的max-age,设置合适的值(值越大缓存时间越长)2、针对于有可能会变的资源可以使用协商缓存,设置ETag或Last-Modified,也可以两者同时设置服务器会优先验证ETag的值,因为Last-Modified的值只精确到了秒级,并没有精确到毫秒级别,并不能100%的保证两次资源是否一致,而ETag不会有此问题。3、合并资源,减少http请求数量,在http1.1中,只能同时处理一定量的http请求,请求过多的资源会先处于等待状态4、使用浏览器的缓存功能,例如sesson和local,有些资源和数据第二次以后可以完全不必要去后端获取5、使用新的api,Service Worker开辟新的线程去做耗时的工作或之后需要的资源。甚至可以做离线应用三:web服务器和后端的优化web服务器和后端是前端开发者们基本接触不到的点1、对于html,css,js等资源我们可以开启资源压缩,常用的为gzip,开启gzip会对服务器cpu有一定的消耗,对于流量不大的网站没什么影响2、对于常规的网站我们可以开启Connection: keep-alive,这样http通道就会高效的被利用,请求也会加快3、对于高并发的网站尽量不要设置Connection参数(即keepalive_timeout的值),或者值设置的越短越好,服务器处理请求的数量是一定的,如果每次请求占用通道的时间越长,同时处理的请求就会越少。4、搭建自己的cdn服务器,让资源返回速度更快5、最大化的利用服务器性能:开启多线程,设置最大并发链接数、最大链接数、最大文件访问数、tcp等待状态等还可以从提升硬件方面考虑性能问题1、提升服务器性能,根据项目情况选择相应服务器,计算密集,I/O密集 ,进程密集等。2、提升网络带宽,增加内存、硬盘、cpu等3、对于高访问量的资源或者api做负载均衡配置4、拆分服务器,例如后台服务器,资源文件服务器,数据库服务器,nginx入口服务器等,特定的资源去特定的服务器获取5、对于高并发的网站需要做集群处理,后台服务器集群,数据库集群,redis集群等6、使用redis缓存数据资源,redis相对于关系数据库能很大的提升获取资源速度针对于后端代码的优化就交给后端人员。本文主要内容转载自E语云博客,原创汪微仅供用于学习和交流,若有侵权请邮件联系本站!i@t1i.cn
2019年03月04日
29,682 阅读
33 评论
0 点赞