# Class AbstractHttp11Protocol<S>

java.lang.Object
org.apache.coyote.AbstractProtocol<S>
org.apache.coyote.http11.AbstractHttp11Protocol<S>

All Implemented Interfaces:
  `MBeanRegistration`, `ProtocolHandler`

Direct Known Subclasses:
  `AbstractHttp11JsseProtocol`, `Http11AprProtocol`

public abstract class AbstractHttp11Protocol<S> extends AbstractProtocol<S>

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class org.apache.coyote.AbstractProtocol

  `AbstractProtocol.ConnectionHandler<S>, AbstractProtocol.RecycledProcessors`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final StringManager`
  `sm`

  ### Fields inherited from class org.apache.coyote.AbstractProtocol

  `adapter, domain, mserver, oname, processorCache, rgOname`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractHttp11Protocol(AbstractEndpoint<S,?> endpoint)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addAllowedTrailerHeader(String header)`
  `void`
  `addSslHostConfig(SSLHostConfig sslHostConfig)`
  Add a new SSL configuration for a virtual host.
  `void`
  `addSslHostConfig(SSLHostConfig sslHostConfig, boolean replace)`
  Add a new SSL configuration for a virtual host.
  `void`
  `addUpgradeProtocol(UpgradeProtocol upgradeProtocol)`
  Add a new protocol for used by HTTP/1.1 upgrade or ALPN.
  `protected Processor`
  `createProcessor()`
  Create and configure a new Processor instance for the current protocol implementation.
  `protected Processor`
  `createUpgradeProcessor(SocketWrapperBase<?> socket, UpgradeToken upgradeToken)`
  `void`
  `destroy()`
  Destroy the protocol (optional).
  `SSLHostConfig[]`
  `findSslHostConfigs()`
  Find all configured SSL virtual host configurations which will be used by SNI.
  `UpgradeProtocol[]`
  `findUpgradeProtocols()`
  Return all configured upgrade protocols.
  `String`
  `getAlgorithm()`
  Deprecated.
  `String`
  `getAllowedTrailerHeaders()`
  `protected Set<String>`
  `getAllowedTrailerHeadersInternal()`
  `boolean`
  `getAllowHostHeaderMismatch()`
  Deprecated.
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `false`.
  `String`
  `getCiphers()`
  Deprecated.
  `String`
  `getClientAuth()`
  Deprecated.
  `String`
  `getCompressibleMimeType()`
  `String[]`
  `getCompressibleMimeTypes()`
  `String`
  `getCompression()`
  `protected int`
  `getCompressionLevel()`
  `int`
  `getCompressionMinSize()`
  `int`
  `getConnectionUploadTimeout()`
  Specifies a different (usually longer) connection timeout during data upload.
  `String`
  `getContinueResponseTiming()`
  `ContinueResponseTiming`
  `getContinueResponseTimingInternal()`
  `String`
  `getCrlFile()`
  Deprecated.
  `String`
  `getDefaultSSLHostConfigName()`
  `boolean`
  `getDisableUploadTimeout()`
  Get the flag that controls upload time-outs.
  `protected AbstractEndpoint<S,?>`
  `getEndpoint()`
  `HttpParser`
  `getHttpParser()`
  `String`
  `getKeyAlias()`
  Deprecated.
  `String`
  `getKeyPass()`
  Deprecated.
  `String`
  `getKeyPassFile()`
  Deprecated.
  `String`
  `getKeystoreFile()`
  Deprecated.
  `String`
  `getKeystorePass()`
  Deprecated.
  `String`
  `getKeystorePassFile()`
  Deprecated.
  `String`
  `getKeystoreProvider()`
  Deprecated.
  `String`
  `getKeystoreType()`
  Deprecated.
  `int`
  `getMaxExtensionSize()`
  `int`
  `getMaxHttpHeaderSize()`
  `int`
  `getMaxHttpRequestHeaderSize()`
  `int`
  `getMaxHttpResponseHeaderSize()`
  `int`
  `getMaxKeepAliveRequests()`
  `int`
  `getMaxSavePostSize()`
  Return the maximum size of the post which will be saved during FORM or CLIENT-CERT authentication.
  `int`
  `getMaxSwallowSize()`
  `int`
  `getMaxTrailerSize()`
  `UpgradeProtocol`
  `getNegotiatedProtocol(String negotiatedName)`
  Find a suitable handler for the protocol negotiated at the network layer.
  `boolean`
  `getNoCompressionStrongETag()`
  Deprecated.
  `String`
  `getNoCompressionUserAgents()`
  `protected Pattern`
  `getNoCompressionUserAgentsPattern()`
  `ObjectName`
  `getONameForUpgrade(String upgradeProtocol)`
  `protected String`
  `getProtocolName()`
  Obtain the name of the protocol, (Http, Ajp, etc.).
  `boolean`
  `getRejectIllegalHeader()`
  Deprecated.
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `true`.
  `boolean`
  `getRejectIllegalHeaderName()`
  Deprecated.
  Now an alias for `getRejectIllegalHeader()`.
  `String`
  `getRelaxedPathChars()`
  `String`
  `getRelaxedQueryChars()`
  `String`
  `getRestrictedUserAgents()`
  Get the string form of the regular expression that defines the User agents which should be restricted to HTTP/1.0 support.
  `protected Pattern`
  `getRestrictedUserAgentsPattern()`
  `boolean`
  `getSecure()`
  `String`
  `getServer()`
  `boolean`
  `getServerRemoveAppProvidedValues()`
  Should application provider values for the HTTP Server header be removed.
  `int`
  `getSessionCacheSize()`
  Deprecated.
  `int`
  `getSessionTimeout()`
  Deprecated.
  `String`
  `getSSLCACertificateFile()`
  Deprecated.
  `String`
  `getSSLCACertificatePath()`
  Deprecated.
  `String`
  `getSSLCARevocationFile()`
  Deprecated.
  `String`
  `getSSLCARevocationPath()`
  Deprecated.
  `String`
  `getSSLCertificateChainFile()`
  Deprecated.
  `String`
  `getSSLCertificateFile()`
  Deprecated.
  `String`
  `getSSLCertificateKeyFile()`
  Deprecated.
  `String`
  `getSSLCipherSuite()`
  Deprecated.
  `boolean`
  `getSSLDisableCompression()`
  Deprecated.
  `boolean`
  `getSSLDisableSessionTickets()`
  Deprecated.
  `String`
  `getSslEnabledProtocols()`
  Deprecated.
  `boolean`
  `getSSLHonorCipherOrder()`
  Deprecated.
  `String`
  `getSSLPassword()`
  Deprecated.
  `String`
  `getSSLPasswordFile()`
  Deprecated.
  `String`
  `getSslProtocol()`
  Deprecated.
  `String`
  `getSSLProtocol()`
  Deprecated.
  `String`
  `getSSLVerifyClient()`
  Deprecated.
  `int`
  `getSSLVerifyDepth()`
  Deprecated.
  `String`
  `getTrustManagerClassName()`
  Deprecated.
  `int`
  `getTrustMaxCertLength()`
  Deprecated.
  `String`
  `getTruststoreAlgorithm()`
  Deprecated.
  `String`
  `getTruststoreFile()`
  Deprecated.
  `String`
  `getTruststorePass()`
  Deprecated.
  `String`
  `getTruststoreProvider()`
  Deprecated.
  `String`
  `getTruststoreType()`
  Deprecated.
  `UpgradeGroupInfo`
  `getUpgradeGroupInfo(String upgradeProtocol)`
  `UpgradeProtocol`
  `getUpgradeProtocol(String upgradedName)`
  Find a suitable handler for the protocol upgraded name specified.
  `boolean`
  `getUseKeepAliveResponseHeader()`
  `boolean`
  `getUseSendfile()`
  `boolean`
  `getUseServerCipherSuitesOrder()`
  Deprecated.
  `void`
  `init()`
  Initialise the protocol.
  `boolean`
  `isSSLEnabled()`
  `void`
  `reloadSslHostConfig(String hostName)`
  `void`
  `reloadSslHostConfigs()`
  `void`
  `removeAllowedTrailerHeader(String header)`
  `void`
  `setAlgorithm(String keyManagerAlgorithm)`
  Deprecated.
  `void`
  `setAllowedTrailerHeaders(String commaSeparatedHeaders)`
  `void`
  `setAllowHostHeaderMismatch(boolean allowHostHeaderMismatch)`
  Deprecated.
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `false`.
  `void`
  `setCiphers(String ciphers)`
  Deprecated.
  `void`
  `setClientAuth(String certificateVerification)`
  Deprecated.
  `void`
  `setCompressibleMimeType(String valueS)`
  `void`
  `setCompression(String compression)`
  `void`
  `setCompressionMinSize(int compressionMinSize)`
  `void`
  `setConnectionUploadTimeout(int timeout)`
  Set the upload timeout.
  `void`
  `setContinueResponseTiming(String continueResponseTiming)`
  `void`
  `setCrlFile(String certificateRevocationListFile)`
  Deprecated.
  `void`
  `setDefaultSSLHostConfigName(String defaultSSLHostConfigName)`
  `void`
  `setDisableUploadTimeout(boolean isDisabled)`
  Set the flag to control whether a separate connection timeout is used during upload of a request body.
  `void`
  `setKeyAlias(String certificateKeyAlias)`
  Deprecated.
  `void`
  `setKeyPass(String certificateKeyPassword)`
  Deprecated.
  `void`
  `setKeyPassFile(String certificateKeyPasswordFile)`
  Deprecated.
  `void`
  `setKeystoreFile(String keystoreFile)`
  Deprecated.
  `void`
  `setKeystorePass(String certificateKeystorePassword)`
  Deprecated.
  `void`
  `setKeystorePassFile(String certificateKeystorePasswordFile)`
  Deprecated.
  `void`
  `setKeystoreProvider(String certificateKeystoreProvider)`
  Deprecated.
  `void`
  `setKeystoreType(String certificateKeystoreType)`
  Deprecated.
  `void`
  `setMaxExtensionSize(int maxExtensionSize)`
  `void`
  `setMaxHttpHeaderSize(int valueI)`
  `void`
  `setMaxHttpRequestHeaderSize(int valueI)`
  `void`
  `setMaxHttpResponseHeaderSize(int valueI)`
  `void`
  `setMaxKeepAliveRequests(int mkar)`
  Set the maximum number of Keep-Alive requests to allow.
  `void`
  `setMaxSavePostSize(int maxSavePostSize)`
  Set the maximum size of a POST which will be buffered during FORM or CLIENT-CERT authentication.
  `void`
  `setMaxSwallowSize(int maxSwallowSize)`
  `void`
  `setMaxTrailerSize(int maxTrailerSize)`
  `void`
  `setNoCompressionStrongETag(boolean noCompressionStrongETag)`
  Deprecated.
  `void`
  `setNoCompressionUserAgents(String noCompressionUserAgents)`
  `void`
  `setRejectIllegalHeader(boolean rejectIllegalHeader)`
  Deprecated.
  This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `true`.
  `void`
  `setRejectIllegalHeaderName(boolean rejectIllegalHeaderName)`
  Deprecated.
  Now an alias for `setRejectIllegalHeader(boolean)`.
  `void`
  `setRelaxedPathChars(String relaxedPathChars)`
  `void`
  `setRelaxedQueryChars(String relaxedQueryChars)`
  `void`
  `setRestrictedUserAgents(String restrictedUserAgents)`
  Set restricted user agent list (which will downgrade the connector to HTTP/1.0 mode).
  `void`
  `setSecure(boolean b)`
  `void`
  `setServer(String server)`
  Set the server header name.
  `void`
  `setServerRemoveAppProvidedValues(boolean serverRemoveAppProvidedValues)`
  `void`
  `setSessionCacheSize(int sessionCacheSize)`
  Deprecated.
  `void`
  `setSessionTimeout(int sessionTimeout)`
  Deprecated.
  `void`
  `setSSLCACertificateFile(String caCertificateFile)`
  Deprecated.
  `void`
  `setSSLCACertificatePath(String caCertificatePath)`
  Deprecated.
  `void`
  `setSSLCARevocationFile(String certificateRevocationListFile)`
  Deprecated.
  `void`
  `setSSLCARevocationPath(String certificateRevocationListPath)`
  Deprecated.
  `void`
  `setSSLCertificateChainFile(String certificateChainFile)`
  Deprecated.
  `void`
  `setSSLCertificateFile(String certificateFile)`
  Deprecated.
  `void`
  `setSSLCertificateKeyFile(String certificateKeyFile)`
  Deprecated.
  `void`
  `setSSLCipherSuite(String ciphers)`
  Deprecated.
  `void`
  `setSSLDisableCompression(boolean disableCompression)`
  Deprecated.
  `void`
  `setSSLDisableSessionTickets(boolean disableSessionTickets)`
  Deprecated.
  `void`
  `setSSLEnabled(boolean SSLEnabled)`
  `void`
  `setSslEnabledProtocols(String enabledProtocols)`
  Deprecated.
  `void`
  `setSSLHonorCipherOrder(boolean honorCipherOrder)`
  Deprecated.
  `void`
  `setSSLPassword(String certificateKeyPassword)`
  Deprecated.
  `void`
  `setSSLPasswordFile(String certificateKeyPasswordFile)`
  Deprecated.
  `void`
  `setSslProtocol(String sslProtocol)`
  Deprecated.
  `void`
  `setSSLProtocol(String sslProtocol)`
  Deprecated.
  `void`
  `setSSLVerifyClient(String certificateVerification)`
  Deprecated.
  `void`
  `setSSLVerifyDepth(int certificateVerificationDepth)`
  Deprecated.
  `void`
  `setTrustManagerClassName(String trustManagerClassName)`
  Deprecated.
  `void`
  `setTrustMaxCertLength(int certificateVerificationDepth)`
  Deprecated.
  `void`
  `setTruststoreAlgorithm(String truststoreAlgorithm)`
  Deprecated.
  `void`
  `setTruststoreFile(String truststoreFile)`
  Deprecated.
  `void`
  `setTruststorePass(String truststorePassword)`
  Deprecated.
  `void`
  `setTruststoreProvider(String truststoreProvider)`
  Deprecated.
  `void`
  `setTruststoreType(String truststoreType)`
  Deprecated.
  `void`
  `setUseKeepAliveResponseHeader(boolean useKeepAliveResponseHeader)`
  `void`
  `setUseSendfile(boolean useSendfile)`
  `void`
  `setUseServerCipherSuitesOrder(boolean honorCipherOrder)`
  Deprecated.
  `boolean`
  `useCompression(Request request, Response response)`

  ### Methods inherited from class org.apache.coyote.AbstractProtocol

  `addWaitingProcessor, awaitConnectionsClose, closeServerSocketGraceful, getAcceptCount, getAcceptorThreadCount, getAcceptorThreadPriority, getAdapter, getAddress, getClientCertProvider, getConnectionCount, getConnectionLinger, getConnectionTimeout, getDomain, getExecutor, getGlobalRequestProcessorMBeanName, getHandler, getId, getKeepAliveTimeout, getLocalPort, getLog, getMaxConnections, getMaxHeaderCount, getMaxQueueSize, getMaxThreads, getMinSpareThreads, getName, getNameIndex, getNamePrefix, getObjectName, getPort, getPortOffset, getPortWithOffset, getProcessorCache, getProperty, getTcpNoDelay, getThreadPriority, getUtilityExecutor, getWaitingProcessorCount, isAprRequired, isPaused, isSendfileSupported, pause, postDeregister, postRegister, preDeregister, preRegister, removeWaitingProcessor, resume, setAcceptCount, setAcceptorThreadCount, setAcceptorThreadPriority, setAdapter, setAddress, setClientCertProvider, setConnectionLinger, setConnectionTimeout, setExecutor, setHandler, setKeepAliveTimeout, setMaxConnections, setMaxHeaderCount, setMaxQueueSize, setMaxThreads, setMinSpareThreads, setPort, setPortOffset, setProcessorCache, setProperty, setTcpNoDelay, setThreadPriority, setUtilityExecutor, start, startAsyncTimeout, stop, stopAsyncTimeout`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.coyote.ProtocolHandler

  `getDesiredBufferSize`

- ## Field Details

  - ### sm

    protected static final StringManager sm

- ## Constructor Details

  - ### AbstractHttp11Protocol

    public AbstractHttp11Protocol(AbstractEndpoint<S,?> endpoint)

- ## Method Details

  - ### init

    public void init() throws Exception
    Description copied from interface: `ProtocolHandler`
    Initialise the protocol.
    Specified by:
      `init` in interface `ProtocolHandler`
    Overrides:
      `init` in class `AbstractProtocol<S>`
    Throws:
      `Exception` - If the protocol handler fails to initialise

  - ### destroy

    public void destroy() throws Exception
    Description copied from interface: `ProtocolHandler`
    Destroy the protocol (optional).
    Specified by:
      `destroy` in interface `ProtocolHandler`
    Overrides:
      `destroy` in class `AbstractProtocol<S>`
    Throws:
      `Exception` - If the protocol handler fails to destroy

  - ### getProtocolName

    protected String getProtocolName()
    Description copied from class: `AbstractProtocol`
    Obtain the name of the protocol, (Http, Ajp, etc.). Used with JMX.
    Specified by:
      `getProtocolName` in class `AbstractProtocol<S>`
    Returns:
      the protocol name

  - ### getEndpoint

    protected AbstractEndpoint<S,?> getEndpoint()

    Over-ridden here to make the method visible to nested classes.

    Overrides:
      `getEndpoint` in class `AbstractProtocol<S>`

  - ### getHttpParser

    public HttpParser getHttpParser()

  - ### getContinueResponseTiming

    public String getContinueResponseTiming()

  - ### setContinueResponseTiming

    public void setContinueResponseTiming(String continueResponseTiming)

  - ### getContinueResponseTimingInternal

    public ContinueResponseTiming getContinueResponseTimingInternal()

  - ### getUseKeepAliveResponseHeader

    public boolean getUseKeepAliveResponseHeader()

  - ### setUseKeepAliveResponseHeader

    public void setUseKeepAliveResponseHeader(boolean useKeepAliveResponseHeader)

  - ### getRelaxedPathChars

    public String getRelaxedPathChars()

  - ### setRelaxedPathChars

    public void setRelaxedPathChars(String relaxedPathChars)

  - ### getRelaxedQueryChars

    public String getRelaxedQueryChars()

  - ### setRelaxedQueryChars

    public void setRelaxedQueryChars(String relaxedQueryChars)

  - ### getAllowHostHeaderMismatch

    @Deprecated public boolean getAllowHostHeaderMismatch()
    Deprecated.
    This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `false`.
    Will Tomcat accept an HTTP 1.1 request where the host header does not agree with the host specified (if any) in the request line?
    Returns:
      `true` if Tomcat will allow such requests, otherwise `false`

  - ### setAllowHostHeaderMismatch

    @Deprecated public void setAllowHostHeaderMismatch(boolean allowHostHeaderMismatch)
    Deprecated.
    This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `false`.
    Will Tomcat accept an HTTP 1.1 request where the host header does not agree with the host specified (if any) in the request line?
    Parameters:
      `allowHostHeaderMismatch` - `true` to allow such requests, `false` to reject them with a 400

  - ### getRejectIllegalHeader

    @Deprecated public boolean getRejectIllegalHeader()
    Deprecated.
    This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `true`.
    If an HTTP request is received that contains an illegal header name or value (e.g. the header name is not a token) will the request be rejected (with a 400 response) or will the illegal header be ignored?
    Returns:
      `true` if the request will be rejected or `false` if the header will be ignored

  - ### setRejectIllegalHeader

    @Deprecated public void setRejectIllegalHeader(boolean rejectIllegalHeader)
    Deprecated.
    This will removed in Tomcat 11 onwards where `allowHostHeaderMismatch` will be hard-coded to `true`.
    If an HTTP request is received that contains an illegal header name or value (e.g. the header name is not a token) should the request be rejected (with a 400 response) or should the illegal header be ignored?
    Parameters:
      `rejectIllegalHeader` - `true` to reject requests with illegal header names or values, `false` to ignore the header

  - ### getRejectIllegalHeaderName

    @Deprecated public boolean getRejectIllegalHeaderName()
    Deprecated.
    Now an alias for `getRejectIllegalHeader()`. Will be removed in Tomcat 10 onwards.
    If an HTTP request is received that contains an illegal header name or value (e.g. the header name is not a token) will the request be rejected (with a 400 response) or will the illegal header be ignored?
    Returns:
      `true` if the request will be rejected or `false` if the header will be ignored

  - ### setRejectIllegalHeaderName

    @Deprecated public void setRejectIllegalHeaderName(boolean rejectIllegalHeaderName)
    Deprecated.
    Now an alias for `setRejectIllegalHeader(boolean)`. Will be removed in Tomcat 10 onwards.
    If an HTTP request is received that contains an illegal header name or value (e.g. the header name is not a token) should the request be rejected (with a 400 response) or should the illegal header be ignored?
    Parameters:
      `rejectIllegalHeaderName` - `true` to reject requests with illegal header names or values, `false` to ignore the header

  - ### getMaxSavePostSize

    public int getMaxSavePostSize()
    Return the maximum size of the post which will be saved during FORM or CLIENT-CERT authentication.
    Returns:
      The size in bytes

  - ### setMaxSavePostSize

    public void setMaxSavePostSize(int maxSavePostSize)
    Set the maximum size of a POST which will be buffered during FORM or CLIENT-CERT authentication. When a POST is received where the security constraints require a client certificate, the POST body needs to be buffered while an SSL handshake takes place to obtain the certificate. A similar buffering is required during FORM auth.
    Parameters:
      `maxSavePostSize` - The maximum size POST body to buffer in bytes

  - ### getMaxHttpHeaderSize

    public int getMaxHttpHeaderSize()

  - ### setMaxHttpHeaderSize

    public void setMaxHttpHeaderSize(int valueI)

  - ### getMaxHttpRequestHeaderSize

    public int getMaxHttpRequestHeaderSize()

  - ### setMaxHttpRequestHeaderSize

    public void setMaxHttpRequestHeaderSize(int valueI)

  - ### getMaxHttpResponseHeaderSize

    public int getMaxHttpResponseHeaderSize()

  - ### setMaxHttpResponseHeaderSize

    public void setMaxHttpResponseHeaderSize(int valueI)

  - ### getConnectionUploadTimeout

    public int getConnectionUploadTimeout()
    Specifies a different (usually longer) connection timeout during data upload. Default is 5 minutes as in Apache HTTPD server.
    Returns:
      The timeout in milliseconds

  - ### setConnectionUploadTimeout

    public void setConnectionUploadTimeout(int timeout)
    Set the upload timeout.
    Parameters:
      `timeout` - Upload timeout in milliseconds

  - ### getDisableUploadTimeout

    public boolean getDisableUploadTimeout()
    Get the flag that controls upload time-outs. If true, the connectionUploadTimeout will be ignored and the regular socket timeout will be used for the full duration of the connection.
    Returns:
      `true` if the separate upload timeout is disabled

  - ### setDisableUploadTimeout

    public void setDisableUploadTimeout(boolean isDisabled)
    Set the flag to control whether a separate connection timeout is used during upload of a request body.
    Parameters:
      `isDisabled` - `true` if the separate upload timeout should be disabled

  - ### setCompression

    public void setCompression(String compression)

  - ### getCompression

    public String getCompression()

  - ### getCompressionLevel

    protected int getCompressionLevel()

  - ### getNoCompressionUserAgents

    public String getNoCompressionUserAgents()

  - ### getNoCompressionUserAgentsPattern

    protected Pattern getNoCompressionUserAgentsPattern()

  - ### setNoCompressionUserAgents

    public void setNoCompressionUserAgents(String noCompressionUserAgents)

  - ### getCompressibleMimeType

    public String getCompressibleMimeType()

  - ### setCompressibleMimeType

    public void setCompressibleMimeType(String valueS)

  - ### getCompressibleMimeTypes

    public String[] getCompressibleMimeTypes()

  - ### getCompressionMinSize

    public int getCompressionMinSize()

  - ### setCompressionMinSize

    public void setCompressionMinSize(int compressionMinSize)

  - ### getNoCompressionStrongETag

    @Deprecated public boolean getNoCompressionStrongETag()
    Deprecated.

  - ### setNoCompressionStrongETag

    @Deprecated public void setNoCompressionStrongETag(boolean noCompressionStrongETag)
    Deprecated.

  - ### useCompression

    public boolean useCompression(Request request, Response response)

  - ### getRestrictedUserAgents

    public String getRestrictedUserAgents()
    Get the string form of the regular expression that defines the User agents which should be restricted to HTTP/1.0 support.
    Returns:
      The regular expression as a String

  - ### getRestrictedUserAgentsPattern

    protected Pattern getRestrictedUserAgentsPattern()

  - ### setRestrictedUserAgents

    public void setRestrictedUserAgents(String restrictedUserAgents)
    Set restricted user agent list (which will downgrade the connector to HTTP/1.0 mode). Regular expression as supported by `Pattern`.
    Parameters:
      `restrictedUserAgents` - The regular expression as supported by `Pattern` for the user agents e.g. "gorilla|desesplorer|tigrus"

  - ### getServer

    public String getServer()

  - ### setServer

    public void setServer(String server)
    Set the server header name.
    Parameters:
      `server` - The new value to use for the server header

  - ### getServerRemoveAppProvidedValues

    public boolean getServerRemoveAppProvidedValues()
    Should application provider values for the HTTP Server header be removed. Note that if `server` is set, any application provided value will be over-ridden.
    Returns:
      `true` if application provided values should be removed, otherwise `false`

  - ### setServerRemoveAppProvidedValues

    public void setServerRemoveAppProvidedValues(boolean serverRemoveAppProvidedValues)

  - ### getMaxTrailerSize

    public int getMaxTrailerSize()

  - ### setMaxTrailerSize

    public void setMaxTrailerSize(int maxTrailerSize)

  - ### getMaxExtensionSize

    public int getMaxExtensionSize()

  - ### setMaxExtensionSize

    public void setMaxExtensionSize(int maxExtensionSize)

  - ### getMaxSwallowSize

    public int getMaxSwallowSize()

  - ### setMaxSwallowSize

    public void setMaxSwallowSize(int maxSwallowSize)

  - ### getSecure

    public boolean getSecure()

  - ### setSecure

    public void setSecure(boolean b)

  - ### setAllowedTrailerHeaders

    public void setAllowedTrailerHeaders(String commaSeparatedHeaders)

  - ### getAllowedTrailerHeadersInternal

    protected Set<String> getAllowedTrailerHeadersInternal()

  - ### getAllowedTrailerHeaders

    public String getAllowedTrailerHeaders()

  - ### addAllowedTrailerHeader

    public void addAllowedTrailerHeader(String header)

  - ### removeAllowedTrailerHeader

    public void removeAllowedTrailerHeader(String header)

  - ### addUpgradeProtocol

    public void addUpgradeProtocol(UpgradeProtocol upgradeProtocol)
    Description copied from interface: `ProtocolHandler`
    Add a new protocol for used by HTTP/1.1 upgrade or ALPN.
    Parameters:
      `upgradeProtocol` - the protocol

  - ### findUpgradeProtocols

    public UpgradeProtocol[] findUpgradeProtocols()
    Description copied from interface: `ProtocolHandler`
    Return all configured upgrade protocols.
    Returns:
      the protocols

  - ### getNegotiatedProtocol

    public UpgradeProtocol getNegotiatedProtocol(String negotiatedName)
    Description copied from class: `AbstractProtocol`
    Find a suitable handler for the protocol negotiated at the network layer.
    Specified by:
      `getNegotiatedProtocol` in class `AbstractProtocol<S>`
    Parameters:
      `negotiatedName` - The name of the requested negotiated protocol.
    Returns:
      The instance where `UpgradeProtocol.getAlpnName()` matches the requested protocol

  - ### getUpgradeProtocol

    public UpgradeProtocol getUpgradeProtocol(String upgradedName)
    Description copied from class: `AbstractProtocol`
    Find a suitable handler for the protocol upgraded name specified. This is used for direct connection protocol selection.
    Specified by:
      `getUpgradeProtocol` in class `AbstractProtocol<S>`
    Parameters:
      `upgradedName` - The name of the requested negotiated protocol.
    Returns:
      The instance where `UpgradeProtocol.getAlpnName()` matches the requested protocol

  - ### getUpgradeGroupInfo

    public UpgradeGroupInfo getUpgradeGroupInfo(String upgradeProtocol)

  - ### getONameForUpgrade

    public ObjectName getONameForUpgrade(String upgradeProtocol)

  - ### isSSLEnabled

    public boolean isSSLEnabled()

  - ### setSSLEnabled

    public void setSSLEnabled(boolean SSLEnabled)

  - ### getUseSendfile

    public boolean getUseSendfile()

  - ### setUseSendfile

    public void setUseSendfile(boolean useSendfile)

  - ### getMaxKeepAliveRequests

    public int getMaxKeepAliveRequests()
    Returns:
      The maximum number of requests which can be performed over a keep-alive connection. The default is the same as for Apache HTTP Server (100).

  - ### setMaxKeepAliveRequests

    public void setMaxKeepAliveRequests(int mkar)
    Set the maximum number of Keep-Alive requests to allow. This is to safeguard from DoS attacks. Setting to a negative value disables the limit.
    Parameters:
      `mkar` - The new maximum number of Keep-Alive requests allowed

  - ### getDefaultSSLHostConfigName

    public String getDefaultSSLHostConfigName()

  - ### setDefaultSSLHostConfigName

    public void setDefaultSSLHostConfigName(String defaultSSLHostConfigName)

  - ### addSslHostConfig

    public void addSslHostConfig(SSLHostConfig sslHostConfig)
    Description copied from interface: `ProtocolHandler`
    Add a new SSL configuration for a virtual host.
    Parameters:
      `sslHostConfig` - the configuration

  - ### addSslHostConfig

    public void addSslHostConfig(SSLHostConfig sslHostConfig, boolean replace)
    Description copied from interface: `ProtocolHandler`
    Add a new SSL configuration for a virtual host.
    Parameters:
      `sslHostConfig` - the configuration
      `replace` - If `true` replacement of an existing configuration is permitted, otherwise any such attempted replacement will trigger an exception

  - ### findSslHostConfigs

    public SSLHostConfig[] findSslHostConfigs()
    Description copied from interface: `ProtocolHandler`
    Find all configured SSL virtual host configurations which will be used by SNI.
    Returns:
      the configurations

  - ### reloadSslHostConfigs

    public void reloadSslHostConfigs()

  - ### reloadSslHostConfig

    public void reloadSslHostConfig(String hostName)

  - ### getSslEnabledProtocols

    @Deprecated public String getSslEnabledProtocols()
    Deprecated.

  - ### setSslEnabledProtocols

    @Deprecated public void setSslEnabledProtocols(String enabledProtocols)
    Deprecated.

  - ### getSSLProtocol

    @Deprecated public String getSSLProtocol()
    Deprecated.

  - ### setSSLProtocol

    @Deprecated public void setSSLProtocol(String sslProtocol)
    Deprecated.

  - ### getKeystoreFile

    @Deprecated public String getKeystoreFile()
    Deprecated.

  - ### setKeystoreFile

    @Deprecated public void setKeystoreFile(String keystoreFile)
    Deprecated.

  - ### getSSLCertificateChainFile

    @Deprecated public String getSSLCertificateChainFile()
    Deprecated.

  - ### setSSLCertificateChainFile

    @Deprecated public void setSSLCertificateChainFile(String certificateChainFile)
    Deprecated.

  - ### getSSLCertificateFile

    @Deprecated public String getSSLCertificateFile()
    Deprecated.

  - ### setSSLCertificateFile

    @Deprecated public void setSSLCertificateFile(String certificateFile)
    Deprecated.

  - ### getSSLCertificateKeyFile

    @Deprecated public String getSSLCertificateKeyFile()
    Deprecated.

  - ### setSSLCertificateKeyFile

    @Deprecated public void setSSLCertificateKeyFile(String certificateKeyFile)
    Deprecated.

  - ### getAlgorithm

    @Deprecated public String getAlgorithm()
    Deprecated.

  - ### setAlgorithm

    @Deprecated public void setAlgorithm(String keyManagerAlgorithm)
    Deprecated.

  - ### getClientAuth

    @Deprecated public String getClientAuth()
    Deprecated.

  - ### setClientAuth

    @Deprecated public void setClientAuth(String certificateVerification)
    Deprecated.

  - ### getSSLVerifyClient

    @Deprecated public String getSSLVerifyClient()
    Deprecated.

  - ### setSSLVerifyClient

    @Deprecated public void setSSLVerifyClient(String certificateVerification)
    Deprecated.

  - ### getTrustMaxCertLength

    @Deprecated public int getTrustMaxCertLength()
    Deprecated.

  - ### setTrustMaxCertLength

    @Deprecated public void setTrustMaxCertLength(int certificateVerificationDepth)
    Deprecated.

  - ### getSSLVerifyDepth

    @Deprecated public int getSSLVerifyDepth()
    Deprecated.

  - ### setSSLVerifyDepth

    @Deprecated public void setSSLVerifyDepth(int certificateVerificationDepth)
    Deprecated.

  - ### getUseServerCipherSuitesOrder

    @Deprecated public boolean getUseServerCipherSuitesOrder()
    Deprecated.

  - ### setUseServerCipherSuitesOrder

    @Deprecated public void setUseServerCipherSuitesOrder(boolean honorCipherOrder)
    Deprecated.

  - ### getSSLHonorCipherOrder

    @Deprecated public boolean getSSLHonorCipherOrder()
    Deprecated.

  - ### setSSLHonorCipherOrder

    @Deprecated public void setSSLHonorCipherOrder(boolean honorCipherOrder)
    Deprecated.

  - ### getCiphers

    @Deprecated public String getCiphers()
    Deprecated.

  - ### setCiphers

    @Deprecated public void setCiphers(String ciphers)
    Deprecated.

  - ### getSSLCipherSuite

    @Deprecated public String getSSLCipherSuite()
    Deprecated.

  - ### setSSLCipherSuite

    @Deprecated public void setSSLCipherSuite(String ciphers)
    Deprecated.

  - ### getKeystorePass

    @Deprecated public String getKeystorePass()
    Deprecated.

  - ### setKeystorePass

    @Deprecated public void setKeystorePass(String certificateKeystorePassword)
    Deprecated.

  - ### getKeystorePassFile

    @Deprecated public String getKeystorePassFile()
    Deprecated.

  - ### setKeystorePassFile

    @Deprecated public void setKeystorePassFile(String certificateKeystorePasswordFile)
    Deprecated.

  - ### getKeyPass

    @Deprecated public String getKeyPass()
    Deprecated.

  - ### setKeyPass

    @Deprecated public void setKeyPass(String certificateKeyPassword)
    Deprecated.

  - ### getKeyPassFile

    @Deprecated public String getKeyPassFile()
    Deprecated.

  - ### setKeyPassFile

    @Deprecated public void setKeyPassFile(String certificateKeyPasswordFile)
    Deprecated.

  - ### getSSLPassword

    @Deprecated public String getSSLPassword()
    Deprecated.

  - ### setSSLPassword

    @Deprecated public void setSSLPassword(String certificateKeyPassword)
    Deprecated.

  - ### getSSLPasswordFile

    @Deprecated public String getSSLPasswordFile()
    Deprecated.

  - ### setSSLPasswordFile

    @Deprecated public void setSSLPasswordFile(String certificateKeyPasswordFile)
    Deprecated.

  - ### getCrlFile

    @Deprecated public String getCrlFile()
    Deprecated.

  - ### setCrlFile

    @Deprecated public void setCrlFile(String certificateRevocationListFile)
    Deprecated.

  - ### getSSLCARevocationFile

    @Deprecated public String getSSLCARevocationFile()
    Deprecated.

  - ### setSSLCARevocationFile

    @Deprecated public void setSSLCARevocationFile(String certificateRevocationListFile)
    Deprecated.

  - ### getSSLCARevocationPath

    @Deprecated public String getSSLCARevocationPath()
    Deprecated.

  - ### setSSLCARevocationPath

    @Deprecated public void setSSLCARevocationPath(String certificateRevocationListPath)
    Deprecated.

  - ### getKeystoreType

    @Deprecated public String getKeystoreType()
    Deprecated.

  - ### setKeystoreType

    @Deprecated public void setKeystoreType(String certificateKeystoreType)
    Deprecated.

  - ### getKeystoreProvider

    @Deprecated public String getKeystoreProvider()
    Deprecated.

  - ### setKeystoreProvider

    @Deprecated public void setKeystoreProvider(String certificateKeystoreProvider)
    Deprecated.

  - ### getKeyAlias

    @Deprecated public String getKeyAlias()
    Deprecated.

  - ### setKeyAlias

    @Deprecated public void setKeyAlias(String certificateKeyAlias)
    Deprecated.

  - ### getTruststoreAlgorithm

    @Deprecated public String getTruststoreAlgorithm()
    Deprecated.

  - ### setTruststoreAlgorithm

    @Deprecated public void setTruststoreAlgorithm(String truststoreAlgorithm)
    Deprecated.

  - ### getTruststoreFile

    @Deprecated public String getTruststoreFile()
    Deprecated.

  - ### setTruststoreFile

    @Deprecated public void setTruststoreFile(String truststoreFile)
    Deprecated.

  - ### getTruststorePass

    @Deprecated public String getTruststorePass()
    Deprecated.

  - ### setTruststorePass

    @Deprecated public void setTruststorePass(String truststorePassword)
    Deprecated.

  - ### getTruststoreType

    @Deprecated public String getTruststoreType()
    Deprecated.

  - ### setTruststoreType

    @Deprecated public void setTruststoreType(String truststoreType)
    Deprecated.

  - ### getTruststoreProvider

    @Deprecated public String getTruststoreProvider()
    Deprecated.

  - ### setTruststoreProvider

    @Deprecated public void setTruststoreProvider(String truststoreProvider)
    Deprecated.

  - ### getSslProtocol

    @Deprecated public String getSslProtocol()
    Deprecated.

  - ### setSslProtocol

    @Deprecated public void setSslProtocol(String sslProtocol)
    Deprecated.

  - ### getSessionCacheSize

    @Deprecated public int getSessionCacheSize()
    Deprecated.

  - ### setSessionCacheSize

    @Deprecated public void setSessionCacheSize(int sessionCacheSize)
    Deprecated.

  - ### getSessionTimeout

    @Deprecated public int getSessionTimeout()
    Deprecated.

  - ### setSessionTimeout

    @Deprecated public void setSessionTimeout(int sessionTimeout)
    Deprecated.

  - ### getSSLCACertificatePath

    @Deprecated public String getSSLCACertificatePath()
    Deprecated.

  - ### setSSLCACertificatePath

    @Deprecated public void setSSLCACertificatePath(String caCertificatePath)
    Deprecated.

  - ### getSSLCACertificateFile

    @Deprecated public String getSSLCACertificateFile()
    Deprecated.

  - ### setSSLCACertificateFile

    @Deprecated public void setSSLCACertificateFile(String caCertificateFile)
    Deprecated.

  - ### getSSLDisableCompression

    @Deprecated public boolean getSSLDisableCompression()
    Deprecated.

  - ### setSSLDisableCompression

    @Deprecated public void setSSLDisableCompression(boolean disableCompression)
    Deprecated.

  - ### getSSLDisableSessionTickets

    @Deprecated public boolean getSSLDisableSessionTickets()
    Deprecated.

  - ### setSSLDisableSessionTickets

    @Deprecated public void setSSLDisableSessionTickets(boolean disableSessionTickets)
    Deprecated.

  - ### getTrustManagerClassName

    @Deprecated public String getTrustManagerClassName()
    Deprecated.

  - ### setTrustManagerClassName

    @Deprecated public void setTrustManagerClassName(String trustManagerClassName)
    Deprecated.

  - ### createProcessor

    protected Processor createProcessor()
    Description copied from class: `AbstractProtocol`
    Create and configure a new Processor instance for the current protocol implementation.
    Specified by:
      `createProcessor` in class `AbstractProtocol<S>`
    Returns:
      A fully configured Processor instance that is ready to use

  - ### createUpgradeProcessor

    protected Processor createUpgradeProcessor(SocketWrapperBase<?> socket, UpgradeToken upgradeToken)
    Specified by:
      `createUpgradeProcessor` in class `AbstractProtocol<S>`