WEB SET OPTION
WEB SET OPTION ( selector ; value )
引数 | 型 | 説明 | |
---|---|---|---|
selector | Integer | → | オプションコード |
value | Integer, Text, Collection | → | オプション値 |
説明
WEB SET OPTIONコマンドは4D Webサーバーの機能に関する様々なオプションのカレントの値を変更します。
これらのオプションの変更は、4D Web サーバーが停止されて再開された場合には保持されますが、4D アプリケーションが停止されて再開された場合には保持されません。
selector 引数にはWeb Serverテーマの定数のうちひとつを指定し、value に新しい設定値を渡します:
定数 | 型 | 値 | コメント | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Web character set | 倍長整数 | 17 | スコープ: 4D ローカル, 4D Server 説明: データベースに接続するブラウザーとの通信に (ローカルモード4Dと4D Serverの) Webサーバーが使用する文字セット。デフォルト値はOSの言語に依存します。この引数はデータベース設定でも設定できます。 値: 取りうる値は、文字セットに関連するデータベースの動作モードによります。 Unicode モード: アプリケーションがUnicodeモードで動作している場合、この引数に渡す値は文字セット識別子です。 (MIBEnum倍長整数または文字列。以下のアドレスを参照: http://www.iana.org/assignments/character-sets)。 以下は4D Webサーバがサポートする文字セットに対応する識別子のリストです: 4=ISO-8859-1 12=ISO-8859-9 13=ISO-8859-10 17=Shift_JIS 2024=Windows-31J 2026=Big5 38=euc-kr 106=UTF-8 2250=Windows-1250 2251=Windows-1251 2253=Windows-1253 2255=Windows-1255 2256=Windows-1256注: IANAに定義されていない特別な文字セット (1258=x-mac-japanese) を使用することができます。これはWindows上ではコードページ10001に、Mac上ではkTextEncodingMacJapaneseにマップされています。 ASCII 互換モード: 0: Western European 1: Japanese 2: Chinese 3: Korean 4: User-defined 5: Reserved 6: Central European 7: Cyrillic 8: Arabic 9: Greek 10: Hebrew 11: Turkish 12: Baltic | |||||||||
Web Client IP address to listen | 倍長整数 | 23 | スコープ: 4Dリモートマシン とりうる値: Web IP address to listen参照 説明: Webサーバーとして使用するリモート4Dのパラメーターを指定するのに使用します(リモートのWeb サーバーに対してのみ適用されます)。 | |||||||||
Web CORS enabled | 倍長整数 | 92 | スコープ: ローカルWeb サーバー 詳細: Web サーバーのCORS (Cross-origin resource sharing) サービスステータス。有効化されていれば、アプリケーション内においてドメイン外のWeb ページからのXHR(例: REST) 呼び出しが許可されます(注: CORS サービスを使用することができるアドレスとメソッドの一覧も定義されている必要があります、Web CORS settings参照)。CORS サービスが無効化されている場合、CORS リクエストは無視されます。CORS サービスが有効化されていて、許可されていないドメインまたはメソッドからクロスサイトリクエストが送られてきた場合、そのリクエストは"403 - forbidden" エラーが返され接続は拒否されます。 取りうる値: 0 (無効化、デフォルト) または1 (有効化) | |||||||||
Web CORS settings | 倍長整数 | 93 | スコープ: ローカルWeb サーバー 詳細: CORS サービスで許可されているホストとメソッドの一覧 取りうる値: 以下のプロパティを持つCORS オブジェクトのコレクション:
| |||||||||
Web debug log | 倍長整数 | 84 | スコープ: ローカルWebサーバー 説明: 4D WebサーバーのHTTPリクエストログファイルの状態を設定または取得できるようにします。有効化された場合、"HTTPDebugLog_nn.txt"と命名されたこのファイルはアプリケーションの”Logs”フォルダに保存されます(nn にはファイル番号が入ります)。これはWebサーバーに関連した問題をデバッグするのに有用です。リクエストとレスポンスをrawモードで記録するからです。ヘッダーも含めて、リクエスト全体が記録されます。オプションとして、ボディ部分も記録することができます。HTTPDebugLog ファイルについての詳細な情報については、ログファイルの詳細 の章を参照してください。 値: "wdl"の接頭辞が付いた定数のどれか一つ(このテーマ内のこれらの定数の詳細を参照して下さい) デフォルト値: 0 (有効化しない) | |||||||||
Web HSTS enabled | 倍長整数 | 86 | スコープ: 4D ローカル、4D Server 詳細: HTTP Strict Transport Security (HSTS)ステータス。HSTS によって、4D Web サーバーはブラウザに対して、通信を安全なHTTPS経由で接続しなければならないということを宣言することができます。一度有効化すると、4D Web サーバーは自動的にHSTS関連の情報を全てのレスポンスヘッダーに追加します。ブラウザは最初に4D Web サーバーからのレスポンスを受け取ったときにHSTS 情報を記録し、それ以降のHTTP リクエストは自動的にHTTPS リクエストへと変換されます。この情報がブラウザに保存されている時間の長さは、Web HSTS max age セレクターによって指定されます。 HSTS を使用するためにはHTTPS がサーバー側で有効化されている必要があります。またクライアントの初回の通信のために、HTTP も有効化されている必要があります。 取りうる値: 0 (無効化、デフォルト) あるいは 1 (有効化) 注: この設定を適用するためには4D Web サーバーを再起動する必要があります。 | |||||||||
Web HSTS max age | 倍長整数 | 87 | スコープ: 4D ローカル、4D Server 詳細: HSTS がクライアントからのそれぞれの新しい接続に対してHSTS が有効化されている最大の時間の長さを(秒単位で)指定します。この情報は指定された期間の間クライアント側に保存されます。 取りうる値: 倍超整数(秒) デフォルトの値: 63072000 (2年) 警告: 一度HSTS が有効化されると、クライアント接続は指定された期間、この機構を使い続けます。アプリケーションのテスト時には、安全な接続と安全でない接続のモードの切り替えをする必要がある場合に備えて、短い時間を設定しておくことが推奨されます。 | |||||||||
Web HTTP compression level | 倍長整数 | 50 | スコープ: ローカルWebサーバー 説明: 4D HTTPサーバーで使用されるすべての圧縮されたHTTP通信 (クライアントのリクエスト、サーバーのレスポンス、WebおよびWebサービス) の圧縮レベル。このセレクターを使用すれば圧縮率を犠牲にして実行速度を速めるか、速度を優先して圧縮率を高めるかを選択できます。値の選択は交換するデータのサイズやタイプに基づきます。value引数に1から9までの値を渡します。1は速度優先、9は圧縮率優先です。また-1を渡して圧縮速度と圧縮率の妥協点を指定できます。デフォルトの圧縮レベルは1 (速度優先) です。 とりうる値: 1 から 9 (1 = 速度優先, 9 = 圧縮優先) または -1 = 最適 | |||||||||
Web HTTP compression threshold | 倍長整数 | 51 | スコープ: ローカルHTTPサーバー 説明: 最適化モードの内部的な4D Webサービス通信フレームワークにおいて、圧縮を行わないリクエストサイズの敷居値を設定できます。この設定は、小さなデータ交換時に圧縮を行うことによる、マシンの時間の浪費を避けるために有効です。 とりうる値: 任意の倍長整数値。valueにはバイト単位でサイズを渡します。デフォルトで、圧縮の敷居値は1024バイトに設定されています。 | |||||||||
Web HTTP enabled | 倍長整数 | 88 | スコープ: 4D ローカル、4D Server 詳細: HTTP 経由の通信のステータス 取りうる値: 0 (無効化) あるいは 1 (有効化) | |||||||||
Web HTTP TRACE | 倍長整数 | 85 | スコープ: ローカルWebサーバー 異なるセッション間で値を保持: No 詳細: 4D Web サーバー内のHTTP TRACEメソッドを無効化または有効化します。セキュリティ上の理由から、4D v15 R2以降、デフォルトで4D WebサーバーはHTTP TRACEリクエストをエラー405で拒否します(HTTP TRACEの無効化を参照して下さい)。必要であれば、この定数に値1を渡す事でそのセッションの間HTTP TRACEメソッドを有効化する事ができます。このオプションが有効化されると、4D WebサーバーはHTTP TRACEリクエストに対してリクエストライン、ヘッダー、そしてボディーを返信します。 取り得る値: 0 (無効化) または 1 (有効化) デフォルトの値: 0 (無効化) | |||||||||
Web HTTPS enabled | 倍長整数 | 89 | スコープ: 4D ローカル、4D Server 詳細: HTTPS 経由の通信のステータス 取りうる値: 0 (無効化) あるいは 1 (有効化) | |||||||||
Web HTTPS port ID | 倍長整数 | 39 | スコープ:4D ローカル, 4D Server 説明: ローカルモード4Dおよび4D ServerのWebサーバがTLSによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号。HTTPS ポート番号はデータベース設定の"Web/設定"ページで指定できます。デフォルト値は443 (標準ポート番号) です。value引数にTCP Port Numbersテーマの定数を渡すこともできます。 とりうる値: 0~65535 | |||||||||
Web inactive process timeout | 倍長整数 | 78 | 互換性に関する注意: このセレクターはWeb scalable session モード、あるいは"セッションなし"モードが有効化されている場合には無視されます。 スコープ**: ローカルWebサーバー 説明: セッション管理のために使用されるプロセスのタイムアウトを設定します。タイムアウト後、プロセスは終了されます。 取りうる値: 倍長整数 (分) デフォルト値: 480分 (= 8時間) (0を渡すとデフォルト値に設定されます) | |||||||||
Web inactive session timeout | 倍長整数 | 72 | 互換性に関する注意: このセレクターはWeb scalable session モードが有効化されている場合には無視されます。**** スコープ: ローカルWebサーバー 説明: セッション管理のために使用されるcookieのタイムアウトを設定します。 取りうる値: 倍長整数 (分) デフォルト値: 480分 (= 8時間) (0を渡すとデフォルト値に設定されます) | |||||||||
Web IP address to listen | 倍長整数 | 16 | スコープ: 4D ローカル, 4D Server 説明: ローカルモード4Dおよび4D ServerのWebサーバがHTTPリクエストを受信するIPアドレス。デフォルトで、特定のアドレスは定義されていません。この引数はデータベース設定で設定できます。このセレクターはコンパイルして4D Volume Desktopを組み込んだ4D Webサーバで役立ちます(この場合デザインモードへのアクセス手段がないからです)。 取りうる値: IP アドレスの文字列。IPv6 文字列フォーマット(例: "2001:0db8:0000:0000:0000:ff00:0042:8329")とIPv4 文字列フォーマット(例: "123.45.67.89")の両方がサポートされます。 注: 互換性上の理由から、16進数の倍長整数で表現された廃止予定IPv4 アドレスは引き続きサポートされます。 | |||||||||
Web legacy session | 倍長整数 | 70 | スコープ: ローカルWebサーバー 説明: 旧式のセッション管理モード(Webセッション管理(旧式) の章で説明されている)を有効化または無効化します。またこのモードはリモートモードで一時的なコンテキストの再利用メカニズムも有効にする点に留意してください。このメカニズムに関する詳細はWebサーバー設定を参照してください。 取りうる値: 1 (有効) / 0 (無効) 関連項目: Web scalable session セレクターも参照してください。 | |||||||||
Web log recording | 倍長整数 | 29 | スコープ:4D ローカル, 4D Server 説明: ローカルモード4Dまたは4D ServerのWebサーバーが受け取るWebリクエストの記録を開始または停止します。デフォルト値は0(リクエストを記録しない)です。 Web リクエストのログは"logweb.txt"という名前のテキストファイルに保存されます。このファイルは自動でストラクチャファイルと同階層のLogsフォ ルダー内に作成されます。このファイルのフォーマットは、渡した値により決定されます。Webログファイルフォーマットに関する詳細はWebサイトに関する情報を参照してください。 このファイルはデータベース設定の"Web/ログ"ページからも有効にできます。 とりうる値: 0 = 記録しない (デフォルト), 1 = CLFフォーマットで記録, 2 = DLFフォーマットで記録, 3 = ELFフォーマットで記録, 4 = WLFフォーマットで記録 警告: フォーマット3および4はカスタムフォーマットであり、記録する内容を事前にデータベース設定で定義しなければなりません。事前定義せずにこれらのフォーマットを使用した場合、ログファイルは作成されません。 | |||||||||
Web max concurrent processes | 倍長整数 | 18 | 互換性に関する注意: このセレクターはWeb scalable session モードが有効化されている場合には無視されます。 スコープ: 4D ローカル, 4D Server 説明: ローカルモード4Dならびに4D ServerのWebサーバーでサポートされる、任意のタイプの同時Webプロセス上限数を厳密に設定。この上限数(マイナス1)に達した場合、4Dはそれ以上プロセスを作成しなくなり、HTTPステータス503(Service Unavailable)をすべての新しいリクエストに返します。 このパラメーターにより、同時に行われる非常に膨大な数のリクエストやコンテキスト作成に関する過大な要求の結果として、4D Webサーバが飽和状態になることを防ぐことができます。このパラメーターはデータベース設定でも設定できます。 理論上、Webプロセスの最大数は次の計算式の結果になります: 使用可能メモリ/Webプロセスのスタックサイズ。別の解決策は、ランタイムエクスプローラに表示されるWebプロセス情報を監視する方法です。つまり現在のWebプロセス数およびWebサーバの開始以降に達した最大数を監視します。 値: 10から32 000までの任意の数。デフォルト値は100。 | |||||||||
Web max sessions | 倍長整数 | 71 | スコープ: ローカルWebサーバー 説明: 4Dの自動セッション管理下のセッション上限数。設定した上限に達すると、もっとも古いセッションが閉じられます。 取りうる値: 倍長整数値 デフォルト値: 100 (0を渡すとデフォルト値が設定されます) | |||||||||
Web maximum requests size | 倍長整数 | 27 | スコープ: 4D ローカル, 4D Server 説明: Webサーバに処理を許可する受信HTTPリクエスト (POST) の最大サイズ (バイト単位)。デフォルト値は2,000,000 (2MBより少し少ない値) です。最大値(2,147,483,647)を渡すと、実際上は制限がなくなります。 この制限は、受信するリクエストが大きすぎるためにWebサービスが飽和してしまうことを回避するために使用します。リクエストがこの制限に達すると、4D Webサービスはリクエストを拒否します。 とりうる値: 500,000~2,147,483,647 | |||||||||
Web port ID | 倍長整数 | 15 | スコープ: 4D ローカル, 4D Server. 説明: ローカルモードの4Dと4D Serverで、4D Web server が使用するTCPポート番号を設定または取得します。デフォルトではこの値は80です。TCPポート番号は、データベース設定の"Web/設定"タブ内にて設定できます。value p引数には、TCP Port Numbers テーマ内にある定数の一つを使用することができます。このセレクターは、4D Desktop を使用して組み込み・コンパイルされた4D Web Server フレームワーク内(デザイン環境へのアクセスがない状態)において有用です。 取り得る値: TCPポート番号についての詳細な情報に関しては、 Webサーバー設定 セクションを参照して下さい。 デフォルトの値: 80 | |||||||||
Web scalable session | 倍長整数 | 90 | スコープ: ローカルWeb サーバー 詳細: スケーラブルセッション管理モードを有効化または無効化します(詳細はdeveloper.4d.com のthe User sessions page にあります)。 取りうる値: 1 (モード有効化) または 0 (モード無効化)。値が編集された場合、変更が有効化されるためにはWeb サーバーを再起動する必要があります。 このモードが有効化されている場合、以下のオプションは無視されます: Web inactive process timeout、Web max concurrent processes、Web session cookie name、およびWeb inactive session timeout | |||||||||
Web session cookie domain | 倍長整数 | 81 | スコープ: ローカルWeb server 説明: セッションCookieの"ドメイン"フィールドの値を設定または取得します。このセレクター(とセレクター82)は、セッションCookieのスコープを管理するのに有用です。例えば、このセレクターに、 "/*.4d.fr" という値を設定した場合、クライアントは、リクエストが ".4d.fr" のドメイン宛てだった場合にのみCookieを送ります。これにより、外部の静的なデータをホストするサーバーを除外することができます。 取り得る値: テキスト | |||||||||
Web session cookie name | 倍長整数 | 73 | 互換性に関する注意: このセレクターはWeb scalable session モードが有効化されている場合には無視されます**。 スコープ**: ローカルWebサーバー 説明: 旧式セッションIDを保存するのに使用されるcoolie の名前を設定。 取りうる値: テキスト デフォルト値: "4DSID_AppName" (空文字を渡すとデフォルト値が設定されます。) | |||||||||
Web session cookie path | 倍長整数 | 82 | スコープ: ローカル Web server 説明: セッションCookieの"パス"フィールドの値を設定・または取得します。このセレクター(とセレクター81)は、セッションCookieのスコープを管理するのに有用です。例えば、このセレクターに"/4DACTION"という値を設定した場合、クライアントは、4DACTION から始まる動的なリクエストに対してのみCookieを送り、ピクチャやスタティックなページ等に対しては送りません。 取り得る値: テキスト | |||||||||
Web session enable IP address validation | 倍長整数 | 83 | スコープ: ローカルWebサーバー** ** 説明: セッションcookieに対するIPアドレス認証を有効化・または無効化します。セキュリティ上の理由から、4D Webサーバーはセッションcookieを含んでいるそれぞれのリクエストのIPアドレスをデフォルトでチェックし、そのアドレスが、cookieを作成するのに使用されたIPアドレスと異なる場合にはリクエストを拒否します。一部の特定のアプリケーションにおいては、この認証を無効化して、IPアドレスが合致しないcookieも受け入れたい場合があるかもしれません。例えばWifiと3G/4Gネットワークを切り替えるモバイルデバイスでは、IPアドレスは合致しません。この場合、このオプションに0を渡してIPアドレスが変わった時でもクライアントがWebセッションを引き続き利用できるようにします。ただしこの設定はアプリケーションのセキュリティレベルを下げることになることに注意して下さい。 これが変更された際には、その設定は直ちに反映されます(HTTPサーバーを再起動する必要はありません)。 とり得る値: 0(無効化)または1(有効化) デフォルト値: 1 (IP アドレスはチェックされます) |
selector引数にWeb debug logを使用する場合、value引数に以下の定数のうちどれか一つを渡す事ができます:
定数 | 型 | 値 | コメント |
---|---|---|---|
wdl disable web log | 倍長整数 | 0 | Web HTTP debug log は無効化されています |
wdl enable with all body parts | 倍長整数 | 7 | Web HTTP debug log はレスポンスとリクエスト両方をボディー部に含めた状態で有効化されます |
wdl enable with request body | 倍長整数 | 5 | Web HTTP debug log はリクエストのボディー部のみ含めた状態で有効化されます |
wdl enable with response body | 倍長整数 | 3 | Web HTTP debug log はレスポンスのボディー部のみを含めた状態で有効化されています。 |
wdl enable without body | 倍長整数 | 1 | Web HTTP debug log はボディ部なしで有効化されています(この場合ボディ部のサイズは提供されます) |
例題
HTTP デバッグログをボディ部分なしで有効化する場合を考えます:
WEB SET OPTION(Web debug log;wdl enable without body)
ログエントリーは次のようになります:
# REQUEST
# SocketID: 1592
# PeerIP: 127.0.0.1
# PeerPort: 54912
# TimeStamp: 39089388
#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
#SequenceNumber:5
GET /4DWEBTEST HTTP/1.1
Accept: text/html,(...)
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: 127.0.0.1
User-Agent: 4D_HTTP_Client/0.0.0.0
# RESPONSE
# SocketID: 1592
# PeerIP: 127.0.0.1
# PeerPort: 54912
# TimeStamp: 39089389 (elapsed time: 1 ms)
#ConnectionID: 9808E3B4B06E4EB5A60E9A3FC69116BD
#SequenceNumber:6
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 3555
Content-Type: text/plain; charset=UTF-8
Date: Thu, 20 Apr 2017 10:51:29 GMT
Expires: Thu, 20 Apr 2017 10:51:29 GMT
Server: 4D/16.0.1
[Body Size: 3555]