【发布时间】: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