博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
百度移动端首页秒开学习
阅读量:6928 次
发布时间:2019-06-27

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

百度首页秒开

我们打开手机端看百度首页,搜索框,新闻,图片,tab标签... 秒开... 那他是怎么做到呢?

  • 静态文件放置

百度首页是没有外链的,js,css代码在上线之前都编译到了html里

  • 缓存

对于一些页面不变的静态文件,例如html/css/javascript如果有些不变的,就会把它存到本地,例如localStorage,可以通过对标签添加一些属性data-local='aaa',来标识内容,等到,再次加载的时候,就从localStorage中找到对应的内容,进行渲染

存:取:
  • 外链
    如果都存本地的话,那手机内存会暴,所以有些静态文件又通过一个借口返回,通过外链一些静态资源和本地存的资源减少了页面加载的时间,但是问题又来了,如果请求的资源不同于本地存的,那岂不又炸了...
    所以,会给每个文件以自己的内容生成的版本号为戳,标识自己的唯一性,每次服务端返回页面时,会把当前在服务器上的所有静态文件版本号,返给前端,首屏加载完成后,会用这些版本号与local中进行一一比较,如果发现不一致,就发起一个合并请求,这样可以保证每个文件的缓存与版本迭代,同时,避免了过多的外链。
  • 缓存Dom
    不变的数据,例如dom就缓存,render树基本不发生变化就进行缓存,对于可变的就不能缓存
  • 使用iconfont
    如果有很多icon图标我们最好使用iconfont,节省一些资源
  • 卡片的异步加载与缓存
    首屏显示几个卡片,等到下拉的时候在加载更多的卡片
  • 不在首屏的就要异步化
    当然,这种是我们经常用到的,首屏人人都会看到 但是滑到底部就人少了,所以这种情况我们就按需加载
  • 少量静态文件的域名
    例如一些iconfont,图片就放在别的域名下,虽然节省了DNS的解析,但请求图片的时候会携带cookie所以我们要减少cookie,来提升性能
  • 极小的图片base64化
    小的图片我们base64化存到本地localStorage中,又可以节省网络请求

原文

转载地址:http://uiecl.baihongyu.com/

你可能感兴趣的文章
ETL过程
查看>>
jquery的性能优化
查看>>
谈谈持续集成,持续交付,持续部署之间的区别
查看>>
UICollectionView 头视图、 尾视图以及Cell自定制
查看>>
Centos中yum方式安装java
查看>>
for loop
查看>>
Linux常用命令详解(一) -- 处理目录常用命令
查看>>
指针变量的星号是靠近变量名还是靠近类型
查看>>
在线程中执行代码
查看>>
POJ 2299 Ultra-QuickSort【树状数组+离散化】
查看>>
神经网络损失函数公式解读
查看>>
Android Studio插件:PlantUML
查看>>
Nginx开发从入门到精通
查看>>
Jenkins配置手动发版
查看>>
横向图片轮播(如果一个项目里面只需用这一次,可以用这个插件,多次则不建议使用)...
查看>>
计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么?
查看>>
python 基础笔记十九 - 面向对象
查看>>
Linux安全之——Ubuntu的iptable命令使用
查看>>
entOS7查看开放端口命令
查看>>
操作系统位数
查看>>