Coyote HTTP/1.1 Connector
概述
Coyote HTTP/1.1 Connector元素是一个支持HTTP/1.1协议的Connector组件。它使Catalina除了能够执行servlet和JSP页面外,还能够作为一个单独的web server运行。Connector对象的实例在服务器上监听特定的TCP端口。一个Service可以配置一个或多个这样的Connector,每个Connector都把请求转发给对应Engine进行处理,并产生响应。
在 服务器启动的时候,Connector会创建一些请求处理线程(基于minProcessors属性值)。每个请求需要一个线程为其服务,直到服务完成。 如果同一时刻的请求数多于可用的请求处理线程,会创建额外的处理线程,线程数的上限是maxProcessors。如果已经到达了最大请求数,仍然有请求 发生,它们被缓存在由Connector创建的server socket中,直到缓存的上限(由acceptCount属性的值定义)。这以后所有的请求都会收到“拒绝连接”的错误,直到有资源能够处理它们。
属性
公共属性
所有Connector的实现支持如下属性:
属性 描述
enableLookups
如果希望调用request.getRemoteHost()进行DNS查询,以返回远程客户的实际主机名,将enableLookups设为true。如果希望忽略DNS查询,仅仅返回IP地址,设为false(这样提高了性能)。缺省情况下,DNS查询是使能的。
redirectPort 如果Connector支持非SSL请求,在收到一个要求使用SSL传输的请求以后,Catalina会自动将该请求重定向到这里指定的端口号。
scheme
调用request.getScheme()时返回的协议名称。比如,在SSL Connector上可能将这个属性设为“https”。缺省值为“http”,更多信息,参考SSL支持
secure
如果希望在该Connector接收到的请求上调用request.isSecure()返回true,设置该属性为true。缺省值为false。
标准实现
Coyote HTTP/1.1 Connector的标准实现是org.apache.coyote.tomcat5.CoyoteConnector。它还支持如下的附加属性
属性 描述
acceptCount
当所有可能的请求处理线程都被使用的时候,连接请求队列的最大长度。如果该队列为满,所有的请求都被拒绝,缺省值为10。
address 对于具有多个IP地址的server,这个属性指定了用于监听特定端口的地址。缺省情况下,端口作用于server的所有IP地址。
bufferSize
connector创建的输入流缓冲区的大小(以字节为单位)。缺省情况下,bufferSize=2048。
compression
为 了节省服务器带宽,Connector可能使用HTTP/1.1GZIP压缩。这个参数的可接受值为“off”(不使用压缩),“on”(压缩文本数据),“force”(在所有的情况下强制压缩),或者使用一个数值 整数(等价于“on”,但是指定了输出被压缩是的最小的数据数)。如果content-length未知, 而compression设置成“on”或者 更强,输出也会被压缩。如果没有指定,这个属性被设成“off”
connectionLinger
当Connector使用的socket被关闭的时候,保留该socket的时间,以毫秒为单位。缺省值为-1(不使用socket linger)
connectionTimeout
在Connector接受一个连接以后,等待发生第一个请求的时间,以毫秒为单位。缺省值为60000(60秒)
debug
日志消息的详细程度,数字越大,输出越详细,如果没有指定,使用缺省值0。
disableUploadTimeout 这个标志允许servlet container在一个servlet执行的时候,使用一个不同的,更长的连接超时。最终的结果是给servlet更长的时间以便完成其执行,或者在数据上载的时候更长的超时时间。如果没有指定,设为false。
maxKeepAliveRequests 在server关闭连接之前,接受的HTTP请求的最大数目。如果该值设为1,会禁止HTTP/1.0保活,同时也会禁止HTTP/1.1保活和pipelining。如果没有指定,设为100。
maxSpareThreads
在线程池开始停止不必要的线程之前,允许存在的最大未使用的请求处理线程。缺省值为50。
maxThreads
Connector能够创建的最大请求处理线程数,这个值决定了同时能够处理的最大请求数。如果没有指定,缺省值为200。
minSpareThreads
当Connector第一次启动时,创建的请求处理线程数。connector同时必须保证指定数目的空闲处理线程。这个值应该设置成比maxThreads小的数值,缺省值为4。
port
Connector创建server socket并等待连接的TCP端口号。操作系统在特定的IP地址上只允许一个服务器应用程序监听特定的端口。
protocol
为了使用HTTP处理器,该属性值必须为HTTP/1.1(缺省值)
proxyName
如果connector在代理配置中使用,将这个属性设置成调用request.getServerName()时返回的服务器名称。更多信息参考代理支持。
proxyPort
如果Connector在代理配置中使用,这个属性指定了调用request.getServerPort()返回的端口值。更多信息参考代理支持。
socketBuffer
socket输出缓冲区的大小。如果为-1,不使用缓冲。缺省值为9000字节。
tcpNoDelay
如果为true,服务器socket会设置TCP_NO_DELAY选项,在大多数情况下可以提高性能。缺省情况下设为true。
嵌套组件
可以嵌套在Connector中的唯一元素是Factory,用来配置服务器套接口工厂组件。这个组件从来都不需要,现在支持这个组件是为了与Tomcat的早期版本兼容。
专有特征
HTTP/1.1 和HTTP/1.0 支持
Connector 支持HTTP/1.1协议的所有必需特征(如RFC2616所描述的),包括永久性连接,流水线,expectations and chunked encoding。如果客户端(通常是一个浏览器)只支持HTTP/1.0,Connector会自动跳回到HTTP/1.0。不需要特殊的配置来使能这 个支持。Connector也支持HTTP/1.0保活机制。
RFC2616要求HTTP服务器的响应总是以它们宣称支持的最高HTTP版本开始。因此,这个Connector在它的响应的开始总是返回HTTP/1.1。
日志输出
Connector产生的任何调试或者异常信息都会被自动路由到与Connector所属的Engine的Logger。不需要特殊的配置来使能这个支持。
代理支持
在Tomcat位于代理服务器后面时,可以使用proxyName和proxyPort属性。这些属性修改了调用 requset.getServerName()和request.getServerPort()的返回值,用来构造重定向的绝对URL。如果不设置这 些值,返回值反映了代理服务器收到的连接的服务器名称和端口号,而不是客户端发起的服务器名称和端口号。
更多信息,参考代理支持HOW-TO
SSL支持
对Connector的特定实例,可以将secure属性设为true,来使能SSL支持。另外,可以配置如下属性:
属性 描述
algorithm
使用的认证编码算法。缺省值为SunX509。
clientAuth
如果在接受某个连接之前,需要客户端发送有效证书链,将该值设为true。如果为false(缺省值),不需要使用证书链。除非客户端请求被CLIENT-CERT认证保护的资源。
keystoreFile
存储服务器证书的keystore文件路径。缺省情况下,路径指向运行Tomcat的用户主目录下的".keystore"。
keystorePass
用来访问服务器证书的密码,缺省值未"changeit"
keystoreType
用于存储服务器证书的keystore文件的类型。缺省值未"JKS"
sslProtocol
SSL协议的版本号,缺省值是TLS
ciphers
可以使用的加密算法列表,用逗号分开。如果没有指定,可以使用任何算法。
文献出处:http://1632004.blog.163.com/blog/static/29991497201201912858468/
分享到:
相关推荐
### Tomcat服务器配置及数据库连接池配置详解 #### 一、Tomcat服务器配置与环境搭建 ##### 1. JDK安装与配置 - **系统环境**:Windows 2003 Server SP3。 - **JDK路径设置**: - `JAVA_HOME` 设置为 `C:\JDK`。 ...
在IT行业中,服务器配置是关键的一环,特别是对于使用Apache和Tomcat的环境。Apache作为流行的Web服务器,常与Java应用服务器Tomcat协同工作来处理动态内容。以下是对"Tomcat协同配置参考"的详细说明: 1. **Tomcat...
在tomcat服务器下配置server.xml文件。tomcat启动报错,可参考该文件。
【Tomcat服务器配置详解】 Tomcat是一个基于Java的开源Web服务器,它主要负责运行JSP和Servlet。Tomcat由Apache软件基金会开发,是Java Servlet和JavaServer Pages(JSP)技术的标准实现。虽然Tomcat专注于Servlet...
**JSP环境配置指南——基于Tomcat服务器** JavaServer Pages(JSP)是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,从而实现动态网页的生成。配置JSP开发环境通常需要一个Web服务器,如Apache Tomcat...
Tomcat 服务器证书安装配置指南 Tomcat 服务器证书安装配置是一个复杂的过程,需要用户具备一定的 IT 基础知识。本文档旨在提供一个详细的指导材料,帮助用户一步一步地完成证书安装配置。 生成证书请求 在生成...
现在你可以启动Tomcat服务器了: ``` $CATALINA_HOME/bin/startup.sh ``` 如果一切顺利,Tomcat将在8080端口上启动,可以通过访问`http://your_server_ip:8080`来确认。 **7. 配置Tomcat** Tomcat的配置主要涉及...
Tomcat服务器以其小巧、高效和免费的特点赢得了广泛的用户群体。 标题中的"tomcat服务器"指的是Apache Tomcat,它是一个执行Java Servlet和JavaServer Pages(JSP)的服务器,也是Java EE应用程序的容器。Tomcat与...
这个文件包含了Tomcat服务器的所有配置信息。您可能需要修改以下端口: - `Connector port="8080"`:这是HTTP服务的默认端口,可以根据需要更改。 - `Connector port="8005"`:用于Tomcat服务器的shutdown命令,...
Apache 与Tomcat 集成配置 具体可参考 http://blog.csdn.net/heng_ji/article/details/50850253 http://blog.csdn.net/heng_ji/article/details/50849184
- **负载均衡**:如果有多台Tomcat服务器,可以通过Apache实现负载均衡,提高系统可用性。 - **安全性**:确保Apache和Tomcat之间的通信是安全的,避免数据泄露。可以使用SSL/TLS加密连接。 - **日志管理**:集成后...
josso+Tomcat配置之josso服务器配置 josso是基于Java的单点登录(SSO)服务器,能够提供身份验证和授权服务。Tomcat是Apache软件基金会开发的开源Java servlet容器。配置josso服务器需要将josso war文件部署到...
1. **server.xml**:这是Tomcat的主要配置文件,定义了服务器的全局属性,包括端口号、连接器、Context(应用上下文)以及全局JNDI资源。例如,你可以在这个文件中更改默认的HTTP监听端口8080。 2. **web.xml**:...
Eclipse有专门的插件(如Tomcat插件)可以无缝地与Tomcat服务器配合,实现快速部署和调试。 总结来说,Apache Tomcat 6.0是一款强大的Java Web应用服务器,支持最新的Servlet和JSP规范,提供了易用的配置、高性能、...
本文将详细介绍如何对刚搭建好的Tomcat服务器进行简单的优化,包括启动内存优化以及线程和连接数的配置优化等方面。 #### 二、启动内存优化 启动内存优化是提高Tomcat服务器性能的重要手段之一。合理的内存设置...
然而,在实际部署过程中,特别是在Tomcat服务器环境下配置该API,可能会遇到不少挑战。本文将详细介绍如何在Tomcat服务器上配置并使用ArcGIS JavaScript API。 #### 二、ArcGIS JavaScript API简介 ArcGIS ...
1. **下载Tomcat服务器** 在配置Tomcat之前,你需要首先从官方网站下载适合你操作系统(例如Windows)的Tomcat版本。通常,Windows用户会选择ZIP包下载,然后解压缩到你想要的位置。这里提供两个链接供参考: - ...
【描述】:Tomcat服务器安装包提供了在本地计算机上安装和配置Tomcat环境的必要文件。这个压缩包包含了一系列的配置文件、可执行脚本以及用于管理Tomcat的文档,使用户能够启动、停止、监控和配置服务器。 【标签】...