首页 > 其他分享 >web server apache tomcat11-31-websocket

web server apache tomcat11-31-websocket

时间:2024-05-06 09:01:48浏览次数:7  
标签:web websocket tomcat11 server apache WebSocket

前言

整理这个官方翻译的系列,原因是网上大部分的 tomcat 版本比较旧,此版本为 v11 最新的版本。

开源项目

从零手写实现 tomcat minicat 别称【嗅虎】心有猛虎,轻嗅蔷薇。

系列文章

web server apache tomcat11-01-官方文档入门介绍

web server apache tomcat11-02-setup 启动

web server apache tomcat11-03-deploy 如何部署

web server apache tomcat11-04-manager 如何管理?

web server apache tomcat11-06-Host Manager App -- Text Interface

web server apache tomcat11-07-Realm Configuration

web server apache tomcat11-08-JNDI Resources

web server apache tomcat11-09-JNDI Datasource

web server apache tomcat11-10-Class Loader

web server apache tomcat11-11-Jasper 2 JSP Engine

web server apache tomcat11-12-SSL/TLS Configuration

web server apache tomcat11-13-SSI

web server apache tomcat11-14-CGI

web server apache tomcat11-15-proxy

web server apache tomcat11-16-mbean

web server apache tomcat11-17-default-servlet

web server apache tomcat11-18-clusting 集群

web server apache tomcat11-19-load balance 负载均衡

web server apache tomcat11-20-connectors 连接器

web server apache tomcat11-21-monitor and management 监控与管理

web server apache tomcat11-22-logging 日志

web server apache tomcat11-23-APR

web server apache tomcat11-24-Virtual Hosting and Tomcat

web server apache tomcat11-25-Advanced IO and Tomcat

web server apache tomcat11-26-maven jars

web server apache tomcat11-27-Security Considerations

web server apache tomcat11-28-Windows Service

web server apache tomcat11-29-Windows Authentication

web server apache tomcat11-30-The Tomcat JDBC Connection Pool

web server apache tomcat11-31-websocket

web server apache tomcat11-32-rewrite

web server apache tomcat11-33-CDI

web server apache tomcat11-34-Ahead of Time compilation support

Tomcat WebSocket 技术文档

概述

Tomcat 支持 RFC 6455 所定义的 WebSocket。

应用开发

Tomcat 实现了由 Jakarta WebSocket 项目定义的 Jakarta WebSocket 2.1 API。

有几个示例应用程序演示了如何使用 WebSocket API。您需要查看客户端的 HTML 代码和服务器端的代码。

Tomcat WebSocket 特定配置

Tomcat 提供了一些针对 WebSocket 的特定配置选项。预计这些选项将随着时间的推移被吸收到 WebSocket 规范中。

  • 在阻塞模式下发送 WebSocket 消息时使用的写超时默认为 20000 毫秒(20 秒)。可以通过设置附加到 WebSocket 会话的用户属性集中的属性 org.apache.tomcat.websocket.BLOCKING_SEND_TIMEOUT 来更改此值。分配给此属性的值应该是一个 Long 类型,表示要使用的超时时间(以毫秒为单位)。对于无限超时,请使用 -1。

  • 会话关闭超时默认为 30000 毫秒(30 秒)。可以通过设置附加到 WebSocket 会话的用户属性集中的属性 org.apache.tomcat.websocket.SESSION_CLOSE_TIMEOUT 来更改此值。分配给此属性的值应该是一个 Long 类型,表示要使用的超时时间(以毫秒为单位)。小于或等于零的值将被忽略。

  • 除了 Jakarta WebSocket API 的 Session.setMaxIdleTimeout(long) 方法外,Tomcat 还提供了更多控制会话因缺乏活动而超时的时间。设置附加到 WebSocket 会话的用户属性集中的属性 org.apache.tomcat.websocket.READ_IDLE_TIMEOUT_MS 将在指定的毫秒数内未收到 WebSocket 消息时触发会话超时。设置属性 org.apache.tomcat.websocket.WRITE_IDLE_TIMEOUT_MS 将在指定的毫秒数内未发送 WebSocket 消息时触发会话超时。这些可以分别或共同使用,可以与或不使用 Session.setMaxIdleTimeout(long)。如果未指定相关属性,则将应用读取和/或写入空闲超时。

  • 如果应用程序未为传入的二进制消息定义 MessageHandler.Partial,则必须缓冲任何传入的二进制消息,以便整个消息可以在单个调用注册的 MessageHandler.Whole 以二进制消息形式传递。二进制消息的默认缓冲区大小为 8192 字节。可以通过将 servlet 上下文初始化参数 org.apache.tomcat.websocket.binaryBufferSize 设置为所需的字节数来更改此值。

  • 如果应用程序未为传入的文本消息定义 MessageHandler.Partial,则必须缓冲任何传入的文本消息,以便整个消息可以在单个调用注册的 MessageHandler.Whole 以文本消息形式传递。文本消息的默认缓冲区大小为 8192 字节。可以通过将 servlet 上下文初始化参数 org.apache.tomcat.websocket.textBufferSize 设置为所需的字节数来更改此值。

  • 在使用 WebSocket 客户端连接到服务器端点时,建立连接期间的 IO 操作超时由所提供的 jakarta.websocket.ClientEndpointConfig 的 userProperties 控制。属性为 org.apache.tomcat.websocket.IO_TIMEOUT_MS,以毫秒为单位的字符串形式表示超时时间。默认值为 5000(5 秒)。

  • 在使用 WebSocket 客户端连接到服务器端点时,客户端将遵循的 HTTP 重定向数量由所提供的 jakarta.websocket.ClientEndpointConfig 的 userProperties 控制。属性为 org.apache.tomcat.websocket.MAX_REDIRECTIONS。默认值为 20。通过将值配置为零,可以禁用重定向支持。

  • 在使用 WebSocket 客户端连接到需要 BASIC 或 DIGEST 认证的服务器端点时,必须设置以下用户属性:

    • org.apache.tomcat.websocket.WS_AUTHENTICATION_USER_NAME
    • org.apache.tomcat.websocket.WS_AUTHENTICATION_PASSWORD

    可选地,可以仅在服务器认证挑战包含特定领域时,通过在可选用户属性中定义该领域,配置 WebSocket 客户端仅发送凭据:

    • org.apache.tomcat.websocket.WS_AUTHENTICATION_REALM
  • 在通过要求 BASIC 或 DIGEST 认证的转发代理(也称为网关)连接到服务器端点时,必须设置以下用户属性:

    • org.apache.tomcat.websocket.WS_PROXY_AUTHENTICATION_USER_NAME
    • org.apache.tomcat.websocket.WS_PROXY_AUTHENTICATION_PASSWORD

    可选地,可以仅在服务器认证挑战包含特定领域时,通过在可选用户属性中定义该领域,配置 WebSocket 客户端仅发送凭据:

    • org.apache.tomcat.websocket.WS_PROXY_AUTHENTICATION_REALM

参考资料

https://tomcat.apache.org/tomcat-11.0-doc/web-socket-howto.html

标签:web,websocket,tomcat11,server,apache,WebSocket
From: https://www.cnblogs.com/houbbBlogs/p/18174226

相关文章

  • 使用-PHP-和-jQuery-构建游戏化-Web-站点(全)
    使用PHP和jQuery构建游戏化Web站点(全)原文:zh.annas-archive.org/md5/a9c92181e14a72b81ed3a8d14d6790a1译者:飞龙协议:CCBY-NC-SA4.0前言几年前,如果你对某人说“游戏化”,你会得到一个奇怪的表情,好像你在编造一些新东西。也许你会得到一个快速的跟进问题:“嗯?那是什么?”......
  • AppSpider Pro 7.5.009 for Windows - Web 应用程序安全测试
    AppSpiderPro7.5.009forWindows-Web应用程序安全测试Rapid7DynamicApplicationSecurityTesting(DAST)请访问原文链接:https://sysin.org/blog/appspider/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgappspider没有任何应用程序未经测试,没有未知风险......
  • ollama + ollama web + fastapi app (langchain) demo
    ollama+ollamaweb+fastapiapp(langchain)demohttps://github.com/fanqingsong/ollama-dockerWelcometotheOllamaDockerComposeSetup!ThisprojectsimplifiesthedeploymentofOllamausingDockerCompose,makingiteasytorunOllamawithallitsd......
  • Go-Web-开发学习手册(全)
    GoWeb开发学习手册(全)原文:zh.annas-archive.org/md5/2756E08144D91329B3B7569E0C2831DA译者:飞龙协议:CCBY-NC-SA4.0前言感谢您购买本书。我们希望通过本书中的示例和项目,您能从GoWeb开发新手变成一个能够承担面向生产的严肃项目的人。因此,本书在相对较高的水平上涉及......
  • Web Application扫描工具-IBM AppScan
    AppScan简介原名watchireAppscan,2007年被IBM收购,成为IBMAppscan。IBMAppScan是一款非常好用且功能强大的Web应用安全测试工具,曾以WatchfireAppScan的名称享誉业界,RationalAppScan可自动化Web应用的安全漏洞评估工作,能扫描和检测所有常见的Web应用安全漏洞,例如SQL注入(SQL-inj......
  • web日志取证分析工具
    工具简介此工具可从单一可疑线索作为调查起点,遍历所有可疑URL(CGI)和来源IP。下载地址https://security.tencent.com/index.php/opensource/detail/15使用方法PerlLogForensics.pl-filelogfile-websvr(nginx|httpd)[-ipip(ip,ip,ip)|-urlurl(url,url,url)]File:日志......
  • Web漏洞扫描器-Xray
    下载地址:https://github.com/chaitin/xray/releases使用环境:Windows、Linux、macOS皆可工具说明:Xray扫描器是一款功能强大的安全评估工具。支持主动、被动多种扫描方式,支持常见Web漏洞的自动化检测,可以灵活定义POC,功能丰富,调用简单,支持多种操作系统。官方使用文档:https://docs......
  • 华为USG6000防火墙WEB基本配置
    第一步:浏览器登录https://192.168.0.1 (缺省状态下WEB登录地址)进入防火墙WEB配置界面。 第二步:输入用户名和密码登录,用户名:admin密码:Admin@123(缺省状态下)。 第三步:进入快速向导,根据指引进行配置,然后点击【下一步】。 第四步:配置基本信息。(建......
  • Python-Web-渗透测试秘籍(全)
    PythonWeb渗透测试秘籍(全)原文:annas-archive.org/md5/9ECC87991CE5C1AD546C7BAEC6960102译者:飞龙协议:CCBY-NC-SA4.0前言欢迎阅读我们的Python和Web应用测试书。渗透测试是一个庞大的领域,而Python的领域更加广阔。我们希望我们的小书可以帮助您更好地管理这些庞大......
  • 【攻防靶场系列】WEB LLM 学习及实操(一)
    什么是LLM❓大型语言模型(LLM)是一种AI算法,可以处理用户输入并通过预测单词序列来创建合理的响应。他们在巨大的半公开数据集上接受训练,使用机器学习来分析语言的组成部分如何组合在一起。如何检测LLM漏洞❓确定LLM(语言模型)的输入,包括直接输入(如提示)和间接输入(如训练数......