什么是cdn?
cdn的全称是content delivery network,即内容分发网络。cdn是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。cdn的关键技术主要有内容存储和分发技术。——百度百科文章源自玩技e族-https://www.playezu.com/447031.html
前端静态化,这无可厚非,但问题在于wordpress的后台。wordpress后台一般开放于权限更高的用户,当然有些wordpress网站后台也会直接对普通用户开放。wordpress后台与前台的不同在于后台是动态的。由于wordpress后台可以对整个网站进行调整,因此后台作为动态页面亦无可厚非。但问题就在于,即便使用了全站cdn,在访问wordpress后台时,为了保证动态访问,所有的js、css等小文件都是根据每次访问而请求一次的。这无疑加剧了网站服务器的开销,比如随便的一个wordpress网站后台,居然有上百个小文件请求:文章源自玩技e族-https://www.playezu.com/447031.html
那么有没有办法把一些小文件不再从源服务器请求?当然是有的,但这里要考虑一些问题:文章源自玩技e族-https://www.playezu.com/447031.html
- 从cdn请求后,小文件能不能随着wordpress的版本更新而即时更新?
- 这些小文件对wordpress后台的运行至关重要,cdn是否有被投毒的风险?
jsdelivr加速规则
load any github release, commit, or branch:文章源自玩技e族-https://www.playezu.com/447031.html
https://cdn.jsdelivr.net/gh/user/repo@version/file
load any plugin from the wordpress.org plugins svn repo:文章源自玩技e族-https://www.playezu.com/447031.html
https://cdn.jsdelivr.net/wp/plugins/project/tags/version/file
上述规则不仅可以加速github内容,还能加速wordpress的插件内容。现在有了基础,就要提到wp-china-yes插件的一个后台加速功能了。文章源自玩技e族-https://www.playezu.com/447031.html
加速后台代码
以下是来自插件wp-china-yes的后台加速代码:文章源自玩技e族-https://www.playezu.com/447031.html
add_action('init', function () {
ob_start(function ($buffer) {
return preg_replace('~'.home_url('/').'(wp-admin|wp-includes)/(css|js)/~', sprintf('https://a2.wp-china-yes.net/wordpress@%s/$1/$2/', $globals['wp_version']), $buffer);
});
});
利用上述的jsdelivr的加速方式后,就是如下的加速代码:文章源自玩技e族-https://www.playezu.com/447031.html
add_action('init', function () {
ob_start(function ($buffer) {
$buffer = preg_replace('~'.home_url('/').'(wp-admin|wp-includes)/(css|js)/~', sprintf('//cdn.jsdelivr.net/gh/wordpress/wordpress@%s/$1/$2/', $globals['wp_version']), $buffer);
return $buffer;
});
});
选择以上的两段代码其中之一直接放入主题/插件中即可立即生效。(注意:请勿对测试版加速!)后台访问速度直接翻翻!文章源自玩技e族-https://www.playezu.com/447031.html
免责声明:本文内容来自用户上传并发布或网络新闻客户端自媒体,玩技博客仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系删除。
评论