我刚刚阅读了一篇关于http1和http2之间差异的文章,但我的主要问题是当它说http2 是二进制协议而http1 是文本协议时。
也许我错了,但我知道任何数据是文本或任何格式,它可以在内存中具有二进制表示形式,即使通过 TCP/IP 网络传输时,数据也会按照层(OSI 模型)的格式进行拆分或 TCP/IP 模型表示),这意味着在通过网络传输数据的上下文中不存在技术上的文本格式。
所以我不能真正理解 http2 和 http1 之间的这种不同,你能帮我更好的解释吗?
正如标题所示,我正在寻找关于伪/冒号头字段目的的一些信息,即我想知道为什么我们有第二种类型的头字段......
另外 - 我知道在http2中使用伪/冒号头字段代替消息和状态行(^^^我不知道的原因^^^); 但是http1中使用伪/冒号头字段来传递不同的信息(来自状态和请求)?
我有最新版本的curl,仍然没有看到http2显示为一个功能.我已经按照相关问题的步骤,但仍然运气不好.
$ /usr/local/Cellar/curl/7.43.0/bin/curl -V
curl 7.43.0 (x86_64-apple-darwin14.3.0) libcurl/7.43.0 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz UnixSockets
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
由于我们将客户端更新为HTTP2,因此我将文件映射到本地资源时出现问题.我们通常使用Charles(App)执行此操作,但由于我们更新为HTTP2,因此我们遇到了一些错误.
它似乎缩短了文件,只加载了一小部分文件.然后Charles给出了一条失败消息说: 客户端在收到整个响应之前关闭了连接
我一直在寻找大型的互联网寻找答案,但还没有找到任何答案.
希望这里有一些聪明的头脑.
有没有办法在MAMP Pro中启用HTTP2支持?我想通过HTTP2支持测试和改进我的一些本地开发网站.
我一直在寻找一段时间,但还没有找到一个解决方案.
有没有办法以编程方式从中获取HTTP/2日志
chrome://net-internals/#http2
要么通过硒还是命令行选项?
我想用HTTP/2进行自动化测试,我正在使用selenium-chromedriver.
我知道你可以从chromedriver访问perflogs,但是这些似乎隐藏了许多HTTP/2特定的东西,比如priority或stream id.
selenium google-chrome google-chrome-devtools selenium-chromedriver http2
在Windows 10上进行测试时,我们看到许多浏览器不兼容,这是我以前在Windows版本中没有见到的.有些浏览器可以使用,但其他浏览器会报告ERR_SPDY_PROTOCOL_ERROR.我对这个问题的快速搜索表明我并不孤单.
我的应用程序使用WWSAPI和HTTP.SYS与HTTPS(TLS).有谁知道如何在Windows 10上的WWSAPI(使用HTTP.SYS)中禁用SPDY/HTTP/2?
我还想获得HTTP.SYS的最新Windows 10注册表设置列表.
请参阅下面的我对此的回答.希望这也有助于其他人.
标记
使用websocket时,我们需要一个专用的双向通信连接.如果我们使用http/2,我们有服务器维护的第二个连接.
在这种情况下,使用websocket似乎会引入不必要的开销,因为使用SSE和常规http请求,我们可以通过单个HTTP/2连接获得双向通信的优势.
你怎么看?
我想知道这个(httptest)包是否可用于测试HTTP/2特定功能.
谁能指点我一些例子呢?
我知道工具h2i,但它是一个交互式工具.
我正在寻找可编程的东西.
编辑:
我真正想要的是一个工具,例如我可以启动服务器推送并在客户端测试它.
因此,使用此包,如何访问默认使用的基础HTTP/2内容?
编辑2:
在nghttp2源代码中找到一些示例:https:
//github.com/tatsuhiro-t/nghttp2/tree/master/integration-tests
编辑3: 对我来说,看起来net net/http2并不是任何人都可以直接使用的.我会试验这个.
HTTP/2如何影响代理服务器的实现?特别是,例如,当客户端向仅支持HTTP/1.x的内容服务器发送HTTP/2请求时,代理服务器是否应该在将客户端请求指向客户端请求之前将HTTP/2请求转换为HTTP/1.x请求内容服务器?并且在收到内容服务器的响应后,代理服务器是否应该将响应转换为HTTP/2格式,然后再将其发送回客户端?