首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该以编程方式内联所有CSS文件以优化页面加载速度吗?

我应该以编程方式内联所有CSS文件以优化页面加载速度吗?
EN

Stack Overflow用户
提问于 2015-09-28 09:49:23
回答 1查看 5.3K关注 0票数 53

谷歌PageSpeed经常向optimize CSS delivery建议。我突然想到,像这样内联所有的CSS会减少网络往返:

代码语言:javascript
复制
<style type="text/css">

    @{ 
        var bootstrap = File.ReadAllText(Server.MapPath("bootstrap.min.css"));
        var bootstrapTheme = File.ReadAllText(Server.MapPath("theme.min.css"));
        var fontAwesome = File.ReadAllText(Server.MapPath("font-awesome.min.css"));
        var bigfont = File.ReadAllText(Server.MapPath("bigfont.min.css"));
        var bigfontPrint = File.ReadAllText(Server.MapPath("bigfont-print.min.css"));
    }

    @Html.Raw(bootstrap)
    @Html.Raw(bootstrapTheme)
    @Html.Raw(fontAwesome)
    @Html.Raw(bigfont)
    @Html.Raw(bigfontPrint)

</style>

对于页面加载缓慢的问题,这似乎是一个合理的解决方案,并将我的PageSpeed分数从88分提高到95分。

暂时把代码风格放在一边,有什么技术原因,如果有的话,为什么不以这种方式内联所有的CSS?

EN

回答 1

Stack Overflow用户

发布于 2015-09-28 18:42:08

这太长了,无法放入评论中。在我工作的地方,我们使用CSS指令(特别是style-src)来明确禁止使用内联Content Security Policy。在这种情况下不使用内联CSS的基本原理是将动态创建的页面的CSS注入风险降至最低。OWASP有关于这个主题的详细信息,包括利用示例:https://www.owasp.org/index.php/Testing_for_CSS_Injection_(OTG-CLIENT-005)。如果只向浏览器提供静态内容,应该没有风险。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32814706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档