java - Jetty SslConnectionFactory nextProtocol
问题描述
我正在查看一些用于将 Jetty 配置为使用 https 的示例代码。
在示例中,它使用 SslContextFactory,并将“h2”作为第二个参数传递。
SslConnectionFactory ssl = new SslConnectionFactory(sslContextFactory, "h2");
我很好奇这个字符串是什么。当我去看文档时,它完全没有说明它是什么。
那么这个 nextProtocol 参数是什么?
解决方案
“下一个协议”是在初始连接期间解决协议的方式。
ConnectionFactory 概念控制着所有这些。
通常这用于 HTTP/2,在 TLS/1.2+ 环境中混合使用 ALPN,但人们确实将它用于其他事情。如果您查看 ALPN 的历史,您无疑会发现称为 NPN 的旧(现已弃用)扩展,它被称为“下一个协议协商”。
常见示例:
- 同时提供明文 HTTP 和加密 HTTPS 的单个端口。
- 为 PROXY 4、PROXY 5、HTTP/1.x 和 HTTP/2.x 提供服务的单个端口。
- 可以处理 HTTP/1.1、HTTP/2 和其他协议(如任何无数 RPC 协议)的单个端口。
推荐阅读
- android - 如何从产品风味中获取动态值到属性文件中
- elasticsearch - Logstash JSON Grok 过滤器问题
- python - 列表理解附加字符串以列出每个列表项
- json - 如何将 JSON 文件读入可查询的 MongoDB 集合?
- android - 具有垂直书写模式的日文字符在 Android 上显示偏离中心
- javascript - 如何使用输入字段动态更改宽度和高度?
- javascript - 使用身份验证反应 js 重定向
- qt - 如何检测 qcombobox 中的复选框何时更改
- html - 你如何使换行符隐藏时标签是打开的,反之亦然?
- c++ - OpenGL:绑定统一缓冲区时出现异常