WebServer
WebServer
クラス API を使って、メイン (ホスト) アプリケーションおよび、各コンポーネントの Webサーバーを開始・モニターすることができます (Webサーバーオブジェクト 参照)。 このクラスは 4D
クラスストアより提供されます。
Webサーバーオブジェクト
Webサーバーオブジェクトは WEB Server
コマンドによってインスタンス化されます。
これらは、次のプロパティや関数を持ちます:
概要
.accessKeyDefined : Boolean Webサーバーの設定にアクセスキーが定義されていれば true を格納します |
.certificateFolder : Text 認証ファイルが保存されているフォルダーのパスを格納します |
.characterSet : Number .characterSet : Text アプリケーションに接続してくるブラウザーとの通信に 4D Webサーバーが使用すべき文字セット |
.cipherSuite : Text 保護されたプロトコルのために使用される暗号スイートリスト |
.CORSEnabled : Boolean Web サーバーの CORS (Cross-origin resource sharing、オリジン間リソース共有) サービスステータス |
.CORSSettings : Collection CORSサービスに許可されたホストとメソッドの一覧 |
.debugLog : Number HTTPリクエストログファイルのステータス |
.defaultHomepage : Text デフォルトのホームページの名称 |
.HSTSEnabled : Boolean HTTP Strict Transport Security (HSTS) のステータス |
.HSTSMaxAge : Number 新規クライアント接続ごとに HSTS がアクティブな最長時間 (秒単位) |
.HTTPCompressionLevel : Number 4D HTTPサーバーの HTTP圧縮通信 (クライアントリクエストまたはサーバーレスポンス) における圧縮レベル |
.HTTPCompressionThreshold : Number HTTP圧縮のしきい値 (バイト単位) (このサイズ未満のリクエストについては、通信が圧縮されません) |
.HTTPEnabled : Boolean HTTPプロトコル状態 |
.HTTPPort : Number HTTP のリッスンIPポート番号 |
.HTTPTrace : Boolean HTTP TRACE の有効化状態 |
.HTTPSEnabled : Boolean HTTPSプロトコルの状態 |
.HTTPSPort : Number HTTPS のリッスンIPポート番号 |
.inactiveProcessTimeout : Number 旧式セッションプロセスの非アクティブタイムアウト時間 (分単位) |
.inactiveSessionTimeout : Number 旧式セッションの非アクティブタイムアウト時間 (分単位; cookie の設定) |
.IPAddressToListen : Text 4D Webサーバーが HTTPリクエストを受信する IPアドレス |
.isRunning : Boolean Webサーバーの実行状態 |
.keepSession : Boolean Webサーバーで旧式セッションが有効化されている場合に true 、それ以外は false |
.logRecording : Number リクエストログ (logweb.txt) の記録オプション値 |
.maxConcurrentProcesses : Number Webサーバーにてサポートする最大同時Webプロセス数 |
.maxRequestSize : Number Webサーバーが処理してよい HTTPリクエスト (POST) の最大サイズ (バイト単位) |
.maxSessions : Number 旧式セッションにおける同時セッションの最大数 |
.minTLSVersion : Number 接続に必要な最低TLSバージョン |
.name : Text Webサーバーアプリケーションの名称 |
.openSSLVersion : Text 使用されている OpenSSLライブラリのバージョン |
.perfectForwardSecrecy : Boolean サーバーの PFS利用可否状況 |
.rootFolder : Text Webサーバのルートフォルダーのパス |
.scalableSession : Boolean Webサーバーがスケーラブルセッションを使用している場合に true 、それ以外は false |
.sessionCookieDomain : Text セッションcookie の "domain" フィールド |
.sessionCookieName : Text セッションID の保存に使用されるセッションcookie の名称 |
.sessionCookiePath : Text セッションcookie の "path" フィールド |
.sessionCookieSameSite : Text セッションcookie の "SameSite" 属性の値 |
.sessionIPAddressValidation : Boolean セッションcookie の IPアドレス検証 |
.start() : Object .start( settings : Object ) : Object 対象の Webサーバーを開始させます |
.stop() 対象の Webサーバーを停止します |
WEB Server
履歴
リリース | 内容 |
---|---|
18 R3 | 追加 |
19 | .sessionCookieSameSite をサポート |
WEB Server : 4D.WebServer
WEB Server( option : Integer ) : 4D.WebServer
引数 | 型 | 説明 | |
---|---|---|---|
option | 整数 | -> | 取得する Webサーバー (省略時のデフォルト = Web server database ) |
戻り値 | 4D.WebServer | <- | WebServer オブジェクト |
WEB Server
コマンドは、 デフォルトの Webサーバーオブジェクト、または option 引数で指定された Webサーバーオブジェクトを返します.
optionが省略された場合のデフォルトでは、このコマンドはデータベースの Webサーバー (デフォルトWebサーバー) への参照を返します。 取得する Webサーバーを指定するには、option に以下の定数のいずれか一つを渡してください:
定数 | 値 | 説明 |
---|---|---|
Web server database | 1 | カレントデータベースの Webサーバー( 省略時のデフォルト) |
Web server host database | 2 | コンポーネントのホストデータベースの Webサーバー |
Web server receiving request | 3 | リクエストを受け取った Webサーバー (ターゲットWebサーバー) |
返される Webサーバーオブジェクトには、Webサーバープロパティのカレント値が格納されています。
例題
コンポーネント内から、ホストデータベースの Webサーバーが開始されているかどうかを確認します:
// コンポーネントのメソッド
var $hostWS : 4D.WebServer
$hostWS:=WEB Server(Web server host database)
If($hostWS.isRunning)
...
End if
WEB Server list
履歴
リリース | 内容 |
---|---|
18 R3 | 追加 |
WEB Server list : Collection
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | Collection | <- | 利用可能な Webサーバーオブジェクトのコレクション |
WEB Server list
コマンドは、 4Dアプリケーション内で利用可能な Webサーバーオブジェクトのコレクションを返します.
4Dアプリケーションは一つ以上の Webサーバーを持つことが可能 です:
- ホストデータベースの Webサーバーを1つ (デフォルトWebサーバー)
- コンポーネント毎の Webサーバー各1つ
サーバーが実際に実行中か否かに関わらず、WEB Server list
コマンドは利用可能な Webサーバーをすべて返します。
デフォルトの Webサーバーオブジェクトは、4D 起動時に自動的にロードされます。 その一方で、コンポーネントの Webサーバーは、
WEB Server
コマンドによってそれぞれインスタンス化しなくてはなりません。
Webサーバオブジェクトの .name プロパティを使用することで、リスト内の各 Webサーバーオブジェクトが関連づけられているデータベースまたはコンポーネントを識別することができます。
例題
利用可能な Webサーバーのうちいくつが実行中かを調べます:
var $wSList : Collection
var $vRun : Integer
$wSList:=WEB Server list
$vRun:=$wSList.countValues(True;"isRunning")
ALERT("利用可能 Webサーバー "+String($wSList.length)+" つ中、"+String($vRun)+" つの Webサーバーが実行中です。")
.accessKeyDefined
.accessKeyDefined : Boolean
.accessKeyDefined プロパティは、 Webサーバーの設定にアクセスキーが定義されていれば true を格納します. このプロパティは WebAdmin Webサーバーによって、管理インターフェースのセキュリティ設定を有効化するのに使用されます。
.certificateFolder
.certificateFolder : Text
.certificateFolder
プロパティは、 認証ファイルが保存されているフォルダーのパスを格納します. パスは、ファイルシステムを使用した POSIXフルパスの形式です。 .start()
関数に渡す settings
引数内でこのプロパティを使用する場合、Folder
オブジェクト も使用可能です。
.characterSet
.characterSet : Number
.characterSet : Text
アプリケーションに接続してくるブラウザーとの通信に 4D Webサーバーが使用すべき文字セット. デフォルト値は OS の言語に依存します。 値には、MIBenum 整数や名称の文字列、IANA が定義する識別子を使用できます。 以下は、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