4D v16.3

WEB SET OPTION

ホーム

 
4D v16.3
WEB SET OPTION

WEB SET OPTION 


 

WEB SET OPTION ( selector ; value ) 
引数   説明
selector  倍長整数 in オプションコード
value  倍長整数, テキスト in オプション値

説明   

WEB SET OPTIONコマンドは4D Webサーバーの機能に関する様々なオプションのカレントの値を変更します。

selector引数にはWeb Serverテーマの定数のうちひとつを指定し、valueに新しい設定値を渡します:

定数 コメント
Web character set 倍長整数 17 スコープ: 4D ローカル, 4D Server
2セッション間で設定を保持: Yes
説明: データベースに接続するブラウザーとの通信に (ローカルモード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リモートマシン
2セッション間で設定を保持: Yes
とりうる値: セレクター16参照
説明: Webサーバーとして使用する4Dクライアントマシンの動作パラメーターを指定します。これらのセレクターを用いて指定された値は、 Webサーバーとして使用するすべての4D Clientマシンに対して適用されます。特定の4D Clientマシンに対してのみ値を指定したい場合には、4D Clientの環境設定ダイアログボックスをリモートモードで使用します。
Web debug log 倍長整数 84 スコープ: ローカルWebサーバー
2セッション間で設定を保持: No。ただしHTTPサーバーが再起動されても設定を保持(この場合新しいログファイルが使用されます)。
説明: 4D WebサーバーのHTTPリクエストログファイルの状態を設定または取得できるようにします。有効化された場合、"HTTPDebugLog_nn.txt"と命名されたこのファイルはアプリケーションの”Logs”フォルダに保存されます(nn にはファイル番号が入ります)。これはWebサーバーに関連した問題をデバッグするのに有用です。リクエストとレスポンスをrawモードで記録するからです。ヘッダーも含めて、リクエスト全体が記録されます。オプションとして、ボディ部分も記録することができます。HTTPDebugLog ファイルについての詳細な情報については、付録 E: ログファイルの詳細 の章を参照してください。
値: "wdl"の接頭辞が付いた定数のどれか一つ(このテーマ内のこれらの定数の詳細を参照して下さい)
デフォルト値: 0 (有効化しない)
Web HTTP compression level 倍長整数 50 スコープ: ローカルWebサーバー
2セッション間で設定を保持: No
説明: 4D HTTPサーバーで使用されるすべての圧縮されたHTTP通信 (クライアントのリクエスト、サーバーのレスポンス、WebおよびWebサービス) の圧縮レベル。このセレクターを使用すれば圧縮率を犠牲にして実行速度を速めるか、速度を優先して圧縮率を高めるかを選択できます。値の選択は交換するデータのサイズやタイプに基づきます。value引数に1から9までの値を渡します。1は速度優先、9は圧縮率優先です。また-1を渡して圧縮速度と圧縮率の妥協点を指定できます。デフォルトの圧縮レベルは1 (速度優先) です。
とりうる値: 1 から 9 (1 = 速度優先, 9 = 圧縮優先) または -1 = 最適
Web HTTP compression threshold 倍長整数 51 スコープ: ローカルHTTPサーバー
2セッション間で設定を保持: No
説明: 最適化モードの内部的な4D Webサービス通信フレームワークにおいて、圧縮を行わないリクエストサイズの敷居値を設定できます。この設定は、小さなデータ交換時に圧縮を行うことによる、マシンの時間の浪費を避けるために有効です。
とりうる値: 任意の倍長整数値。valueにはバイト単位でサイズを渡します。デフォルトで、圧縮の敷居値は1024バイトに設定されています。
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 port ID 倍長整数 39 スコープ: 4D ローカル, 4D Server
2セッション間で設定を保持: Yes
説明: ローカルモード4Dおよび4D ServerのWebサーバがTLSによるセキュアな接続(HTTPSプロトコル)で使用するTCP ポート番号。HTTPS ポート番号はデータベース設定の"Web/設定"ページで指定できます。デフォルト値は443 (標準ポート番号) です。value引数にTCP Port Numbersテーマの定数を渡すこともできます。
とりうる値: 0~65535
Web inactive process timeout 倍長整数 78 スコープ: ローカルWebサーバー
2セッション間で値を保持: No. しかしHTTPサーバーを再起動しただけの場合は保持されます。
説明: セッション管理のために使用されるプロセスのタイムアウトを設定します。タイムアウト後、プロセスは終了されます。
取りうる値: 倍長整数 (分)
デフォルト値: 480分 (= 8時間) (0を渡すとデフォルト値に設定されます)
Web inactive session timeout 倍長整数 72 スコープ: ローカルWebサーバー
2セッション間で値を保持: No. しかしHTTPサーバーを再起動しただけの場合は保持されます。
説明: セッション管理のために使用されるcookieのタイムアウトを設定します。
取りうる値: 倍長整数 (分)
デフォルト値: 480分 (= 8時間) (0を渡すとデフォルト値に設定されます)
Web IP address to listen 倍長整数 16 スコープ: 4D ローカル, 4D Server
2セッション間で設定を保持: Yes
説明: ローカルモード4Dおよび4D ServerのWebサーバがHTTPリクエストを受信するIPアドレス。デフォルトで、特定のアドレスは定義されていません(value=0)。この引数はデータベース設定で設定できます。

Web IP Address to listenセレクターは、コンパイルして4D Volume Desktopを組み込んだ4D Webサーバで役立ちます (この場合デザインモードへのアクセス手段がありません)。

value引数には16進数のIPアドレスを渡します。つまり、“a.b.c.d”のようなIPアドレスを指定するには、以下のようなコードを作成します:
 C_LONGINT($addr)
 $addr:=($a<<24)|($b<<16)|($c<<8)|$d
 SET DATABASE PARAMETER(Web IP address to listen;$addr)
Web keep session 倍長整数 70 スコープ: ローカルWebサーバー
2セッション間で設定を保持: No. しかしHTTPサーバー再起動後も設定は有効。
説明: 4Dによる自動セッション管理モード (Webセッション管理) の有効/無効を設定する。
取りうる値: 1 (有効) / 0 (無効)
デフォルト値: v13で作成されたデータベースでは1、変換されたデータベースでは0。このモードはリモートモードで一時的なコンテキストの再利用メカニズムも有効にする点に留意してください。このメカニズムに関する詳細はWebサーバー設定を参照してください。
Web log recording 倍長整数 29 スコープ: 4D ローカル, 4D Server
2セッション間で設定を保持: Yes
説明: ローカルモード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 スコープ: 4D ローカル, 4D Server
2セッション間で設定を保持: Yes
説明: ローカルモード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サーバー
2セッション間で設定を保持: No. しかしHTTPサーバー再起動後も設定は有効。
説明: 4Dの自動セッション管理下のセッション上限数。設定した上限に達すると、もっとも古いセッションが閉じられます。
取りうる値: 倍長整数値
デフォルト値: 100 (0を渡すとデフォルト値が設定されます)
Web maximum requests size 倍長整数 27 スコープ: 4D ローカル, 4D Server
2セッション間で設定を保持: Yes
説明: Webサーバに処理を許可する受信HTTPリクエスト (POST) の最大サイズ (バイト単位)。デフォルト値は2,000,000 (2MBより少し少ない値) です。最大値(2,147,483,648)を渡すと、実際上は制限がなくなります。

この制限は、受信するリクエストが大きすぎるためにWebサービスが飽和してしまうことを回避するために使用します。リクエストがこの制限に達すると、4D Webサービスはリクエストを拒否します。
とりうる値: 500,000~2,147,483,648.
Web port ID 倍長整数 15 スコープ: 4D ローカル, 4D Server.
2セッション間で設定を保持: No
説明: ローカルモードの4Dと4D Serverで、4D Web server が使用するTCPポート番号を設定または取得します。デフォルトではこの値は80です。TCPポート番号は、データベース設定の"Web/設定"タブ内にて設定できます。value p引数には、TCP Port Numbers テーマ内にある定数の一つを使用することができます。このセレクターは、4D Desktop を使用して組み込み・コンパイルされた4D Web Server フレームワーク内(デザイン環境へのアクセスがない状態)において有用です。
取り得る値: TCPポート番号についての詳細な情報に関しては、 Webサーバー設定 セクションを参照して下さい。
デフォルトの値: 80
Web session cookie domain 倍長整数 81 スコープ: ローカルWeb server
2セッション間で設定を保持: No、ただしHTTPサーバーが再起動した場合でも有効なままです。
説明: セッションCookieの"ドメイン"フィールドの値を設定または取得します。このセレクター(とセレクター82)は、セッションCookieのスコープを管理するのに有用です。例えば、このセレクターに、 "/*.4d.fr" という値を設定した場合、クライアントは、リクエストが ".4d.fr" のドメイン宛てだった場合にのみCookieを送ります。これにより、外部の静的なデータをホストするサーバーを除外することができます。
取り得る値: テキスト
Web session cookie name 倍長整数 73 スコープ: ローカルWebサーバー
2セッション間で設定を保持: No. しかしHTTPサーバー再起動後も設定は保持される。
説明: 4Dの自動セッション管理機能で使用されるcookieのname属性値。
取りうる値: テキスト
デフォルト値: "4DSID" (空文字を渡すとデフォルト値が設定されます。)
Web session cookie path 倍長整数 82 スコープ: ローカル Web server
2セッション間で設定を保持: No、ただしHTTPサーバーを再起動後も有効。
説明: セッションCookieの"パス"フィールドの値を設定・または取得します。このセレクター(とセレクター81)は、セッションCookieのスコープを管理するのに有用です。例えば、このセレクターに"/4DACTION"という値を設定した場合、クライアントは、4DACTION から始まる動的なリクエストに対してのみCookieを送り、ピクチャやスタティックなページ等に対しては送りません。
取り得る値: テキスト
Web session enable IP address validation 倍長整数 83 スコープ: ローカルWebサーバー
2セッション間で設定を保持: No
説明: セッション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 倍長整数 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 デバッグログをボディ部分なしで有効化する場合を考えます:

ログエントリーは次のようになります:

# 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]



参照 

WEB GET OPTION
WEB GET SESSION EXPIRATION

 
プロパティ 

プロダクト: 4D
テーマ: Webサーバ
番号: 1210

This command can be run in preemptive processes

 
履歴 

初出: 4D v13
変更: 4D v13.2
変更: 4D v14 R3
変更: 4D v15
変更: 4D v15 R2

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16.3)

Inherited from : WEB SET OPTION ( 4D v16)