首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

HTTP/2 下是否不需要再合并 CSS 文件了?

  •  
  •   13m · 41 天前 · 1625 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在开发环境有若干个 .css 小文件,部署至生产服时会合并成一个以优化前端速度

    在 HTTP/2 环境下:
    1、这么做是不是就没必要了?
    2、载入 10 个 10KB 样式表和一个 100KB 样式表理论上前端速度是一样的吗?
    13 回复  |  直到 2019-03-16 16:37:42 +08:00
        1
    gstqc   41 天前 via Android   ♥ 1
    1. 同一个域名和端口,没必要。另外需要客户端支持。目前客户端支持率应该在 80%-90%之间了吧。
    2. 不懂前端,理论上应该没什么区别吧,会有依赖关系吗?
        2
    514146235   41 天前
    还是会有差异的。http2 只不过是复用了连接而已。如果你不合并,还是要读取若干小文件,也是有开销的。只不过可能性能差异不明显。能合并还是合并吧。
        3
    otakustay   41 天前   ♥ 4
    你算一下合并和不合并的 gzip 压缩率,可能会有些发现
        4
    liujj   41 天前 via iPhone
    @otakustay 这个角度真相了
        5
    isCyan   41 天前 via Android
    @otakustay 真相,值得研究
        6
    t123yh   40 天前 via Android
    @otakustay 但是如果用 brotli 的话会好一点
        7
    gstqc   40 天前 via Android
    要优化到这种程度的话:
    1. 上 CDN,源站给最高压缩率。CDN 会缓存压缩后的版本,还省掉压缩耗时。
    2. 使用 gzip_static 和 br_static,发布时最高压缩率压缩到磁盘。1) 对于 gzip 这种,压缩文件和流式压缩的压缩率差不少的,br 这种预置字典的可能差别不大。2) 使用 gz_static br_static 模块,sendfile 功能是有效的,零拷贝,性能比即时压缩好很多。
    3. 磁盘性能没关系,Linux 有 cache,内存足够都是从 cache 读的。



    最后,你就会发现根本就是然并卵。
        8
    nikoo   40 天前
    @otakustay 请教 gzip 压缩 10 个 10k css 和一个 100k css 压缩率有啥区别?(本以为文本内容相同的话压缩率是一样的)
        9
    gstqc   40 天前 via Android
    4. 还有 TLS v1.3 0-RTT 少不了吧
    5. HTTP2 Server Push 也必须给上
        10
    Chingim   40 天前 via Android
    看文件内容是不是经常变了。粒度小的话缓存效果好,但也如楼上所说,压缩率可能会有牺牲
        11
    otakustay   40 天前   ♥ 1
    @nikoo
    1. gzip 用字典压缩,内容更多通常字典能更高效。事实上 10K 和 100K 的文本内容有可能相同吗……
    2. 字典本身占空间
        12
    mscststs   40 天前
    前几天刚被面试过类似的问题。私以为 1*100kb 能比 10*10kb 节省几个数据报文…… emmm,当然,楼上也提到了 gzip 的压缩率的问题。
        13
    ladypxy   40 天前 via iPhone   ♥ 1
    根据 nginx 和 Cloudflare 的建议,http2 下不要合并 css,合并只会降低速度。因为不合并在 http2 下是多个并发请求,合并后变成单个只能单请求
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3727 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 31ms · UTC 04:05 · PVG 12:05 · LAX 21:05 · JFK 00:05
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1