【问题标题】:How to tell web server that some HTTP client (which is not known officially) supports HTML5?如何告诉 Web 服务器某些 HTTP 客户端(官方不知道)支持 HTML5?
【发布时间】:2015-03-18 08:16:57
【问题描述】:

如何告诉 Web 服务器某些 HTTP 客户端(官方不知道)支持 HTML5?据我所知,HTTP 服务器会检查浏览器和版本。但是,如果我想发送带有标头 "User-Agent: SomeUnknownAgent" 的 HTTP 请求 - 我必须如何通知远程 HTTP 服务器这个“SomeUnknownAgent”支持 HTML5?以下是"User-Agent" 值示例:

Chrome 6.0.472.63: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3
Firefox 3.6.10: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Firefox 4.0 Beta 6: Mozilla/5.0 (Windows NT 5.1; rv:2.0b6) Gecko/20100101 Firefox/4.0b6
Internet Explorer 8.0.6001.18702: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Opera 10.63: Opera/9.80 (Windows NT 5.1; U; en) Presto/2.6.30 Version/10.63
Safari 5.0.2: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

我发现了这些共同点:Windows; U; Windows NT 5.1;。也许包含就足够了?

【问题讨论】:

  • 你为什么要这样做呢? HTML5 HTML 语法明确地向后兼容旧浏览器。任何其他新的 HTML5 功能都需要从客户端开始检测,而不是服务器端。
  • HTTP 服务器相应地响应请求。如果它检测到浏览器版本已过时,它可能不包含某些功能。这在一些 Web 服务器上进行了测试。
  • 那将是一个服务器错误。不要依赖用户代理来检查浏览器功能。
  • 我同意。但我是作为客户来这里的,所以"User-Agent: SomeUnknownAgent 1.0.0.0: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Gecko/20100101" 比只有"User-Agent: SomeUnknownAgent 1.0.0.0" 要好。以防万一。

标签: html http httpclient


【解决方案1】:

我找到了答案。阅读here 有很大帮助。因此,例如,答案可能是:

"User-Agent: SomeUnknownAgent 1.0.0.0: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Gecko/20100101"

现在 HTTP 服务器知道浏览器支持 HTML5。当然,如果是依赖"User-Agent"字段的话。

【讨论】:

    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2017-12-15
    • 2023-03-29
    • 2016-10-05
    • 1970-01-01
    相关资源
    最近更新 更多