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 |
.HTTPPort : Number |
.HTTPTrace : BooleanHTTP TRACE の有効化状態 |
.HTTPSEnabled : Boolean HTTPSプロトコル状態 |
.HTTPSPort : Number HTTPS のリッスンIPポート番号 |
.inactiveProcessTimeout : Number 旧式セッションプロセスの非アクティブタイムアウト時間 (分単位) |
.inactiveSessionTimeout : Number 旧式セッションの非アクティブタイムアウト時間 (分単位; cookie にて設定) |
.IPAddressToListen : Text 4D Webサーバーが HTTPリクエストを受信する IPアドレス |
.isRunning : Boolean Webサーバーで旧式セッションが有効されている場合に true、それ以外は false |
.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 の "path" フィールド |
.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サーバーを停止します |
.accessKeyDefined
.accessKeyDefined : Boolean
.accessKeyDefined プロパティは、Webサーバーの設定にアクセスキーが定義されていれば trueを格納します。 このプロパティは WebAdmin Webサーバーによって、管理インターフェースのセキュリティ設定を有効化するのに使用されます。
.certificateFolder
.certificateFolder : Text
認証ファイルが保存されているフォルダーのパス。 パスは、ファイルシステムを使用した 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
.cipherSuite
.cipherSuite : Text
保護されたプロトコルのために使用される暗号スイートリスト。 これは、4D Webサーバーが実装する暗号化アルゴリズムの優先順位を設定します。 コロン区切りの文字列として設定できます (例: "ECDHE-RSA-AES128-...")。 詳細は Open SSL サイトの ciphers ページ を参照ください。
.CORSEnabled
.CORSEnabled : Boolean
Web サーバーの CORS (Cross-origin resource sharing、オリジン間リソース共有) サービス状態。 セキュリティ上の理由により、"ドメイン間" のリクエストはブ ラウザーレベルでデフォルトで禁止されています。 有効化されている場合 (true)、ドメイン外 Webページからの XHRコール (RESTリクエストなど) をアプリケーションにおいて許可することができます (CORSドメインリストに許可されたアドレスのリストを定義する必要があります。後述の CORSSettings
参照)。 無効化されている場合 (false、デフォルト) には、CORS で送信されたサイト間リクエストはすべて無視されます。 有効時 (true) に、許可されていないドメインやメソッドがサイト間リクエストを送信した場合、"403 - forbidden" エラーレスポンスによって拒否されます。
デフォルト: false (無効)
CORS についての詳細は、Wikipedia のCross-origin resource sharing ページを参照ください。
.CORSSettings
.CORSSettings : Collection
CORSサービスに許可されたホストとメソッドの一覧 (CORSEnabled
プロパティ参照)。 各オブジェクトは必ず host プロパティを格納していなくてはなりません。 methods プロパティは任意です。
-
host (テキスト、必須): CORS を介したサーバーへのデータリクエスト送信が許可されている外部ページのドメイン名または IPアドレス。 複数のドメインを追加してホワイトリストを作成することができます。 host が存在しない、または空の場合、当該オブジェクトは無視されます。 複数のシンタックスがサポートされています:
- 192.168.5.17:8081
- 192.168.5.17
- 192.168.*
- 192.168.*:8081
- http://192.168.5.17:8081
- http://\*.myDomain.com
- http://myProject.myDomain.com
- *.myDomain.com
- myProject.myDomain.com
- *
-
methods (テキスト、任意): 対応する CORSホストに対して許可する HTTPメソッド。 メソッド名はセミコロン区切りで指定します(例: "post;get")。 methods が空、null、あるいは undefined の場合、すべてのメソッドが許可されます。
.debugLog
.debugLog : Number
The HTTPリクエストログファイルの状態 (アプリケーションの"Logs" フォルダーに格納されている HTTPDebugLog_nn.txt ファイル (nn はファイル番号))。
- 0 = 無効
- 1 = 有効、リクエスト本文なし (本文サイズあり)
- 3 = 有効、レスポンスの本文のみ
- 5 = 有効、リクエストの本文のみ
- 7 = 有効、リクエストおよびレスポンスの本文あり