V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
Pastsong
V2EX  ›  JavaScript

如何用 Javascript 获取到客户端当前连接的 HTTP 版本?

  •  1
     
  •   Pastsong · 2015-10-29 16:17:35 +08:00 · 2366 次点击
    这是一个创建于 3113 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自己用 Nginx 1.9.6 搭了一个 HTTP/2 的站点,想通过 JS 获取到浏览器当前的 HTTP 协议版本

    var req = new XMLHttpRequest();
    req.open('GET', document.location, false);
    req.send(null);
    var headers = req.getAllResponseHeaders();
    alert(headers);
    

    文档里看到上面的方法可以获取到 header ,但是 header 里并没有 http 的版本号

    2 条回复    2015-10-29 16:48:15 +08:00
    Pastsong
        1
    Pastsong  
    OP
       2015-10-29 16:34:08 +08:00
    想到一种方法,用 nginx 所带的 ngx_http_v2_module 引入的 $http2 变量,设置一个额外的 header ,然后用上述 JS 代码获取到这个 header 的值来确定客户端是否使用 http2 版本。

    http://nginx.org/en/docs/http/ngx_http_v2_module.html
    Pastsong
        2
    Pastsong  
    OP
       2015-10-29 16:48:15 +08:00


    应该是可行的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1516 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:53 · PVG 07:53 · LAX 16:53 · JFK 19:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.