看了下 https://tieba.baidu.com/index.html 的源码,里面一个 css 的 href 属性值超奇怪。
首先是两个 ??
, 其次是后面这一大串逗号分割的 css 文件名。这得多复杂的场景才能构建出这样的链接……
真心搞不懂 ):
https://tb1.bdstatic.com/??/tb/_/card_31c1d0d.css,/tb/_/js_pager_5be1e39.css,/tb/_/login_dialog_f4ae717.css,/tb/_/user_head_35f26e0.css,/tb/_/icons_a2a62be.css,/tb/_/wallet_dialog_b166468.css,/tb/_/flash_lcs_d41d8cd.css,/tb/_/new_message_system_9425a2a.css,/tb/_/base_user_data_aee5fd4.css,/tb/_/cashier_dialog_2230300.css,/tb/_/qianbao_cashier_dialog_8999f13.css,/tb/_/base_dialog_user_bar_008369c.css,/tb/_/qianbao_purchase_member_d2a879f.css,/tb/_/pay_member_d41d8cd.css,/tb/_/http_transform_d41d8cd.css,/tb/_/userbar_f4eb8c0.css,/tb/_/poptip_f0fdc70.css,/tb/_/feed_inject_d41d8cd.css,/tb/_/new_2_index_9b0a69e.css,/tb/_/pad_overlay_ea29d54.css,/tb/_/suggestion_2ee80a5.css,/tb/_/search_bright_62ee7ff.css,/tb/_/top_banner_13dc075.css,/tb/_/couplet_78341bd.css,/tb/_/slide_show_aad29db.css,/tb/_/carousel_area_v3_614f6fa.css,/tb/_/interest_num_v2_fa3eaa9.css,/tb/_/shake_bear_f28994d.css,/tb/_/payment_dialog_title_c0597a0.css,/tb/_/qianbao_purchase_tdou_4b31f54.css
1
qiayue 2018-05-27 23:06:37 +08:00
多个 CSS 文件合并成一个请求,淘宝也大量使用这种形式,不过 URL 不一样
|
4
nine99 2018-05-28 10:15:36 +08:00
并不是每次都拼的,有 cache 的
|
5
Kokororin 2018-05-28 10:23:46 +08:00 1
Tengine concat 模块
|
8
mikac OP @Kokororin 正解,看来是通过 Tengine concat 模块来减少 http 请求数量,从而加快页面载入速度。
不过后台应该可以把这些文件合成一个(比如在编译时期合成),似乎也能达到相同的效果。 不知道放在 Nginx 层会比这种直接合成有什么优势 |