【问题标题】:HTTP Header StylesheetsHTTP 标头样式表
【发布时间】:2011-12-26 21:06:27
【问题描述】:

据此:http://www.w3.org/TR/html4/present/styles.html#h-14.6 我可以直接在 http 标头中链接样式表。 在 php 中它看起来像这样:

header('Link: <http://www.acme.com/corporate.css>; REL=stylesheet');

这样做有什么缺点吗?

【问题讨论】:

    标签: php http stylesheet


    【解决方案1】:

    主要缺点是它只适用于 Firefox 和 Opera。见http://greenbytes.de/tech/tc/httplink/

    【讨论】:

    【解决方案2】:

    这样做有什么缺点吗?

    我想调试样式问题会变得有点困难。您无法直接从页面的 html 源代码中看到包含哪些外部样式。

    【讨论】:

    • 我仍然看到他们在 firebug 中被请求
    • 我没有拒绝,是吗?当您使用此标头时,您只需在处理网站样式时再检查一件事。我不喜欢这个,因为标题是用来描述内容和交付的,而不是干扰它。如果浏览器不支持标头,您的内容看起来会有所不同。
    • 我没有建议你这样做。如果您的浏览器显然不支持某些东西,它看起来会有所不同,我是说从实际的角度来看,首先发送标头,所以如果您包含所有这样的样式,它将确保样式表在凌乱的现实生活中的脚本之前被加载环境。这只是随机的想法,你不需要认真对待它,有趣的是看到可以包含这样的样式表,是否更容易调试则取决于用户喜欢的调试风格。
    • 你是对的,但是它们在内容之前被发送的事实并不能保证它们在包含在 html 中的样式表之前被应用到 html。
    • hmm 很有趣,太糟糕了,它需要我检查它们的加载顺序。 :)
    【解决方案3】:

    据我所知,HTTP 1.1 不支持此功能:

    本节仅适用于符合以下版本的用户代理 定义 Link 标头字段的 HTTP。 请注意,HTTP 1.1 定义为 [RFC2616] 不包含 Link 头域(参考章节 19.6.3)。

    http://www.w3.org/TR/html4/present/styles.html#h-14.6

    【讨论】:

    • 似乎适用于所有浏览器,但我想这是不使用它的足够理由。
    • Treffynon:RFC 2616 是古老的 (1999)。请参阅 RFC 5988。特别是,HTTP 规范 /not/ 包含完整的标头字段列表,这就是 IANA 注册表的用途:iana.org/assignments/message-headers/perm-headers.html
    • 有趣的发展。 @Julian Reschke 为什么不发布答案?
    • @JulianReschke 我不知道新提议的标准,只是遵循 W3 的指导。
    • Treffynnon - W3C 在这方面没有发言权。 HTTP 规范归 IETF 所有(是的,到处都有合作,包括作者,但这不影响规范状态)
    【解决方案4】:

    请注意,[RFC2616] 定义的 HTTP 1.1 不包含 Link 标头字段

    【讨论】:

    • RFC 2616 是古老的 (1999)。请参阅 RFC 5988。特别是,HTTP 规范 /not/ 包含头字段的完整列表,这就是 IANA 注册表的用途:iana.org/assignments/message-headers/perm-headers.html
    猜你喜欢
    • 2011-08-11
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 2012-07-11
    相关资源
    最近更新 更多