aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
阅读:1369回复:23

本坛的 brotli 支持?

楼主#
更多 发布于:2016-03-17 21:52
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2017-04-30
  • 发帖数16559
  • 经验3218枚
  • 威望5点
  • 贡献值3098点
  • 好评度645点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2016-03-17 22:46
论坛程序不一样吧,老实说phpwind基本半死,估计是没法支持brotli。@fiag
Firefox More than meets your experience
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
2楼#
发布于:2016-03-17 23:30
fang5566:论坛程序不一样吧,老实说phpwind基本半死,估计是没法支持brotli。@fiag回到原帖
这要看 phpwind 是怎么处理输出编码的了

如果 phpwind 本身未处理
直接交给 web server,本坛是 nginx
那么给 nginx 加上相应模块就可以支持

如果 phpwind 本身直接输出编码后的内容
那就需要找 brotli 的 php 扩展
然后对 phpwind 源码做 hack
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
3楼#
发布于:2016-03-17 23:33
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2017-04-16
  • 发帖数4626
  • 经验605枚
  • 威望0点
  • 贡献值330点
  • 好评度42点
4楼#
发布于:2016-03-18 10:12
从技术上讲,跟 php,phpwind 可以无关。在nginx 上加就行了。

查了 google 有提供 nginx 的 brotli 模块。

不过对我们论坛,每个页面 40.51kb 已经压缩到 9.37kb 了。
就是开了 brotli 缩减的也不多。响应时间上也不会有数量级的改善。所以期望可以放低点
兼容性上看,主要是新版浏览器,还是需要在nginx上做浏览器适配。

看ticket上还没有正式整合到 nginx 的源码包发布,需要一个修改版的 nginx.ebuild
建议等到nginx正式发布更好,稳定性会有保证一些。
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
5楼#
发布于:2016-03-18 15:55
http://caniuse.com/brotli
目前就 firefox 主动开启
blink 及壳需要手动开启一个 flag 的

google 的模块已经处理了对 Accept-Encoding 头的检测
当且仅当包含 br 时才做压缩

总之
坐等
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2017-04-16
  • 发帖数4626
  • 经验605枚
  • 威望0点
  • 贡献值330点
  • 好评度42点
6楼#
发布于:2016-03-27 17:20
搞定了 ebuild
https://github.com/fiag/nginx-overlay
试试看开启了会怎么样
css, js 已经 br 了。但 html 还是 gzip, 这个怎么解?
brotli on;
brotli_static on;
brotli_types application/xml text/css text/x-component
        application/x-javascript application/javascript
        text/javascript text/x-js text/richtext image/svg+xml
        text/plain text/xsd text/xsl text/xml image/x-icon;
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
7楼#
发布于:2016-03-27 22:14
> curl https://www.firefox.net.cn/ -H "Accept-Encoding: br" -D - -s -o /dev/null
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 27 Mar 2016 14:11:48 GMT
Content-Type: text/html;charset=utf-8
略
Content-Encoding: br
brotli_types 加个 text/html ?
https://github.com/google/ngx_brotli/
Enables on-the-fly compression of responses for the specified MIME types in addition to text/html. The special value * matches any MIME type. Responses with the text/html MIME type are always compressed.
看来是 phpwind 主动编码的?

服务器上放个静态的 html 页面测试下就知道了……
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
8楼#
发布于:2016-03-27 22:39
> curl https://www.firefox.net.cn/themes/forum/default/template/bbs/thread_run.htm -H "Accept-Encoding: gzip, deflate, br" -D - -s -o /dev/null
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 27 Mar 2016 14:33:55 GMT
Content-Type: text/html
略
Content-Encoding: br
看来还真是 phpwind 主动做了编码
后台有设置可以取消么?

https://www.google.com/search?q=gzip+site%3Aphpwind.net
可以确定是 phpwind 的锅了
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2017-04-16
  • 发帖数4626
  • 经验605枚
  • 威望0点
  • 贡献值330点
  • 好评度42点
9楼#
发布于:2016-03-28 14:15
aaaa007cn:> curl https://www.firefox.net.cn/themes/forum/default/template/bbs/thread_run.htm -H "Accept-Encoding: gzip, deflate...回到原帖
搞定

管理后台没找到,只有修改代码了。

http://www.phpwind.net/read/2849167

conf/application/default.php

'web-apps' => array(
            'default' => array(
                    'charset' => 'utf-8',
                    'error-dir' => 'TPL:common.windweb',
                    'compress' => false
            )
    )
这参数藏的好深。
aaaa007cn
千年狐狸
千年狐狸
  • UID23968
  • 注册日期2008-05-03
  • 最后登录2017-04-29
  • 发帖数1644
  • 经验923枚
  • 威望1点
  • 贡献值204点
  • 好评度113点
10楼#
发布于:2016-03-29 23:54
fiag:搞定

管理后台没找到,只有修改代码了。

http://www.phpwind.net/read/2849167

conf/application/default.php

'web-apps' => array(...
回到原帖


以论坛首页为例,包括所有 js 脚本、样式表
gzip 编码后共 79,058 字节
brotli 编码后共 74,141 字节
节省 4.8 KB
其中首页本身为 php 动态生成的
gzip 4,762 字节 vs brotli 4,203 字节

参考 Nick Desaulniers 的数据
或许只对 pre-compressed 的静态内容(不经常改动的 js 脚本、样式表)开启 brotli 比较好?
毕竟 on the fly 编码还是挺吃 cpu 的

不过对于页面比较大的
比如 https://www.firefox.net.cn/read-43130
页面本身 137,619 字节
gzip 30,238 字节
brotili 25,290 字节
效果很明显
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2017-04-16
  • 发帖数4626
  • 经验605枚
  • 威望0点
  • 贡献值330点
  • 好评度42点
11楼#
发布于:2016-03-30 14:26
aaaa007cn:以论坛首页为例,包括所有 js 脚本、样式表
gzip 编码后共 79,058 字节
brotli 编码后共 74,141 字节
节省 4.8 KB
其中首页本身为 php 动态生成的
gzip 4,762 字节 vs brotl...
回到原帖
如果从流量上看省掉的字节,我们一个小网站,VPS 流量花不完,价值不大。
但是节省了大家的时间,价值巨大。
skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-04-28
  • 发帖数450
  • 经验564枚
  • 威望3点
  • 贡献值604点
  • 好评度108点
  • 社区居民
  • 忠实会员
12楼#
发布于:2016-04-23 15:36
小事情,就不开新帖询问了,@fang5566@fiag

论坛现在是不是不能换头像了啊?显示头像上传成功,但查看个人资料内的头像,根本没有换呢。。。firefox,chrome都测试了,无法更换。

@fiag 太谦虚了,可并非小网站,这是最棒的火狐社区,其他的火狐社区我根本看不上眼,更别提去混啦。
fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2017-04-16
  • 发帖数4626
  • 经验605枚
  • 威望0点
  • 贡献值330点
  • 好评度42点
13楼#
发布于:2016-04-25 13:20
确实上传不了。。。phpwind的bug,我抽空修复下。
谢谢反馈。
skytalk
狐狸大王
狐狸大王
  • UID32994
  • 注册日期2010-06-06
  • 最后登录2017-04-28
  • 发帖数450
  • 经验564枚
  • 威望3点
  • 贡献值604点
  • 好评度108点
  • 社区居民
  • 忠实会员
14楼#
发布于:2016-04-30 21:04
fiag:确实上传不了。。。phpwind的bug,我抽空修复下。
谢谢反馈。
回到原帖
完了,一杆子支到3000年了
我要换头像,快去给我修改。。。要不ps的头像白做了
上一页
游客

返回顶部