■ Connector
* クライアントからのリクエストを処理するコネクタの設定 * サービスは1つ以上のコネクタを持つ必要がある => ユーザは、HTTPやHTTPS/SSLなどさまざまな手段でエンジンにリクエストを送る。 これらの接続要件への対処は、このコネクタに任される。 各プロトコルに対応した複数のコネクタを持つことで、どのような接続でリクエストが送られてきても エンジンが同様に処理し、レスポンスをコネクタに任せることができる。 * 以下は、Tomcat8をベースに記載する(少しずつ埋めていく)http://tomcat.apache.org/tomcat-8.0-doc/config/http.html
* 古い(Tomcat5)が以下も参考になるかも。http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/ssl-howto.html
■ 属性 / Attributes
https://tomcat.apache.org/tomcat-8.5-doc/config/http.html* 共通属性 / Common Attributes
allowTrace
* HTTPのTrace Methodを利用できるようにするか否か * デフォルト:false
asyncTimeout
enableLookups
* ログを記録する際に、IPかDNSからlookupしたホスト名にするか
maxHeaderCount
maxParameterCount
* GETとPOST合算のリクエストパラメータ(パラメータ名と値の組み合わせ)数の最大値 => 超えた分は無視される。 * デフォルトは、 10000(1万) * 無制限にしたい場合 0以下 を設定
maxPostSize
* POSTリクエストの最大サイズ[バイト] * デフォルトは、 2097152 (2MB) * 無制限にしたい場合 0 を設定
maxSavePostSize
parseBodyMethods
port
* コネクションを待ち受けるTCPのポート番号を設定 * ほかのアプリケーションで利用しているポート番号は利用できない
protocol
* 流れてくるトラフィックを処理するプロトコルを設定 * 初期設定はHTTP/1.1コネクタが設定 * 設定できるプロトコル + org.apache.coyote.http11.Http11Protocol : ブロックJavaコネクタ + org.apache.coyote.http11.Http11NioProtocol : 非ブロックJava NIO コネクタ + org.apache.coyote.http11.Http11Nio2Protocol : 非ブロックJava NIO2 コネクタ + org.apache.coyote.http11.Http11AprProtocol : APR(Apache Portable Runtime)コネクタ
proxyName
proxyPort
redirectPort
* SSLでの通信が接続されたときに転送されるポートを設定
scheme
* リクエストが指定したスキーマで送られてくるかを確認 * 設定できるスキーマ + http : HTTP(デフォルト) + https : SSL
secure
* リクエストがSSL通信かどうかをチェック * デフォルト:false
URIEncoding
* URI内のリクエストパラメータの文字コードを指定(例「URIEncoding="UTF-8"」)Tomcat7
[[https://tomcat.apache.org/tomcat-7.0-doc/config/http.html#Common_Attributes]]
* Default : ISO-8859-1From Tomcat8
[[https://tomcat.apache.org/tomcat-8.0-doc/config/http.html#Common_Attributes]]
* Default : UTF-8
useBodyEncodingForURI
* Request.setCharacterEncodingの文字コードをURLに適用するか * デフォルト:false
useIPVHosts
* デフォルト:false
xpoweredBy
* デフォルト:false* 標準実装 / Standard Implementation
acceptCount
* 処理できるthreadがすべて利用中である場合の、キューの大きさ。 => このキューの大きさをも超えるとリクエストが拒否される * デフォルトは100
acceptorThreadCount
acceptorThreadPriority
address
bindOnInit
* コネクタによって使用されるソケットの結びつき(バウンド)のタイミングをコントロールします。 * 設定によって、以下のようになる + bindOnInit = true(デフォルト) => コネクタが初期化時に、ソケットを結びつく => コネクタが破棄された場合に、そのソケットの結びつきを解除 + bindOnInit = false => コネクタが開始された時に、そのソケットを結びつく => コネクタが停止された場合に、そのソケットの結びつきを解除
compressableMimeType
compression
compressionMinSize
connectionLinger
* クライアントリクエストからのソケット接続をクローズする際、 該当コネクションを一定時間存続させることが可能になる * デフォルトは「-1」で、その際はこの機能を無効化する(すぐさまソケット接続はクローズされる)
connectionTimeout
デフォルトは「60000 [milisec]」= 60[sec]* コネクションを受け付けてからコネクタが待ち受ける時間 (単位はミリ秒) => 『リクエスト&レスポンスが終了してからHTTPセッションを切るまでの待機時間 (Tomcat 側から FIN パケットが飛ばすまでの待機時間)』の模様。(以下のサイト参照)http://a4dosanddos.hatenablog.com/entry/2013/07/18/233208
https://ameblo.jp/uniuni797/entry-11627238760.html
* デフォルト値とは、60000 [milisec]だが、デフォルトの設定ファイルに記載されている値は、20000 [milisec] * 設定したくない(無限)場合は、「-1」を設定
connectionUploadTimeout
disableUploadTimeout
Executorタグ
https://blogs.yahoo.co.jp/dk521123/37307732.html* 設定することで1つのサービス内でスレッドプールを共有できる使用上の注意
* <Executor>タグは、<Connector>タグの前に設定しなければ、 <Connector>タグに利用されないので注意
executorTerminationTimeoutMillis
keepAliveTimeout
* Keep-aliveのタイムアウト時間(単位はミリ秒) * Keep-aliveについては、以下の関連記事を参照のこと。http://blogs.yahoo.co.jp/dk521123/34622835.html
maxConnections
デフォルトは、NIO/NIO2:10000. APR/native:8192* サーバが受け入れて処理する最大接続数
maxExtensionSize
maxHttpHeaderSize
maxKeepAliveRequests
maxSwallowSize
maxThreads
デフォルトは200* リクエストを処理するためのスレッドの最大数http://www.atmarkit.co.jp/ait/articles/0708/27/news098_2.html
maxTrailerSize
minSpareThreads
デフォルトは、10* このコネクタで処理できるリクエスト処理スレッドの最小数を設数 ※ maxSpareThreadsについて => Tomcat6まで。Tomcat7からは廃止。(警告が出る)http://www.atmarkit.co.jp/ait/articles/1106/24/news113_3.html
noCompressionUserAgents
processorCache
restrictedUserAgents
server
socketBuffer
SSLEnabled
* このコネクタでSSLのトラフィックが利用できるよう設定 * デフォルト:false
tcpNoDelay
threadPriority
upgradeAsyncWriteBufferSize
参考文献
https://gakumon.tech/tomcat/server_xml/ajp.htmlhttp://www.atmarkit.co.jp/ait/articles/0711/20/news125.html
http://www.atmarkit.co.jp/ait/articles/0711/20/news125_2.html
http://thinkit.co.jp/free/article/0708/2/8/
http://blog.r-learning.co.jp/archives/1031
http://d.hatena.ne.jp/penguins/20100318/p4
http://d.hatena.ne.jp/uzr/20111128/1322485926
http://gakumon.tech/tomcat/server_xml/ajp.html