View | Details | Raw Unified | Return to bug 50923
Collapse All | Expand All

(-)webapps/docs/config/http.xml (-74 / +74 lines)
Lines 85-94 Link Here
85
    </attribute>
85
    </attribute>
86
86
87
    <attribute name="enableLookups" required="false">
87
    <attribute name="enableLookups" required="false">
88
      <p>Set to <code>true</code> if you want calls to
88
      <p>Set to <entry>true</entry> if you want calls to
89
      <code>request.getRemoteHost()</code> to perform DNS lookups in
89
      <code>request.getRemoteHost()</code> to perform DNS lookups in
90
      order to return the actual host name of the remote client.  Set
90
      order to return the actual host name of the remote client.  Set
91
      to <code>false</code> to skip the DNS lookup and return the IP
91
      to <entry>false</entry> to skip the DNS lookup and return the IP
92
      address in String form instead (thereby improving performance).
92
      address in String form instead (thereby improving performance).
93
      By default, DNS lookups are enabled.</p>
93
      By default, DNS lookups are enabled.</p>
94
    </attribute>
94
    </attribute>
Lines 120-131 Link Here
120
      bodies will be parsed for request parameters identically
120
      bodies will be parsed for request parameters identically
121
      to POST. This is useful in RESTful applications that want to
121
      to POST. This is useful in RESTful applications that want to
122
      support POST-style semantics for PUT requests.
122
      support POST-style semantics for PUT requests.
123
      Note that any setting other than <code>POST</code> causes Tomcat
123
      Note that any setting other than <entry>POST</entry> causes Tomcat
124
      to behave in a way that goes against the intent of the servlet
124
      to behave in a way that goes against the intent of the servlet
125
      specification.
125
      specification.
126
      The HTTP method TRACE is specifically forbidden here in accordance
126
      The HTTP method TRACE is specifically forbidden here in accordance
127
      with the HTTP specification.
127
      with the HTTP specification.
128
      The default is <code>POST</code></p>
128
      The default is <entry>POST</entry></p>
129
    </attribute>
129
    </attribute>
130
130
131
    <attribute name="port" required="true">
131
    <attribute name="port" required="true">
Lines 137-143 Link Here
137
137
138
    <attribute name="protocol" required="false">
138
    <attribute name="protocol" required="false">
139
      <p>Sets the protocol to handle incoming traffic. The default value is
139
      <p>Sets the protocol to handle incoming traffic. The default value is
140
        <code>HTTP/1.1</code> which uses an auto-switching mechanism to select
140
        <entry>HTTP/1.1</entry> which uses an auto-switching mechanism to select
141
        either a blocking Java based connector or an APR/native based connector.
141
        either a blocking Java based connector or an APR/native based connector.
142
        If the <code>PATH</code> (Windows) or <code>LD_LIBRARY_PATH</code> (on
142
        If the <code>PATH</code> (Windows) or <code>LD_LIBRARY_PATH</code> (on
143
        most unix systems) environment variables contain the Tomcat native
143
        most unix systems) environment variables contain the Tomcat native
Lines 147-157 Link Here
147
        Java connectors.<br/>
147
        Java connectors.<br/>
148
        To use an explicit protocol rather than rely on the auto-switching
148
        To use an explicit protocol rather than rely on the auto-switching
149
        mechanism described above, the following values may be used:<br/>
149
        mechanism described above, the following values may be used:<br/>
150
        <code>org.apache.coyote.http11.Http11Protocol</code> -
150
        <entry>org.apache.coyote.http11.Http11Protocol</entry> -
151
              blocking Java connector<br/>
151
              blocking Java connector<br/>
152
        <code>org.apache.coyote.http11.Http11NioProtocol</code> -
152
        <entry>org.apache.coyote.http11.Http11NioProtocol</entry> -
153
              non blocking Java connector<br/>
153
              non blocking Java connector<br/>
154
        <code>org.apache.coyote.http11.Http11AprProtocol</code> -
154
        <entry>org.apache.coyote.http11.Http11AprProtocol</entry> -
155
              the APR/native connector.<br/>
155
              the APR/native connector.<br/>
156
        Custom implementations may also be used.<br/>
156
        Custom implementations may also be used.<br/>
157
        Take a look at our <a href="#Connector Comparison">Connector
157
        Take a look at our <a href="#Connector Comparison">Connector
Lines 189-206 Link Here
189
    <attribute name="scheme" required="false">
189
    <attribute name="scheme" required="false">
190
      <p>Set this attribute to the name of the protocol you wish to have
190
      <p>Set this attribute to the name of the protocol you wish to have
191
      returned by calls to <code>request.getScheme()</code>.  For
191
      returned by calls to <code>request.getScheme()</code>.  For
192
      example, you would set this attribute to "<code>https</code>"
192
      example, you would set this attribute to <entry>https</entry>
193
      for an SSL Connector.  The default value is "<code>http</code>".
193
      for an SSL Connector.  The default value is <entry>http</entry>.
194
      </p>
194
      </p>
195
    </attribute>
195
    </attribute>
196
196
197
    <attribute name="secure" required="false">
197
    <attribute name="secure" required="false">
198
      <p>Set this attribute to <code>true</code> if you wish to have
198
      <p>Set this attribute to <entry>true</entry> if you wish to have
199
      calls to <code>request.isSecure()</code> to return <code>true</code>
199
      calls to <code>request.isSecure()</code> to return <code>true</code>
200
      for requests received by this Connector. You would want this on an
200
      for requests received by this Connector. You would want this on an
201
      SSL Connector or a non SSL connector that is receiving data from a 
201
      SSL Connector or a non SSL connector that is receiving data from a 
202
      SSL accelerator, like a crypto card, a SSL appliance or even a webserver.
202
      SSL accelerator, like a crypto card, a SSL appliance or even a webserver.
203
      The default value is <code>false</code>.</p>
203
      The default value is <entry>false</entry>.</p>
204
    </attribute>
204
    </attribute>
205
205
206
    <attribute name="URIEncoding" required="false">
206
    <attribute name="URIEncoding" required="false">
Lines 215-234 Link Here
215
      setting is present for compatibility with Tomcat 4.1.x, where the
215
      setting is present for compatibility with Tomcat 4.1.x, where the
216
      encoding specified in the contentType, or explicitly set using
216
      encoding specified in the contentType, or explicitly set using
217
      Request.setCharacterEncoding method was also used for the parameters from
217
      Request.setCharacterEncoding method was also used for the parameters from
218
      the URL. The default value is <code>false</code>.
218
      the URL. The default value is <entry>false</entry>.
219
      </p>
219
      </p>
220
    </attribute>
220
    </attribute>
221
221
222
    <attribute name="useIPVHosts" required="false">
222
    <attribute name="useIPVHosts" required="false">
223
      <p>Set this attribute to <code>true</code> to cause Tomcat to use
223
      <p>Set this attribute to <entry>true</entry> to cause Tomcat to use
224
      the IP address that the request was received on to determine the Host
224
      the IP address that the request was received on to determine the Host
225
      to send the request to.  The default value is <code>false</code>.</p>
225
      to send the request to.  The default value is <entry>false</entry>.</p>
226
    </attribute>
226
    </attribute>
227
227
228
    <attribute name="xpoweredBy" required="false">
228
    <attribute name="xpoweredBy" required="false">
229
      <p>Set this attribute to <code>true</code> to cause Tomcat to advertise
229
      <p>Set this attribute to <entry>true</entry> to cause Tomcat to advertise
230
      support for the Servlet specification using the header recommended in the
230
      support for the Servlet specification using the header recommended in the
231
      specification.  The default value is <code>false</code>.</p>
231
      specification.  The default value is <entry>false</entry>.</p>
232
    </attribute>
232
    </attribute>
233
233
234
  </attributes>
234
  </attributes>
Lines 255-261 Link Here
255
      value on a multi CPU machine, although you would never really need more
255
      value on a multi CPU machine, although you would never really need more
256
      than <code>2</code>. Also, with a lot of non keep alive connections, you
256
      than <code>2</code>. Also, with a lot of non keep alive connections, you
257
      might want to increase this value as well. Default value is
257
      might want to increase this value as well. Default value is
258
      <code>1</code>.</p>
258
      <entry>1</entry>.</p>
259
    </attribute>
259
    </attribute>
260
260
261
    <attribute name="address" required="false">
261
    <attribute name="address" required="false">
Lines 268-281 Link Here
268
    <attribute name="bindOnInit" required="false">
268
    <attribute name="bindOnInit" required="false">
269
      <p>Controls when the socket used by the connector is bound. By default it
269
      <p>Controls when the socket used by the connector is bound. By default it
270
      is bound when the connector is initiated and unbund when the connector is
270
      is bound when the connector is initiated and unbund when the connector is
271
      destroyed. If set to <code>false</code>, the socket will be bound when the
271
      destroyed. If set to <entry>false</entry>, the socket will be bound when the
272
      connector is started and unbound when it is stopped.</p>
272
      connector is started and unbound when it is stopped.</p>
273
    </attribute>
273
    </attribute>
274
274
275
    <attribute name="compressableMimeType" required="false">
275
    <attribute name="compressableMimeType" required="false">
276
      <p>The value is a comma separated list of MIME types for which HTTP
276
      <p>The value is a comma separated list of MIME types for which HTTP
277
      compression may be used.
277
      compression may be used.
278
      The default value is <code>text/html,text/xml,text/plain</code>.</p>
278
      The default value is <entry>text/html,text/xml,text/plain</entry>.</p>
279
    </attribute>
279
    </attribute>
280
280
281
    <attribute name="compression" required="false">
281
    <attribute name="compression" required="false">
Lines 311-317 Link Here
311
    <attribute name="connectionLinger" required="false">
311
    <attribute name="connectionLinger" required="false">
312
      <p>The number of milliseconds during which the sockets used by this
312
      <p>The number of milliseconds during which the sockets used by this
313
      <strong>Connector</strong> will linger when they are closed.
313
      <strong>Connector</strong> will linger when they are closed.
314
      The default value <code>-1</code> which disables this option.</p>
314
      The default value <entry>-1</entry> which disables this option.</p>
315
    </attribute>
315
    </attribute>
316
316
317
    <attribute name="connectionTimeout" required="false">
317
    <attribute name="connectionTimeout" required="false">
Lines 323-336 Link Here
323
    <attribute name="connectionUploadTimeout" required="false">
323
    <attribute name="connectionUploadTimeout" required="false">
324
      <p>Specifies the timeout, in milliseconds, to use while a data upload is
324
      <p>Specifies the timeout, in milliseconds, to use while a data upload is
325
      in progress. This only takes effect if
325
      in progress. This only takes effect if
326
      <strong>disableUploadTimeout</strong> is set to <code>false</code>.
326
      <strong>disableUploadTimeout</strong> is set to <entry>false</entry>.
327
      </p>
327
      </p>
328
    </attribute>
328
    </attribute>
329
329
330
    <attribute name="disableUploadTimeout" required="false">
330
    <attribute name="disableUploadTimeout" required="false">
331
      <p>This flag allows the servlet container to use a different, usually
331
      <p>This flag allows the servlet container to use a different, usually
332
      longer connection timeout during data upload. If not specified, this
332
      longer connection timeout during data upload. If not specified, this
333
      attribute is set to <code>true</code> which disables this longer timeout.
333
      attribute is set to <entry>true</entry> which disables this longer timeout.
334
      </p>
334
      </p>
335
    </attribute>
335
    </attribute>
336
336
Lines 379-397 Link Here
379
      connections until the number of connections reach below this value. The operating system may still accept connections based 
379
      connections until the number of connections reach below this value. The operating system may still accept connections based 
380
      on the <code>acceptCount</code> setting.
380
      on the <code>acceptCount</code> setting.
381
      This setting is currently only applicable to the blocking Java connectors (AJP/HTTP).
381
      This setting is currently only applicable to the blocking Java connectors (AJP/HTTP).
382
      Default value is <code>10000</code>.</p>
382
      Default value is <entry>10000</entry>.</p>
383
    </attribute>
383
    </attribute>
384
384
385
    <attribute name="maxTrailerSize" required="false">
385
    <attribute name="maxTrailerSize" required="false">
386
      <p>Limits the total length of trailing headers in the last chunk of
386
      <p>Limits the total length of trailing headers in the last chunk of
387
      a chunked HTTP request. If the value is <code>-1</code>, no limit will be
387
      a chunked HTTP request. If the value is <entry>-1</entry>, no limit will be
388
      imposed. If not specified, the default value of <code>8192</code> will be
388
      imposed. If not specified, the default value of <entry>8192</entry> will be
389
      used.</p>
389
      used.</p>
390
    </attribute>
390
    </attribute>
391
391
392
    <attribute name="minSpareThreads" required="false">
392
    <attribute name="minSpareThreads" required="false">
393
      <p>The minimum number of threads always kept running. If not specified,
393
      <p>The minimum number of threads always kept running. If not specified,
394
      the default of <code>10</code> is used.</p>
394
      the default of <entry>10</entry> is used.</p>
395
    </attribute>
395
    </attribute>
396
396
397
    <attribute name="noCompressionUserAgents" required="false">
397
    <attribute name="noCompressionUserAgents" required="false">
Lines 406-412 Link Here
406
    <attribute name="processorCache" required="false">
406
    <attribute name="processorCache" required="false">
407
      <p>The protocol handler caches Processor objects to speed up performance.
407
      <p>The protocol handler caches Processor objects to speed up performance.
408
      This setting dictates how many of these objects get cached.
408
      This setting dictates how many of these objects get cached.
409
      <code>-1</code> means unlimited, default is <code>200</code>. Set this
409
      <entry>-1</entry> means unlimited, default is <entry>200</entry>. Set this
410
      value somewhere close to your maxThreads value.</p>
410
      value somewhere close to your maxThreads value.</p>
411
    </attribute>
411
    </attribute>
412
      
412
      
Lines 423-429 Link Here
423
      for this attribute overrides the Tomcat default and any Server header set
423
      for this attribute overrides the Tomcat default and any Server header set
424
      by a web application. If not set, any value specified by the application
424
      by a web application. If not set, any value specified by the application
425
      is used. If the application does not specify a value then
425
      is used. If the application does not specify a value then
426
      <code>Apache-Coyote/1.1</code> is used. Unless you are paranoid, you won't
426
      <entry>Apache-Coyote/1.1</entry> is used. Unless you are paranoid, you won't
427
      need this feature.
427
      need this feature.
428
      </p>
428
      </p>
429
    </attribute>
429
    </attribute>
Lines 437-445 Link Here
437
    <attribute name="SSLEnabled" required="false">
437
    <attribute name="SSLEnabled" required="false">
438
      <p>Use this attribute to enable SSL traffic on a connector.
438
      <p>Use this attribute to enable SSL traffic on a connector.
439
      To turn on SSL handshake/encryption/decryption on a connector
439
      To turn on SSL handshake/encryption/decryption on a connector
440
      set this value to <code>true</code>.
440
      set this value to <entry>true</entry>.
441
      The default value is <code>false</code>.
441
      The default value is <entry>false</entry>.
442
      When turning this value <code>true</code> you will want to set the 
442
      When turning this value <entry>true</entry> you will want to set the 
443
      <code>scheme</code> and the <code>secure</code> attributes as well
443
      <code>scheme</code> and the <code>secure</code> attributes as well
444
      to pass the correct <code>request.getScheme()</code> and 
444
      to pass the correct <code>request.getScheme()</code> and 
445
      <code>request.isSecure()</code> values to the servlets
445
      <code>request.isSecure()</code> values to the servlets
Lines 448-456 Link Here
448
    </attribute>
448
    </attribute>
449
449
450
    <attribute name="tcpNoDelay" required="false">
450
    <attribute name="tcpNoDelay" required="false">
451
      <p>If set to <code>true</code>, the TCP_NO_DELAY option will be
451
      <p>If set to <entry>true</entry>, the TCP_NO_DELAY option will be
452
      set on the server socket, which improves performance under most
452
      set on the server socket, which improves performance under most
453
      circumstances.  This is set to <code>true</code> by default.</p>
453
      circumstances.  This is set to <entry>true</entry> by default.</p>
454
    </attribute>
454
    </attribute>
455
455
456
    <attribute name="threadPriority" required="false">
456
    <attribute name="threadPriority" required="false">
Lines 499-507 Link Here
499
      <attribute name="socket.soLingerOn" required="false">
499
      <attribute name="socket.soLingerOn" required="false">
500
        <p>(bool)Boolean value for the sockets so linger option (SO_LINGER).
500
        <p>(bool)Boolean value for the sockets so linger option (SO_LINGER).
501
        A value for the standard attribute <strong>connectionLinger</strong>
501
        A value for the standard attribute <strong>connectionLinger</strong>
502
        that is &gt;=0 is equivalent to setting this to <code>true</code>.
502
        that is &gt;=0 is equivalent to setting this to <entry>true</entry>.
503
        A value for the standard attribute <strong>connectionLinger</strong>
503
        A value for the standard attribute <strong>connectionLinger</strong>
504
        that is &lt;0 is equivalent to setting this to <code>false</code>.
504
        that is &lt;0 is equivalent to setting this to <entry>false</entry>.
505
        Both this attribute and <code>soLingerTime</code> must be set else the
505
        Both this attribute and <code>soLingerTime</code> must be set else the
506
        JVM defaults will be used for both.</p>
506
        JVM defaults will be used for both.</p>
507
      </attribute>
507
      </attribute>
Lines 517-523 Link Here
517
        <strong>connectionTimeout</strong>.</p>
517
        <strong>connectionTimeout</strong>.</p>
518
      </attribute>      
518
      </attribute>      
519
      <attribute name="socket.soTrafficClass" required="false">
519
      <attribute name="socket.soTrafficClass" required="false">
520
        <p>(byte)Value between <code>0</code> and <code>255</code> for the
520
        <p>(byte)Value between <entry>0</entry> and <entry>255</entry> for the
521
        traffic class on the socket. JVM default used if not set.</p>
521
        traffic class on the socket. JVM default used if not set.</p>
522
        <p><strong>Note</strong>On some JDK versions, setting
522
        <p><strong>Note</strong>On some JDK versions, setting
523
        <strong>soTrafficClass</strong> causes a problem. A work around for this
523
        <strong>soTrafficClass</strong> causes a problem. A work around for this
Lines 544-550 Link Here
544
      </attribute> 
544
      </attribute> 
545
      <attribute name="socket.unlockTimeout" required="false">
545
      <attribute name="socket.unlockTimeout" required="false">
546
        <p>(int) The timeout for a socket unlock. When a connector is stopped, it will try to release the acceptor thread by opening a connector to itself.
546
        <p>(int) The timeout for a socket unlock. When a connector is stopped, it will try to release the acceptor thread by opening a connector to itself.
547
           The default value is <code>250</code> and the value is in milliseconds</p>
547
           The default value is <entry>250</entry> and the value is in milliseconds</p>
548
      </attribute> 
548
      </attribute> 
549
    </attributes>
549
    </attributes>
550
  </subsection>
550
  </subsection>
Lines 570-576 Link Here
570
570
571
      <attribute name="pollerThreadCount" required="false">
571
      <attribute name="pollerThreadCount" required="false">
572
        <p>(int)The number of threads to be used to run for the polling events.
572
        <p>(int)The number of threads to be used to run for the polling events.
573
        Default value is <code>1</code> per processor. Can't see a reason to go
573
        Default value is <entry>1</entry> per processor. Can't see a reason to go
574
        above that. But experiment and find your own results.</p>
574
        above that. But experiment and find your own results.</p>
575
      </attribute>
575
      </attribute>
576
      
576
      
Lines 584-605 Link Here
584
        <p>(int)The time in milliseconds to timeout on a select() for the
584
        <p>(int)The time in milliseconds to timeout on a select() for the
585
        poller. This value is important, since connection clean up is done on
585
        poller. This value is important, since connection clean up is done on
586
        the same thread, so do not set this value to an extremely high one. The
586
        the same thread, so do not set this value to an extremely high one. The
587
        default value is <code>1000</code> milliseconds.</p>
587
        default value is <entry>1000</entry> milliseconds.</p>
588
      </attribute>
588
      </attribute>
589
589
590
      <attribute name="useComet" required="false">
590
      <attribute name="useComet" required="false">
591
        <p>(bool)Whether to allow comet servlets or not. Default value is
591
        <p>(bool)Whether to allow comet servlets or not. Default value is
592
        <code>true</code>.</p>
592
        <entry>true</entry>.</p>
593
      </attribute>
593
      </attribute>
594
594
595
      <attribute name="useSendfile" required="false">
595
      <attribute name="useSendfile" required="false">
596
        <p>(bool)Use this attribute to enable or disable sendfile capability.
596
        <p>(bool)Use this attribute to enable or disable sendfile capability.
597
        The default value is <code>true</code>.</p>
597
        The default value is <entry>true</entry>.</p>
598
      </attribute>
598
      </attribute>
599
599
600
      <attribute name="socket.directBuffer" required="false">
600
      <attribute name="socket.directBuffer" required="false">
601
        <p>(bool)Boolean value, whether to use direct ByteBuffers or java mapped
601
        <p>(bool)Boolean value, whether to use direct ByteBuffers or java mapped
602
        ByteBuffers. Default is <code>false</code>.<br/>
602
        ByteBuffers. Default is <entry>false</entry>.<br/>
603
        When you are using direct buffers, make sure you allocate the
603
        When you are using direct buffers, make sure you allocate the
604
        appropriate amount of memory for the direct memory space. On Sun's JDK
604
        appropriate amount of memory for the direct memory space. On Sun's JDK
605
        that would be something like <code>-XX:MaxDirectMemorySize=256m</code>.
605
        that would be something like <code>-XX:MaxDirectMemorySize=256m</code>.
Lines 609-615 Link Here
609
      <attribute name="socket.appReadBufSize" required="false">
609
      <attribute name="socket.appReadBufSize" required="false">
610
        <p>(int)Each connection that is opened up in Tomcat get associated with
610
        <p>(int)Each connection that is opened up in Tomcat get associated with
611
        a read ByteBuffer. This attribute controls the size of this buffer. By
611
        a read ByteBuffer. This attribute controls the size of this buffer. By
612
        default this read buffer is sized at <code>8192</code> bytes. For lower
612
        default this read buffer is sized at <entry>8192</entry> bytes. For lower
613
        concurrency, you can increase this to buffer more data. For an extreme
613
        concurrency, you can increase this to buffer more data. For an extreme
614
        amount of keep alive connections, decrease this number or increase your
614
        amount of keep alive connections, decrease this number or increase your
615
        heap size.</p>
615
        heap size.</p>
Lines 618-624 Link Here
618
      <attribute name="socket.appWriteBufSize" required="false">
618
      <attribute name="socket.appWriteBufSize" required="false">
619
        <p>(int)Each connection that is opened up in Tomcat get associated with
619
        <p>(int)Each connection that is opened up in Tomcat get associated with
620
        a write ByteBuffer. This attribute controls the size of this buffer. By
620
        a write ByteBuffer. This attribute controls the size of this buffer. By
621
        default this write buffer is sized at <code>8192</code> bytes. For low
621
        default this write buffer is sized at <entry>8192</entry> bytes. For low
622
        concurrency you can increase this to buffer more response data. For an
622
        concurrency you can increase this to buffer more response data. For an
623
        extreme amount of keep alive connections, decrease this number or
623
        extreme amount of keep alive connections, decrease this number or
624
        increase your heap size.<br/>
624
        increase your heap size.<br/>
Lines 630-638 Link Here
630
        <p>(int)The NIO connector uses a class called NioChannel that holds
630
        <p>(int)The NIO connector uses a class called NioChannel that holds
631
        elements linked to a socket. To reduce garbage collection, the NIO
631
        elements linked to a socket. To reduce garbage collection, the NIO
632
        connector caches these channel objects. This value specifies the size of
632
        connector caches these channel objects. This value specifies the size of
633
        this cache. The default value is <code>500</code>, and represents that
633
        this cache. The default value is <entry>500</entry>, and represents that
634
        the cache will hold 500 NioChannel objects. Other values are
634
        the cache will hold 500 NioChannel objects. Other values are
635
        <code>-1</code> for unlimited cache and <code>0</code> for no cache.</p>
635
        <entry>-1</entry> for unlimited cache and <entry>0</entry> for no cache.</p>
636
      </attribute>
636
      </attribute>
637
637
638
      <attribute name="socket.bufferPoolSize" required="false">
638
      <attribute name="socket.bufferPoolSize" required="false">
Lines 643-678 Link Here
643
        SecureNioChannel <code>buffer size = application read buffer size +
643
        SecureNioChannel <code>buffer size = application read buffer size +
644
        application write buffer size + network read buffer size +
644
        application write buffer size + network read buffer size +
645
        network write buffer size</code><br/>
645
        network write buffer size</code><br/>
646
        The value is in bytes, the default value is <code>1024*1024*100</code>
646
        The value is in bytes, the default value is <entry>1024*1024*100</entry>
647
        (100MB).</p>
647
        (100MB).</p>
648
      </attribute>
648
      </attribute>
649
649
650
      <attribute name="socket.processorCache" required="false">
650
      <attribute name="socket.processorCache" required="false">
651
        <p>(int)Tomcat will cache SocketProcessor objects to reduce garbage
651
        <p>(int)Tomcat will cache SocketProcessor objects to reduce garbage
652
        collection. The integer value specifies how many objects to keep in the
652
        collection. The integer value specifies how many objects to keep in the
653
        cache at most. The default is <code>500</code>. Other values are
653
        cache at most. The default is <entry>500</entry>. Other values are
654
        <code>-1</code> for unlimited cache and <code>0</code>for no cache.</p>
654
        <entry>-1</entry> for unlimited cache and <entry>0</entry>for no cache.</p>
655
      </attribute>
655
      </attribute>
656
656
657
      <attribute name="socket.keyCache" required="false">
657
      <attribute name="socket.keyCache" required="false">
658
        <p>(int)Tomcat will cache KeyAttachment objects to reduce garbage
658
        <p>(int)Tomcat will cache KeyAttachment objects to reduce garbage
659
        collection. The integer value specifies how many objects to keep in the
659
        collection. The integer value specifies how many objects to keep in the
660
        cache at most. The default is <code>500</code>. Other values are
660
        cache at most. The default is <entry>500</entry>. Other values are
661
        <code>-1</code> for unlimited cache and <code>0</code>for no cache.</p>
661
        <entry>-1</entry> for unlimited cache and <entry>0</entry>for no cache.</p>
662
      </attribute>
662
      </attribute>
663
663
664
      <attribute name="socket.eventCache" required="false">
664
      <attribute name="socket.eventCache" required="false">
665
        <p>(int)Tomcat will cache PollerEvent objects to reduce garbage
665
        <p>(int)Tomcat will cache PollerEvent objects to reduce garbage
666
        collection. The integer value specifies how many objects to keep in the
666
        collection. The integer value specifies how many objects to keep in the
667
        cache at most. The default is <code>500</code>. Other values are
667
        cache at most. The default is <entry>500</entry>. Other values are
668
        <code>-1</code> for unlimited cache and <code>0</code>for no cache.</p>
668
        <entry>-1</entry> for unlimited cache and <entry>0</entry>for no cache.</p>
669
      </attribute>
669
      </attribute>
670
670
671
      <attribute name="selectorPool.maxSelectors" required="false">
671
      <attribute name="selectorPool.maxSelectors" required="false">
672
        <p>(int)The max selectors to be used in the pool, to reduce selector
672
        <p>(int)The max selectors to be used in the pool, to reduce selector
673
        contention. Use this option when the command line
673
        contention. Use this option when the command line
674
        <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set
674
        <code>org.apache.tomcat.util.net.NioSelectorShared</code> value is set
675
        to false. Default value is <code>200</code>.</p>
675
        to false. Default value is <entry>200</entry>.</p>
676
      </attribute>
676
      </attribute>
677
677
678
      <attribute name="selectorPool.maxSpareSelectors" required="false">
678
      <attribute name="selectorPool.maxSpareSelectors" required="false">
Lines 680-693 Link Here
680
        selector contention. When a selector is returned to the pool, the system
680
        selector contention. When a selector is returned to the pool, the system
681
        can decide to keep it or let it be GC'd. Use this option when the
681
        can decide to keep it or let it be GC'd. Use this option when the
682
        command line <code>org.apache.tomcat.util.net.NioSelectorShared</code>
682
        command line <code>org.apache.tomcat.util.net.NioSelectorShared</code>
683
        value is set to false. Default value is <code>-1</code> (unlimited).</p>
683
        value is set to false. Default value is <entry>-1</entry> (unlimited).</p>
684
      </attribute>
684
      </attribute>
685
685
686
      <attribute name="command-line-options" required="false">
686
      <attribute name="command-line-options" required="false">
687
        <p>The following command line options are available for the NIO
687
        <p>The following command line options are available for the NIO
688
        connector:<br/>
688
        connector:<br/>
689
        <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true|false</code>
689
        <code>-Dorg.apache.tomcat.util.net.NioSelectorShared=true|false</code>
690
        - default is <code>true</code>. Set this value to false if you wish to
690
        - default is <entry>true</entry>. Set this value to false if you wish to
691
        use a selector for each thread. If you do set it to false, you can
691
        use a selector for each thread. If you do set it to false, you can
692
        control the size of the pool of selectors by using the 
692
        control the size of the pool of selectors by using the 
693
        <strong>selectorPool.maxSelectors attribute</strong>.</p>
693
        <strong>selectorPool.maxSelectors attribute</strong>.</p>
Lines 699-705 Link Here
699
        this chunk of data is released and the error is reported. This will give
699
        this chunk of data is released and the error is reported. This will give
700
        the VM enough room to clean up. The <code>oomParachute</code> represents
700
        the VM enough room to clean up. The <code>oomParachute</code> represents
701
        the size in bytes of the parachute(the byte array). The default value is
701
        the size in bytes of the parachute(the byte array). The default value is
702
        <code>1024*1024</code>(1MB). Please note, this only works for OOM errors
702
        <entry>1024*1024</entry>(1MB). Please note, this only works for OOM errors
703
        regarding the Java Heap space, and there is absolutely no  guarantee
703
        regarding the Java Heap space, and there is absolutely no  guarantee
704
        that you will be able to recover at all. If you have an OOM outside of
704
        that you will be able to recover at all. If you have an OOM outside of
705
        the Java Heap, then this parachute trick will not help.
705
        the Java Heap, then this parachute trick will not help.
Lines 716-724 Link Here
716
716
717
      <attribute name="deferAccept" required="false">
717
      <attribute name="deferAccept" required="false">
718
        <p>Sets the <code>TCP_DEFER_ACCEPT</code> flag on the listening socket
718
        <p>Sets the <code>TCP_DEFER_ACCEPT</code> flag on the listening socket
719
        for this connector. The default value is <code>true</code> where
719
        for this connector. The default value is <entry>true</entry> where
720
        <code>TCP_DEFER_ACCEPT</code> is supported by the operating system,
720
        <code>TCP_DEFER_ACCEPT</code> is supported by the operating system,
721
        otherwise it is <code>false</code>.</p>
721
        otherwise it is <entry>false</entry>.</p>
722
      </attribute>
722
      </attribute>
723
    
723
    
724
      <attribute name="pollerSize" required="false">
724
      <attribute name="pollerSize" required="false">
Lines 769-780 Link Here
769
769
770
      <attribute name="useComet" required="false">
770
      <attribute name="useComet" required="false">
771
        <p>(bool)Whether to allow comet servlets or not. Default value is
771
        <p>(bool)Whether to allow comet servlets or not. Default value is
772
        <code>true</code>.</p>
772
        <entry>true</entry>.</p>
773
      </attribute>
773
      </attribute>
774
774
775
      <attribute name="useSendfile" required="false">
775
      <attribute name="useSendfile" required="false">
776
        <p>(bool)Use this attribute to enable or disable sendfile capability.
776
        <p>(bool)Use this attribute to enable or disable sendfile capability.
777
        The default value is <code>true</code>.</p>
777
        The default value is <entry>true</entry>.</p>
778
      </attribute>
778
      </attribute>
779
779
780
    </attributes>
780
    </attributes>
Lines 836-842 Link Here
836
836
837
  <p>You can enable SSL support for a particular instance of this
837
  <p>You can enable SSL support for a particular instance of this
838
  <strong>Connector</strong> by setting the <code>SSLEnabled</code> attribute to
838
  <strong>Connector</strong> by setting the <code>SSLEnabled</code> attribute to
839
  <code>true</code>.</p>
839
  <entry>true</entry>.</p>
840
840
841
  <p>You will also need to set the <code>scheme</code> and <code>secure</code>
841
  <p>You will also need to set the <code>scheme</code> and <code>secure</code>
842
  attributes to the values <code>https</code> and <code>true</code>
842
  attributes to the values <code>https</code> and <code>true</code>
Lines 855-862 Link Here
855
    <attribute name="algorithm" required="false">
855
    <attribute name="algorithm" required="false">
856
      <p>The certificate encoding algorithm to be used. This defaults to
856
      <p>The certificate encoding algorithm to be used. This defaults to
857
      <code>KeyManagerFactory.getDefaultAlgorithm()</code> which returns
857
      <code>KeyManagerFactory.getDefaultAlgorithm()</code> which returns
858
      <code>SunX509</code> for Sun JVMs. IBM JVMs return
858
      <entry>SunX509</entry> for Sun JVMs. IBM JVMs return
859
      <code>IbmX509</code>. For other vendors, consult the JVM
859
      <entry>IbmX509</entry>. For other vendors, consult the JVM
860
      documentation for the default value.</p>
860
      documentation for the default value.</p>
861
    </attribute>
861
    </attribute>
862
862
Lines 864-870 Link Here
864
      <p>Is unsafe legacy TLS renegotiation allowed which is likely to expose
864
      <p>Is unsafe legacy TLS renegotiation allowed which is likely to expose
865
      users to CVE-2009-3555, a man-in-the-middle vulnerability in the TLS
865
      users to CVE-2009-3555, a man-in-the-middle vulnerability in the TLS
866
      protocol that allows an attacker to inject arbitrary data into the user's
866
      protocol that allows an attacker to inject arbitrary data into the user's
867
      request. If not specified, a default of <code>false</code> is used. This
867
      request. If not specified, a default of <entry>false</entry> is used. This
868
      attribute only has an effect if the JVM does not support RFC 5746 as
868
      attribute only has an effect if the JVM does not support RFC 5746 as
869
      indicated by the presence of the pseudo-ciphersuite
869
      indicated by the presence of the pseudo-ciphersuite
870
      TLS_EMPTY_RENEGOTIATION_INFO_SCSV. This is available JRE/JDK 6 update 22
870
      TLS_EMPTY_RENEGOTIATION_INFO_SCSV. This is available JRE/JDK 6 update 22
Lines 878-893 Link Here
878
      allowed to use. By default, the default ciphers for the JVM will be used.
878
      allowed to use. By default, the default ciphers for the JVM will be used.
879
      Note that this usually means that the weak export grade ciphers will be
879
      Note that this usually means that the weak export grade ciphers will be
880
      included in the list of available ciphers. The ciphers are specified using
880
      included in the list of available ciphers. The ciphers are specified using
881
      the JSSE cipher naming convention. The special value of <code>ALL</code>
881
      the JSSE cipher naming convention. The special value of <entry>ALL</entry>
882
      will enable all supported ciphers. This will include many that are not
882
      will enable all supported ciphers. This will include many that are not
883
      secure. <code>ALL</code> is intended for testing purposes only.</p>
883
      secure. <entry>ALL</entry> is intended for testing purposes only.</p>
884
    </attribute>
884
    </attribute>
885
885
886
    <attribute name="clientAuth" required="false">
886
    <attribute name="clientAuth" required="false">
887
      <p>Set to <code>true</code> if you want the SSL stack to require a
887
      <p>Set to <entry>true</entry> if you want the SSL stack to require a
888
      valid certificate chain from the client before accepting a connection.
888
      valid certificate chain from the client before accepting a connection.
889
      Set to <code>want</code> if you want the SSL stack to request a client
889
      Set to <entry>want</entry> if you want the SSL stack to request a client
890
      Certificate, but not fail if one isn't presented. A <code>false</code>
890
      Certificate, but not fail if one isn't presented. A <entry>false</entry>
891
      value (which is the default) will not require a certificate chain
891
      value (which is the default) will not require a certificate chain
892
      unless the client requests a resource protected by a security
892
      unless the client requests a resource protected by a security
893
      constraint that uses <code>CLIENT-CERT</code> authentication.</p>
893
      constraint that uses <code>CLIENT-CERT</code> authentication.</p>
Lines 946-952 Link Here
946
946
947
    <attribute name="keystoreType" required="false">
947
    <attribute name="keystoreType" required="false">
948
      <p>The type of keystore file to be used for the server certificate.
948
      <p>The type of keystore file to be used for the server certificate.
949
      If not specified, the default value is "<code>JKS</code>".</p>
949
      If not specified, the default value is <entry>JKS</entry>".</p>
950
    </attribute>
950
    </attribute>
951
951
952
    <attribute name="sessionCacheSize" required="false">
952
    <attribute name="sessionCacheSize" required="false">
Lines 968-981 Link Here
968
968
969
    <attribute name="sslImplemenationName" required="false">
969
    <attribute name="sslImplemenationName" required="false">
970
      <p>The class name of the SSL implementation to use. If not specified, the
970
      <p>The class name of the SSL implementation to use. If not specified, the
971
      default of <code>org.apache.tomcat.util.net.jsse.JSSEImplementation</code>
971
      default of <entry>org.apache.tomcat.util.net.jsse.JSSEImplementation</entry>
972
      will be used which wraps JVM&apos;s default JSSE provider. Note that the
972
      will be used which wraps JVM&apos;s default JSSE provider. Note that the
973
      JVM can be configured to use a different JSSE provider as the default.</p>
973
      JVM can be configured to use a different JSSE provider as the default.</p>
974
    </attribute>
974
    </attribute>
975
975
976
    <attribute name="sslProtocol" required="false">
976
    <attribute name="sslProtocol" required="false">
977
      <p>The version of the SSL protocol to use.  If not specified,
977
      <p>The version of the SSL protocol to use.  If not specified,
978
      the default is "<code>TLS</code>".</p>
978
      the default is <entry>TLS</entry>.</p>
979
    </attribute>
979
    </attribute>
980
980
981
    <attribute name="trustManagerClassName" required="false">
981
    <attribute name="trustManagerClassName" required="false">
(-)webapps/docs/tomcat-docs.xsl (+5 lines)
Lines 543-548 Link Here
543
    </td>
543
    </td>
544
  </xsl:template>
544
  </xsl:template>
545
  
545
  
546
  <!-- Make entry values stand out better -->
547
  <xsl:template match="entry">
548
      <strong>"<code><xsl:apply-templates /></code>"</strong>
549
  </xsl:template>
550
546
  <!-- Process everything else by just passing it through -->
551
  <!-- Process everything else by just passing it through -->
547
  <xsl:template match="*|@*">
552
  <xsl:template match="*|@*">
548
    <xsl:copy>
553
    <xsl:copy>

Return to bug 50923