博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站性能优化
阅读量:5848 次
发布时间:2019-06-19

本文共 1222 字,大约阅读时间需要 4 分钟。

分享几个资源

原理

渐进加载

关键渲染路径(Critical Rendering Path)

the set of steps browsers must take to convert HTML, CSS and JavaScript into living, breathing websites.

几个概念

其他

  • console.time的使用 的使用

基本思路

  • 减少请求数
  • 减少资源体积
  • 提升网络传输速率
  1. 浏览器缓存 浏览器默认的缓存是放在内存内的,但我们知道,内存里的缓存会因为进程的结束或者说浏览器的关闭而被清除,而存在硬盘里的缓存才能够被长期保留下去。很多时候,我们在network面板中各请求的size项里,会看到两种不同的状态:from memory cache 和 from disk cache,前者指缓存来自内存,后者指缓存来自硬盘。而控制缓存存放位置的,不是别人,就是我们在服务器上设置的Etag字段。在浏览器接收到服务器响应后,会检测响应头部(Header),如果有Etag字段,那么浏览器就会将本次缓存写入硬盘中。

之所以拉取缓存会出现200、304两种不同的状态码,取决于浏览器是否有向服务器发起验证请求。 只有向服务器发起验证请求并确认缓存未被更新,才会返回304状态码。

webpack打包

  • js压缩
  • html压缩
  • css压缩
  • gzip
etag on;   //开启etag验证expires 7d;    //设置缓存过期时间为7天复制代码

【!!!特别注意!!!】在我们配置缓存时一定要切记,浏览器在处理用户请求时,如果命中强缓存,浏览器会直接拉取本地缓存,不会与服务器发生任何通信,也就是说,如果我们在服务器端更新了文件,并不会被浏览器得知,就无法替换失效的缓存。所以我们在构建阶段,需要为我们的静态资源添加md5 hash后缀,避免资源更新而引起的前后端文件无法同步的问题。 2. 压缩 PS:这里有一个技巧,在我们书写HTML元素的src 或 href 属性时,可以省略协议部分,这样也能简单起到节省资源的目的。

gzip on;gzip_types text/plain application/javascriptapplication/x-javascripttext/css application/xml text/javascriptapplication/x-httpd-php application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;复制代码

图片处理

  • 不要缩放图片
  • sprite
  • iconfont
  • webp

书籍推荐

  • 大型网站性能监测、分析与优化

vue、nuxt项目优化

转载于:https://juejin.im/post/5cf8a2486fb9a07ebd48c6b3

你可能感兴趣的文章
Slony-I 文摘
查看>>
2.5. SciTE
查看>>
Docker网络解决方案-Weave部署记录
查看>>
HttpPost+json请求---服务器中文乱码及其他
查看>>
[Python]Python Class 中的 函数定义中的 self
查看>>
手把手教你生成自己的图片压缩的so库
查看>>
linux 基本命令整理
查看>>
ACCELEROMETER
查看>>
基于JMF RTP的音视频传输
查看>>
Html Agility Pack (HAP) 应用入门
查看>>
[LeetCode] Subsets 子集合
查看>>
The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine-Excel2003
查看>>
PermGen space错误解决方法
查看>>
转贴一段偶觉得说得非常好的话
查看>>
petri网
查看>>
关于SQLSERVER数据库连接池
查看>>
php 使用curl发起https请求
查看>>
<context-param>与<init-param>的区别与作用及获取方法
查看>>
《Java 2 图形设计卷Ⅱ- SWING》第12章 轻量容器
查看>>
sklearn学习笔记之简单线性回归
查看>>