Jetty的server模块
启用server模块,执行如下命令:
java -jar $JETTY_HOME/start.jar --add-modules=server
命令的输出,如下:
INFO : server initialized in ${jetty.base}/start.d/server.ini
INFO : Base directory was modified
查看server模块的配置文件,执行如下命令:
cat $JETTY_BASE/start.d/server.ini
命令的输出,如下:
# ---------------------------------------
# Module: server
# Enables and configures the Jetty server.
# This module does not enable any network protocol support.
# To enable a specific network protocol such as HTTP/1.1, you must enable the correspondent Jetty module.
# ---------------------------------------
--modules=server
### Common HTTP configuration
## Scheme to use to build URIs for secure redirects
# jetty.httpConfig.secureScheme=https
## Port to use to build URIs for secure redirects
# jetty.httpConfig.securePort=8443
## Response content buffer size (in bytes)
# jetty.httpConfig.outputBufferSize=32768
## Max response content write length that is buffered (in bytes)
# jetty.httpConfig.outputAggregationSize=8192
## If HTTP/1.x persistent connections should be enabled
# jetty.httpConfig.persistentConnectionsEnabled=true
## Max request headers size (in bytes)
# jetty.httpConfig.requestHeaderSize=8192
## Max response headers size (in bytes)
# jetty.httpConfig.responseHeaderSize=8192
## Whether to send the Server: header
# jetty.httpConfig.sendServerVersion=true
## Whether to send the Date: header
# jetty.httpConfig.sendDateHeader=false
## Max per-connection header cache size (in nodes)
# jetty.httpConfig.headerCacheSize=1024
## Whether, for requests with content, delay dispatch until some content has arrived
# jetty.httpConfig.delayDispatchUntilContent=true
## Maximum number of error dispatches to prevent looping
# jetty.httpConfig.maxErrorDispatches=10
## Relative Redirect Locations allowed
# jetty.httpConfig.relativeRedirectAllowed=true
## Whether to use direct ByteBuffers for reading or writing
# jetty.httpConfig.useInputDirectByteBuffers=true
# jetty.httpConfig.useOutputDirectByteBuffers=true
## HTTP Compliance: RFC7230, RFC7230_LEGACY, RFC2616, RFC2616_LEGACY, LEGACY
# jetty.httpConfig.compliance=RFC7230
## URI Compliance: DEFAULT, LEGACY, RFC3986, RFC3986_UNAMBIGUOUS, UNSAFE
# jetty.httpConfig.uriCompliance=DEFAULT
## Cookie compliance mode for parsing request Cookie headers: RFC6265_STRICT, RFC6265, RFC6265_LEGACY, RFC2965, RFC2965_LEGACY
# jetty.httpConfig.requestCookieCompliance=RFC6265
## Cookie compliance mode for generating response Set-Cookie: RFC2965, RFC6265
# jetty.httpConfig.responseCookieCompliance=RFC6265
### Server configuration
## Whether ctrl+c on the console gracefully stops the Jetty server
# jetty.server.stopAtShutdown=true
## Timeout in ms to apply when stopping the server gracefully
# jetty.server.stopTimeout=5000
## Dump the state of the Jetty server, components, and webapps after startup
# jetty.server.dumpAfterStart=false
## The temporary directory used by the Jetty server and as a root for its contexts
# jetty.server.tempDirectory=
## Dump the state of the Jetty server, components, and webapps before shutdown
# jetty.server.dumpBeforeStop=false
### Server Scheduler Configuration
## The scheduler thread name, defaults to "Scheduler-{hashCode()}" if blank.
# jetty.scheduler.name=
## Whether the server scheduler threads are daemon.
# jetty.scheduler.daemon=false
## The number of server scheduler threads.
# jetty.scheduler.threads=1
## Whether the handlers of the ContextHandlerCollection can be updated once the server is started
## If set to false, then eeN-deploy module jetty.deploy.scanInterval should also be set to 0.
# jetty.server.contexts.dynamic=true
## Should the DefaultHandler serve the jetty favicon.ico from the root.
# jetty.server.default.serveFavIcon=true
## Should the DefaultHandler show a list of known contexts in a root 404 response.
# jetty.server.default.showContexts=true
各参数的说明,如下:
HTTP协议的常见参数
jetty.httpConfig.secureScheme
重定向时,安全通道使用的协议。默认值为https。jetty.httpConfig.securePort
重定向时,安全通道的监听端口。默认值为8443。jetty.httpConfig.outputBufferSize
响应消息的缓冲区容量,单位:字节。默认值为32768。jetty.httpConfig.outputAggregationSize
返回响应数据时,单次写操作的最大数据量,单位:字节。默认值为8192。jetty.httpConfig.persistentConnectionsEnabled
是否启用HTTP/1.x中定义的HTTP链接保持特性。jetty.httpConfig.requestHeaderSize
HTTP请求消息中头部的最大长度,单位:字节。默认值为8192。jetty.httpConfig.responseHeaderSize
HTTP响应消息中头部的最大长度,单位:字节。默认值为8192。jetty.httpConfig.sendServerVersion
是否在HTTP响应消息中增加头部Server。默认值为true。
如下为样例:HTTP/1.1 200 OK
Content-Length: 0
Server: Jetty(12.0.6)
基于业务安全的考虑,通过不建议开启,即修改为
false。jetty.httpConfig.sendDateHeader
响应消息中,是否发送HTTP头部Date字段。默认值为false。jetty.httpConfig.headerCacheSize
处理HTTP头部时的缓冲数据的大小,单位:字节,默认值为1024。jetty.httpConfig.delayDispatchUntilContent
收到消息体之后再分发请求对象,默认值为true。jetty.httpConfig.maxErrorDispatches
错误场景下分发次数的最大值,避免循环处理,默认值为10。jetty.httpConfig.relativeRedirectAllowed
是否允许重定向操作,默认值为true。jetty.httpConfig.useInputDirectByteBuffers
默认值为true。jetty.httpConfig.useOutputDirectByteBuffers
默认值为true。
jetty.httpConfig.compliance
HTTP协议规范兼容性的选项,可选值如下:RFC7230RFC7230_LEGACYRFC2616RFC2616_LEGACYLEGACY
jetty.httpConfig.uriCompliance
URI规范的兼容性的选项,可选值如下:DEFAULTLEGACYRFC3986RFC3986_UNAMBIGUOUSUNSAFE
jetty.httpConfig.requestCookieCompliance
Cookie规范的兼容性的选项,可选值如下:RFC6265_STRICTRFC6265RFC6265_LEGACYRFC2965RFC2965_LEGACY
jetty.httpConfig.responseCookieCompliance
Cookie规范的兼容性的选项,可选值如下:RFC2965RFC6265
jetty.server.stopAtShutdown
Jetty进程收到控制台发送的Ctrl+C时,优雅退出。默认值为true。jetty.server.stopTimeout
优雅退出时的超时值,单位:毫秒。默认值为5000,即5秒。jetty.server.dumpAfterStart
启动结束后,输出Jetty进程的状态,组件等信息。jetty.server.tempDirectory
Jetty进程运行期使用的临时目录。jetty.server.dumpBeforeStop
Jetty进程退出前,输出Jetty进程的状态,组件等信息。jetty.scheduler.namejetty.scheduler.daemonjetty.scheduler.threadsjetty.server.contexts.dynamicjetty.server.default.serveFavIconjetty.server.default.showContexts
Jetty的server模块的更多相关文章
- python3用http.server模块搭建简易版服务器
基本流程: 1.需要的支持 1)python3用http模块下的子模块,即:http.server模块 2)将希望共享的文件放在c盘下,如:C:\游戏行业面试专用 2.打开cmd,cd c:\\pyt ...
- 「从零单排canal 05」 server模块源码解析
基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...
- Swoole源代码学习记录(十三)——Server模块具体解释(上)
Swoole版本号:1.7.5-stable Github地址:https://github.com/LinkedDestiny/swoole-src-analysis 最终能够正式进入Server. ...
- Install Jetty web server on CentOS 7 / RHEL 7
http://www.eclipse.org/jetty/download.html http://www.eclipse.org/jetty/documentation/current/startu ...
- python3 使用http.server模块 搭建一个简易的http服务器
from http.server import HTTPServer, BaseHTTPRequestHandler import json data = {'result': 'this is a ...
- Swoole 源码分析——Server模块之Worker事件循环
swManager_loop 函数 manager 进程管理 manager 进程开启的时候,首先要调用 onManagerStart 回调 添加信号处理函数 swSignal_add,SIGTERM ...
- Swoole 源码分析——Server模块之TaskWorker事件循环
swManager_start 创建进程流程 task_worker 进程的创建可以分为三个步骤:swServer_create_task_worker 申请所需的内存.swTaskWorker_in ...
- Jetty web server 远程共享缓冲区泄漏漏洞学习
https://www.secpulse.com/archives/4911.html https://www.tiejiang.org/11628.html http://blog.gdssecur ...
- 使用Jetty搭建Java Websocket Server,实现图像传输
https://my.oschina.net/yushulx/blog/298140 How to Implement a Java WebSocket Server for Image Transm ...
- 详解web容器 - Jetty与Tomcat孰强孰弱
Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...
随机推荐
- 记一次 splice 导致 io.Copy 阻塞的排查过程
记一次 splice 导致 io.Copy 阻塞的排查过程 简而言之,net.TCPConn 的 ReadFrom 零拷贝实现 splice 在 1.21.0 - 1.21.4 删除了 SPLICE_ ...
- python字符串模板文本处理之Template
from string import Template s = Template('$who 在 $do') ts = s.substitute(who="张三", do=&quo ...
- GenAI助力DevOps,塑造软件工程的未来
自 2022 年以来,GenAI 无疑已成为一种普遍的技术趋势.在本文中,我们将探索 DevOps 中令人兴奋的 GenAI 领域,讨论其潜在优势.局限性.新兴趋势和最佳实践,深入了解 AI 支持的 ...
- 从零开始写 Docker(三)---基于 cgroups 实现资源限制
本文为从零开始写 Docker 系列第三篇,在mydocker run 基础上基于 cgroups 实现容器的资源限制. 完整代码见:https://github.com/lixd/mydocker ...
- Springboot 撞上 NebulaGraph——NGbatis 初体验
本文首发于 NebulaGraph 公众号 https://mp.weixin.qq.com/s/z56o6AEz1Z4RmS8Zdx6dTA 大家好,我是开源项目 NGbatis 的发起人大叶(Co ...
- AIGC下一步:如何用AI再度重构或优化媒体处理?
让媒资中"沉默的大多数"再次焕发光彩. 邹娟|演讲者 编者按 AIGC时代下,媒体内容生产领域随着AI的出现也涌现出更多的变化与挑战.面对AI的巨大冲击,如何优化或重构媒体内容生产 ...
- iview table 左侧固定列 右侧固定列 滚动的时候 表格错位 解决方案
iview table 左侧固定列 右侧固定列 滚动的时候 表格错位 解决方案 iview table 滚动条位置重置 https://www.jianshu.com/p/32fcd50489ff
- deepin平台安装debian的cao蛋时
我在deepin系统安装别的系统的时候,一直在boot界面无法进行下一步.困扰了我好几天,最后从电脑的左侧换成了电脑的右侧(usb)接口. 终于安装成功.你是......牛(deepin)
- vue入门教程之-组件
vue入门教程之-组件 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www ...
- 关于Jitpack发布aar,会丢失内置依赖库问题
原文:关于Jitpack发布aar,会丢失内置依赖库问题 | Stars-One的杂货小窝 关于发布aar出现的一个大坑排查,折腾了两天,终于是找到了解决方案 问题描述 有这样的一个情况,我新建了个A ...