美文网首页程序员
Yaho-优化建议(一)

Yaho-优化建议(一)

作者: SPEIKE | 来源:发表于2018-07-13 15:08 被阅读4次

减少HTTP请求

  • 当打开网页的时候, 一切内容都属于HTTP请求
  • 图片, js, css 合并

使用CDN(内容分发网络)

  • 再离你最近的地方, 放置一台性能好, 链接顺畅的副本服务器, 让你能够以最近的距离, 最快的速度获取内容

添加expire/cache-control头

  • expire头的内容是一个时间值, 值就是资源在本地的过期时间, 存在本地缓存阶段, 找到一个对应的资源值, 当前时间还没超过资源的过期时间, 就直接使用这一个资源, 不会发送http请求
  • cache-control 是http协议中常用的头部之一, 负责控制页面的缓存机制, 如果该头部指示缓存, 缓存的内容也会存在本地, 操作流程和expire相似, 但也有不同的地方, cache-control有跟多的选项, 而且也有更多的处理方式

启用GZip压缩

  • 思想: 把文件放在服务器Gzip压缩

将css放在最上边

  • IE: 放在底部, 会禁止页面显示, 网速较低的情况下会显示空白
  • FF: 页面会重绘, 出现闪烁

将script放在页面最下面

  • js 会阻止页面的加载

避免在css从使用expressions

将js 和 css 放到外部文件中

  1. 提取出来:
    • 提高js和css的复用性
    • 减小页面体积
    • 提高可维护性
    • 增加了请求数量
  2. 写在页面内
    • 减少页面请求
    • 提升页面渲染速度
  3. 写在页面内情况
    • 只应用于一个页面
    • 不经常被访问
    • 脚本和样式很少

减少DNS查询

  • 域名 ==> IP ==> 服务(20ms)
  • IE: 20min
  • Google: 60s
  • FF: 60s
  • 时间长: 减少DNS重复查找
  • 时间段: 及时检测变化, 保证正确性

压缩JavaScript和css

避免重定向

  • 原始请求被转移到了其他请求
  • 301: 用户请求的页面被移动到另外的位置,
    永久重定向
  • 302:用户请求的页面被找到了,但不在原始位置,
    临时重定向
  • 会在header中 返回新地址, body是空白

移除重复脚本

配置实体标签(ETag)

  • 在请求头, 唯一资源, 唯一标识, 唯一地址, 如果一致, 返回304, 使用本地

使用Ajax缓存

  • POST: 每次都会被执行, 不会被缓存
  • GET: 同一地址不会重复执行, 可以被缓存
  • 两个区别:
  • get可以被看到
  • 服务器端获取: Request.QueryString, post是Request.Form
  • get只有2kb
  • get地址后的参数会被忽略

优化建议使用工具 ySlow

相关文章

网友评论

    本文标题:Yaho-优化建议(一)

    本文链接:https://www.haomeiwen.com/subject/wmajpftx.html