用于特定IE模式仿真的Apache vs Meta标签?

时间:2016-04-22 19:52:50

标签: apache internet-explorer

我看到两种流行的选项迫使IE在特定模式下打开HTML:

1)<meta http-equiv="X-UA-Compatible" content="IE=edge" />

2)在httpd.conf

中将其指定为标题

这两种选择有哪些优势?有没有推荐的方法来做到这一点?

我见过的大多数应用程序都使用Apache作为负载均衡器,它通常处理对www.url.com的请求并将其发送到可能的应用程序服务器之一。无论如何直接访问IP都不会获得仿真的好处,因为没有设置Headers。 Meta标签比Apache更能解决问题吗?那么设置特定仿真或Apache方法的更好方法是不是还有其他好处呢?

2 个答案:

答案 0 :(得分:1)

当单个页面包含x-ua兼容标头时,服务器提供it overrides headers。有时这很有用(用于服务没有DOCTYPE指令的旧网站)和不适用的时间。通常情况下,您知道自己要解决的问题属于哪种情况。

对于大多数情况,建议的做法是use an HTML5 doctype<!DOCTYPE html>),并且仅对依赖旧版标记的旧版网站使用x-ua兼容。理想情况下,这将是temporary solution仅在网站的新版本开发之前使用,以便它不再依赖于遗留行为。

答案 1 :(得分:1)

不诚实。

不再支持X-UA兼容(从IE11及更高版本开始)和Microsoft recommends not using it and instead using the HTML5 doc type

这么说,为了回答你的问题(如果对这样的其他标题感兴趣),这取决于。两者都有好处。

设置HTTP标头的好处

  • 可以在服务器级别设置一次,并且不需要记住包含在每个页面上。
  • 如果您无法控制所有网页(例如,许多开发者/贡献者将内容上传到网站),则非常有用。
  • HTTP标头通常优先(但不兼容X-UA)。

在页面级设置的好处:

  • 不需要访问服务器(例如,如果页面托管在您无法访问服务器配置或通过CDN提供服务的服务器上)。
  • 当我们通过CDN或其他缓存解决方案提供网页时,将复制。
  • 可以由页面作者设置(例如,如果页面需要特定标题,作者知道这一点)。
  • 如果每页需要不同的设置,而不是在Apache中加载所有配置,那么每页覆盖通常会更容易。