启用http2模块,执行如下命令:

java -jar $JETTY_HOME/start.jar --add-modules=http2

命令的输出,如下:

INFO  : http2           initialized in ${jetty.base}/start.d/http2.ini
INFO : Base directory was modified

http2模块的配置文件$JETTY_BASE/start.d/http2.ini,内容如下:

# ---------------------------------------
# Module: http2
# Enables the support for the secure HTTP/2 protocol.
# ---------------------------------------
--modules=http2 ## Specifies the maximum number of concurrent requests per session.
# jetty.http2.maxConcurrentStreams=128 ## Specifies the initial stream receive window (client to server) in bytes.
# jetty.http2.initialStreamRecvWindow=524288 ## Specifies the initial session receive window (client to server) in bytes.
# jetty.http2.initialSessionRecvWindow=1048576 ## Specifies the maximum number of keys in all SETTINGS frames received by a session.
# jetty.http2.maxSettingsKeys=64 ## Specifies the maximum number of bad frames and pings per second,
## after which a session is closed to avoid denial of service attacks.
# jetty.http2.rateControl.maxEventsPerSecond=50

各参数的说明,如下:

  • jetty.http2.maxConcurrentStreams

    单个会话中允许并行的HTTP请求数量的上限值,默认值为128
  • jetty.http2.initialStreamRecvWindow

    流接收数据的窗口的初始容量,单位:字节,默认值为524288
  • jetty.http2.initialSessionRecvWindow

    会话接收数据的窗口的初始容量,单位:字节,默认值为1232896
  • jetty.http2.maxSettingsKeys

    在会话的SETTINGS帧中允许接收的key的数量,默认值为64
  • jetty.http2.rateControl.maxEventsPerSecond

    每秒允许出现的坏帧及ping的数量的上限,超出上限,则判定会话失效,以此来规避潜在的DoS攻击。

    默认值为50

HTTP2要求使用安全通道传输数据,http2c模块基于非安全通道提供HTTP2协议的服务。

启用http2c模块,执行如下命令:

java -jar $JETTY_HOME/start.jar --add-modules=http2c

命令的输出,如下:

INFO  : http2c          initialized in ${jetty.base}/start.d/http2c.ini
INFO : Base directory was modified

http2c模块的配置文件$JETTY_BASE/start.d/http2c.ini,内容如下:

# ---------------------------------------
# Module: http2c
# Enables the support for the clear-text HTTP/2 protocol.
# ---------------------------------------
--modules=http2c ## Specifies the maximum number of concurrent requests per session.
# jetty.http2c.maxConcurrentStreams=128 ## Specifies the initial stream receive window (client to server) in bytes.
# jetty.http2c.initialStreamRecvWindow=524288 ## Specifies the initial session receive window (client to server) in bytes.
# jetty.http2c.initialSessionRecvWindow=1232896 ## Specifies the maximum number of keys in all SETTINGS frames received by a session.
# jetty.http2c.maxSettingsKeys=64 ## Specifies the maximum number of bad frames and pings per second,
## after which a session is closed to avoid denial of service attacks.
# jetty.http2c.rateControl.maxEventsPerSecond=50

各参数的说明,如下:

  • jetty.http2c.maxConcurrentStreams

    单个会话中允许并行的HTTP请求数量的上限值,默认值为128
  • jetty.http2c.initialStreamRecvWindow

    流接收数据的窗口的初始容量,单位:字节,默认值为524288
  • jetty.http2c.initialSessionRecvWindow

    会话接收数据的窗口的初始容量,单位:字节,默认值为1232896
  • jetty.http2c.maxSettingsKeys

    在会话的SETTINGS帧中允许接收的key的数量,默认值为64
  • jetty.http2c.rateControl.maxEventsPerSecond

    每秒允许出现的坏帧及ping的数量的上限,超出上限,则判定会话失效,以此来规避潜在的DoS攻击。

    默认值为50

参考资料

Jetty的http2模块的更多相关文章

  1. Jetty使用教程(一)——开始使用Jetty

    一.Jetty简介 1.1 什么是Jetty Jetty是一个提供HHTP服务器.HTTP客户端和javax.servlet容器的开源项目.   这个入门教程分为五个部分: 第一部分部分重点介绍如何使 ...

  2. Jetty入门(1-1)Jetty入门教程

    一.Jetty是什么? 1.Jetty 是一个Java语言编写的,开源的Servlet容器和应用服务器. Jetty 极度轻量级.高便携性.功能强大.灵活和扩展性好,而且支持各种技术如SPDY.Web ...

  3. Jetty使用教程(四:21-22)—Jetty开发指南

    二十一.嵌入式开发 21.1 Jetty嵌入式开发HelloWorld 本章节将提供一些教程,通过Jetty API快速开发嵌入式代码 21.1.1 下载Jetty的jar包 Jetty目前已经把所有 ...

  4. Jetty源码分析(一)

    一.目的 1.了解jetty组成架构: 2.学习jetty启动过程: 3.学习请求访问过程: 4.学习jetty内各模块作用,学习各模块内部代码: 二.jetty版本 本文所学习的jetty版本为:9 ...

  5. Windows 上的 Jetty 小工具

    做项目经常遇到需要开发Java应用,我喜欢用Jetty进行开发.部署,主要是由于Jetty的轻量级. Jetty 项目主页:http://www.eclipse.org/jetty/, 最新版9.30 ...

  6. Jetty应用服务器的安装详解

    Jetty是一个开源的Servlet容器和应用服务器,它极度轻量级.高便携性.功能强大.灵活和扩展性好,而且支持各种技术如SPDY.WebSocket.OSGi.JMX.JNDI和JAAS.Jetty ...

  7. Jetty开发指导:HTTP Client

    介绍 Jetty HTTP client模块提供易用的API.工具类和一个高性能.异步的实现来运行HTTP和HTTPS请求. Jetty HTTP client模块要求Java版本号1.7或者更高,J ...

  8. Openresty支持HTTP2

    1. 下载openresty-1.13.6.1.tar.gz和openssl-1.0.2l.tar.gz,并解压 下载对应的软件版本,创建openresty_http2安装路径 2. 安装openre ...

  9. 二、Jetty的配置说明

    运行Jetty Web应用 在Jetty应用服务器中部署war项目很简单,只需把项目war包放入Jetty的webapps子目录即可.你都无需重启Jetty,Jetty会自动随时监听webapps目录 ...

  10. 在Nginx/Openresty中启用http2支持

    转自个人博客 chinazt.cc 以下摘自http2的介绍: HTTP/2 源自 SPDY/2 SPDY 系列协议由谷歌开发,于 2009 年公开.它的设计目标是降低 50% 的页面加载时间.当下很 ...

随机推荐

  1. 在写dockerfile时替换国内源

    众所周知,Debian是linux发行版中官方源最难用的一个,这个傻逼源让我再构建docker镜像时卡了很久. ​ 那么能不能替换构建dockerfile时使用的源呢?显然是可以的 ​ 在与Docke ...

  2. canal实现mysql跨机房备份

    背景介绍 跨机房数据库数据备份 数据库增量异构系统分发(cache,mq等) 数据内容聚合分析组件 摘录作者的描述 原理图 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL ...

  3. Spring Cloud跟Dubbo区别?

    Spring Cloud是一个微服务框架,提供了微服务中很多功能组件,Dubbo一开始时RPC调用框架,核心是解决服务调用间的问题, Spring Cloud是一个大而全的框架,Dubbo更侧重于服务 ...

  4. electron暴露配置文件(用户可随时修改)

    配置文件 一般web前端项目配置文件,写死的放在src/config下,需要打包配置的放在.env文件中.但在electron项目中,如果配置数据更改,需要每次给用户打包升级肯定是行不通的.于是外部配 ...

  5. 替换掉Chrome浏览器的新标签页【已做好自己的插件,并提供下载】

    https://jingyan.baidu.com/article/fc07f9891b256312ffe5190a.html 我做好了自己的 Chrome 新插件 https://files.cnb ...

  6. day23-服务器端渲染技术01

    服务器端渲染技术01 为什么需要jsp? 在之前的开发过程中,我们可以发现servlet做界面非常不方便: 引出jsp技术=> jsp=html+java代码+标签+javascript+css ...

  7. Git进阶命令-revert

    有关Git,之前有写过两篇文章: Git五个常见问题及解决方法 Git进阶命令-reset 一.revert命令使用场景 有一天项目经理跟你说,你开发上线的代码有问题,需要马上撤回. 撤回?你第一反应 ...

  8. 使用nodejs从控制台读入内容

    在写算法题的时候,基本上都需要输入输出语句,在大多数练题网站上当想用js书写算法题时,发现不知道怎么输入,其实Node是提供了一个readline模块来实现此功能的 tip 笔者用过的练题网站只有le ...

  9. Linux 运维工程师面试真题-4-Linux 服务配置及管理

    Linux 运维工程师面试真题-4-Linux 服务配置及管理** 1.请写出 apache2.X 版本的两种工作模式,以及各自工作原理.如何查看 apache 当前所 支持的模块,并且查看是工作在哪 ...

  10. 3DCAT首届行业生态交流会|瑞云科技技术总监赵志杰:实时渲染助力元宇宙应用触手可及

    2021年12月17日下午,由深圳市瑞云科技有限公司主办,深圳市虚拟现实产业联合会协办的 云XR如何赋能元宇宙--3DCAT实时云渲染首届行业生态合作交流会 圆满落幕.此次活动围绕 "云XR ...