启用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协议规范兼容性的选项,可选值如下:

    • RFC7230
    • RFC7230_LEGACY
    • RFC2616
    • RFC2616_LEGACY
    • LEGACY
  • jetty.httpConfig.uriCompliance

    URI规范的兼容性的选项,可选值如下:

    • DEFAULT
    • LEGACY
    • RFC3986
    • RFC3986_UNAMBIGUOUS
    • UNSAFE
  • jetty.httpConfig.requestCookieCompliance

    Cookie规范的兼容性的选项,可选值如下:

    • RFC6265_STRICT
    • RFC6265
    • RFC6265_LEGACY
    • RFC2965
    • RFC2965_LEGACY
  • jetty.httpConfig.responseCookieCompliance

    Cookie规范的兼容性的选项,可选值如下:

    • RFC2965
    • RFC6265
  • 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.name

  • jetty.scheduler.daemon

  • jetty.scheduler.threads

  • jetty.server.contexts.dynamic

  • jetty.server.default.serveFavIcon

  • jetty.server.default.showContexts

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

  1. python3用http.server模块搭建简易版服务器

    基本流程: 1.需要的支持 1)python3用http模块下的子模块,即:http.server模块 2)将希望共享的文件放在c盘下,如:C:\游戏行业面试专用 2.打开cmd,cd c:\\pyt ...

  2. 「从零单排canal 05」 server模块源码解析

    基于1.1.5-alpha版本,具体源码笔记可以参考我的github:https://github.com/saigu/JavaKnowledgeGraph/tree/master/code_read ...

  3. Swoole源代码学习记录(十三)——Server模块具体解释(上)

    Swoole版本号:1.7.5-stable Github地址:https://github.com/LinkedDestiny/swoole-src-analysis 最终能够正式进入Server. ...

  4. Install Jetty web server on CentOS 7 / RHEL 7

    http://www.eclipse.org/jetty/download.html http://www.eclipse.org/jetty/documentation/current/startu ...

  5. python3 使用http.server模块 搭建一个简易的http服务器

    from http.server import HTTPServer, BaseHTTPRequestHandler import json data = {'result': 'this is a ...

  6. Swoole 源码分析——Server模块之Worker事件循环

    swManager_loop 函数 manager 进程管理 manager 进程开启的时候,首先要调用 onManagerStart 回调 添加信号处理函数 swSignal_add,SIGTERM ...

  7. Swoole 源码分析——Server模块之TaskWorker事件循环

    swManager_start 创建进程流程 task_worker 进程的创建可以分为三个步骤:swServer_create_task_worker 申请所需的内存.swTaskWorker_in ...

  8. Jetty web server 远程共享缓冲区泄漏漏洞学习

    https://www.secpulse.com/archives/4911.html https://www.tiejiang.org/11628.html http://blog.gdssecur ...

  9. 使用Jetty搭建Java Websocket Server,实现图像传输

    https://my.oschina.net/yushulx/blog/298140 How to Implement a Java WebSocket Server for Image Transm ...

  10. 详解web容器 - Jetty与Tomcat孰强孰弱

    Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器.它有一个基本数据模型,这个数据模型就是 Handler(处理器 ...

随机推荐

  1. 记一次 splice 导致 io.Copy 阻塞的排查过程

    记一次 splice 导致 io.Copy 阻塞的排查过程 简而言之,net.TCPConn 的 ReadFrom 零拷贝实现 splice 在 1.21.0 - 1.21.4 删除了 SPLICE_ ...

  2. python字符串模板文本处理之Template

    from string import Template s = Template('$who 在 $do') ts = s.substitute(who="张三", do=&quo ...

  3. GenAI助力DevOps,塑造软件工程的未来

    自 2022 年以来,GenAI 无疑已成为一种普遍的技术趋势.在本文中,我们将探索 DevOps 中令人兴奋的 GenAI 领域,讨论其潜在优势.局限性.新兴趋势和最佳实践,深入了解 AI 支持的 ...

  4. 从零开始写 Docker(三)---基于 cgroups 实现资源限制

    本文为从零开始写 Docker 系列第三篇,在mydocker run 基础上基于 cgroups 实现容器的资源限制. 完整代码见:https://github.com/lixd/mydocker ...

  5. Springboot 撞上 NebulaGraph——NGbatis 初体验

    本文首发于 NebulaGraph 公众号 https://mp.weixin.qq.com/s/z56o6AEz1Z4RmS8Zdx6dTA 大家好,我是开源项目 NGbatis 的发起人大叶(Co ...

  6. AIGC下一步:如何用AI再度重构或优化媒体处理?

    让媒资中"沉默的大多数"再次焕发光彩. 邹娟|演讲者 编者按 AIGC时代下,媒体内容生产领域随着AI的出现也涌现出更多的变化与挑战.面对AI的巨大冲击,如何优化或重构媒体内容生产 ...

  7. iview table 左侧固定列 右侧固定列 滚动的时候 表格错位 解决方案

    iview table 左侧固定列 右侧固定列 滚动的时候 表格错位 解决方案 iview table 滚动条位置重置 https://www.jianshu.com/p/32fcd50489ff

  8. deepin平台安装debian的cao蛋时

    我在deepin系统安装别的系统的时候,一直在boot界面无法进行下一步.困扰了我好几天,最后从电脑的左侧换成了电脑的右侧(usb)接口. 终于安装成功.你是......牛(deepin)

  9. vue入门教程之-组件

    vue入门教程之-组件 欢迎关注博主公众号「java大师」, 专注于分享Java领域干货文章, 关注回复「资源」, 免费领取全网最热的Java架构师学习PDF, 转载请注明出处 https://www ...

  10. 关于Jitpack发布aar,会丢失内置依赖库问题

    原文:关于Jitpack发布aar,会丢失内置依赖库问题 | Stars-One的杂货小窝 关于发布aar出现的一个大坑排查,折腾了两天,终于是找到了解决方案 问题描述 有这样的一个情况,我新建了个A ...