启用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. AI数字人SadTalker实战

    1.概述 AI数字人在营销和品牌推广中扮演着至关重要的角色,许多企业和个人正积极利用数字技术来打造属于自己的财富.有没有一种简单而免费的方式来创建自己的数字人呢?本篇博客笔者将为大家介绍如何搭建属于自 ...

  2. 从零开始写 Docker(二)---优化:使用匿名管道传递参数

    本文为从零开始写 Docker 系列第二篇,主要在 mydocker run 命令基础上优化参数传递方式,改为使用 runC 同款的匿名管道传递参数. 如果你对云原生技术充满好奇,想要深入了解更多相关 ...

  3. 记录问题:goland无法识别sdk的问题

    goland版本:2020 go版本:1.20.3最新版 在goland中配置GOROOT时找不到sdk 解决版本: > cd /usr/local/go # 我本地go的安装目录 > c ...

  4. PDF/Excel文件预览功能完整实现-java版本

    新需求 最近接到一个新的需求,说是之前直接下载的PDF文件或者是Excel文件,现在不能直接下载,需要实现在线预览功能. 前端人员拿到这个需求后,去看了一下以前的代码,以前调用的下载接口和PDF文件预 ...

  5. vscode 当做记事本,用任务 tasks 自动提交git - ctrl shift B

    vscode 当做记事本,用任务 tasks 自动提交git - ctrl shift B 起因 开始用的joplin 本地记事本挺好,唯一缺点不能同步. 用了一下,发现markdown是两栏的,变成 ...

  6. vscode 函数注释方法 输入 /** 回车 自动就出来了

    vscode 函数注释方法 输入 /** 回车 自动就出来了

  7. Set-Alias navi ./navi.bat - 设置别名 - powershell入门 (后期改方案了,换npm script)

    需求 开机要启动好几个服务,原先都用vscode启动,觉得可能比较占内存,所以改成命令行 发现直接运行bat,需要输入./batName.bat 一次还行,天天输入就麻烦了 命令 Set-Alias ...

  8. react 中 动态添加 class,防止图片 重复加载, 主要是 background-image的二次加载会有新请求,和图片的闪烁

    react 中 动态添加 class,防止图片 重复加载, 主要是 background-image的二次加载会有新请求,和图片的闪烁 let imageTopBg if (imgSrcBg) { c ...

  9. electron vite2 vue3 安装 cvep my-electron-cvep

    npm config set registry=https://registry.npm.taobao.org/ npm config set ELECTRON_MIRROR=http://npm.t ...

  10. Navicat 通过 Http通道 连接远程 Mysql

    https://jingyan.baidu.com/article/3d69c551aa54dff0cf02d7a0.html 注意本机ip填写 localhost