ポルトガル語
中国語
Fox Pages Server (FPS) は、Visual FoxPro 用のマルチスレッド HTTP、HTTPS、および FastCGI サーバーです。
Fox Pages Server を使用すると、Visual FoxPro を使用して Web コンテンツとアプリケーションを開発、デバッグ、配布できます。
Fox Pages Server では、Visual FoxPro コードをインターネット上で実行できません。このため、HTML、CSS、JavaScript、JQuery、Dojo など、使用されるインターネット用の言語と開発ツールを知る必要があります。
Fox Pages Server は boa プラットフォームと組み合わせて使用できます。この方法により、Web 開発言語の知識がなくても Web アプリケーションを作成できます。 Fox Pages Server は BOA と通信します。
Microsoft Visual FoxPro 9.0
Fox Pages Server は、開発モードと配布モードの 2 つのモードで配布されます。
このモードでは、サーバーはデフォルトでシングルスレッドで動作するため、FXP ページの開発に Visual FoxPro を使用できます。開発モードでは、Visual FoxPro がインストールされている必要があります。
このモードでは、サーバーはマルチスレッドで動作し、処理能力が大幅に向上します。配布モードでは、Visual FoxPro ランタイムがインストールされている必要があります。
開発モードおよび配布モードでは、エラーはすべて LOGS フォルダー内のテーブルに記録され、エラーの検出と追跡が可能になります。
同じコンピュータ上で開発モードと展開モードでインストール手順を実行しないでください。これが必要な場合は、配布モードから install.bat ファイルを実行します。コンポーネントが登録され、Windows サービスも作成されるためです。配布モード以外の IP またはポートを使用するように開発モードを構成します。
コードがマルチスレッド DLL で実行される場合はインターフェイスを表示できないため、Visual FoxPro デバッグは開発モードでのみ機能します。試みるとエラーが発生するか、スレッドがフリーズします。
.FXP をコンパイルした .HTML ファイルをサーバーの同じフォルダーに残しておくことはお勧めできません。Web ブラウザで拡張子を変更すればダウンロードできます。
Fox Pages は HTTP のデフォルトとしてポート 80 を使用するため、開始する前に、ポート 80 を使用しているサービス (IIS、Apache など) を停止するか、SERVERS フォルダーにある HTTP.PRG プログラムで使用されるポートを変更する必要があります。モード、または分散モードの DATA フォルダーにある SERVERS.DBF テーブルの PORT フィールドにあります。
他のプロトコルも同じ手順に従います。
DATA フォルダーにある FPS.DBC データベースには、サーバーの構成が保存されます。テーブルとそれぞれのフィールドのドキュメントは、FPS.HTML ファイルにあります。テーブル間の関係は、FPS.JPG 画像で確認できます。
サーバーは、クライアント (IE、Chrome、Firefox など) とサーバー (NGinX など) の接続を担当します。
各サーバーは個別のスレッドで実行され、IP 番号の構成に応じて同じポートでリッスンできます。 IP 番号とポートが競合した場合、最初に設定されたサーバーが接続を受信します。
SERVERS.DBF テーブルのレコードを追加、変更、または削除して、サーバーを構成します。
各プロトコルのデフォルトは特定のポートです。
FastCGI は通常、サーバー間の通信に使用され、デフォルトのポートはありません。
サイトは、ホスト名 (例: www.example.com) とサイト ファイルが配置されているフォルダー (例: c:sitesexample) との関係を確立し、ホームページ (例:index.fxp、index.php、index) を構成します。 .htmlなど)。
SITES.DBF テーブルのレコードを追加、変更、または削除して、サイトを構成します。
HOSTNAME フィールドに「*」を入力すると、すべての HOSTNAME が同じフォルダーに関連付けられます。
この同じテーブルで、REDIRECT フィールドにリダイレクトの完全なアドレスを入力してリダイレクトを構成します。この機能は、たとえば、安全でない接続 (HTTP) を安全なサーバー (HTTPS) にリダイレクトする必要がある場合に非常に役立ちます。これは、たとえば、安全でないサーバーからサイト www.example.com の REDIRECT フィールドに入力することによって行われます。 (HTTP) を「https://www.example.com」、つまり安全なサイト アドレス (HTTPS) に置き換えます。
ゲートウェイは、他の開発ツールにリクエストを送信するために使用されます。これまでのところテストされているのは PHP だけですが、FastCGI をサポートするツールはすべて互換性がある必要があります。
GATEWAYS.DBF テーブルのレコードを追加、変更、または削除して、ゲートウェイを構成します。
サポートされているプロトコルは FastCGI のみです。
ゲートウェイはサイトと同様の方法で機能し、ホスト名 (例: www.example.com) とサイト ファイルが配置されているフォルダー (例: c:sitesexample) との間の関係を確立します。違いは、URI フィールドの内容 (例: 「.php」) がゲートウェイに送信されるようにリクエスト URI に含まれている必要があるという点です。
これらの基準に基づいて、Fox Pages Server は HTTP 要求を FastCGI 要求に変換し、構成されたサーバーに送信します。次に、FastCGI 応答は HTTP 応答に変換され、クライアントに送信されます。
基準を満たさないリクエストは HTTP サーバーによって処理されるため、ゲートウェイごとにサイトを構成する必要があります。
サイト内に含まれるすべてのフォルダーとファイルにアクセスできる必要はありません。データベース、テーブル、プログラムなどがその例です。
Fox Pages Server には、承認されたアクセスまたはサイト フォルダへの完全なブロックを許可するアクセス制御システムがあります。
アクセス制御は、テーブル REALMS.DBF、USERS.DBF、および REALMUSER.DBF のレコードを追加、変更、または削除することによって構成されます。
REALM.DBF テーブルは、サイト フォルダーのアクセス設定を設定します。
USERS.DBF テーブルは、フォルダーにアクセスできるユーザーを定義します。
REALMUSER.DBF テーブルには、ユーザーとフォルダーがリストされます。
これは、オリジン (ドメイン) が承認なしに別のソース (別のドメイン) 内のリソースにアクセスすることを防ぐブラウザーのメカニズムです。
CORS.DBF テーブルのレコードを追加、変更、または削除して、承認を構成します。
SITE フィールドに認証を与えるサイトを入力します。このフィールドは、SITES.DBF テーブルに関連しています。
ORIGIN フィールドにオリジン (承認されたドメイン) を入力します。「*」を入力すると、どのオリジンでも許可されます。
URI フィールドにリソースを入力します。「*」が入力されている場合は、拒否が許可されます。
GET、POST、PUT、DELETE、HEAD、および OPTIONS フィールドは、どのメソッドが許可されるかを決定します。
HEADER フィールドには、許可された HTTP ヘッダーを入力する必要があります。カンマとそれに続くスペースで区切る必要があります。
Fox Pages Server は、FastCGI プロトコルを使用して他の Web サーバー経由で使用するように構成できます。
NGINX フォルダーにある nginx.conf ファイルは、NGinX サーバーの構成テンプレートです。このファイルを NGinX がインストールされている CONF フォルダーにコピーし、ROOT パラメーターをサイト ファイル フォルダーのフル パスで構成します。
FastCGI プロトコルを使用するように Fox Pages Server を構成するには、SERVERS.DBF テーブルの TYPE フィールドに「FCGI」を入力します。
リクエストの処理に必要な情報はすべて Web サーバーから提供される必要があるため、サイト、ゲートウェイ、セキュリティを構成する必要はありません。
サーバーの起動後、任意のブラウザを使用して、構成されたサーバー アドレス (例: http://localhost、https://localhost) を入力します。
デモ サイトに入るには、クライアント用と代表者用の 2 つのアカウントが必要です。
顧客のアカウントは顧客エリアにアクセスします。アクセスするには、電子メール [email protected] とパスワード 123456 を使用します。
代表アカウントは、顧客および注文の登録のためのアプリケーションを開始します。アクセスするには、電子メール[email protected]とパスワード123456を使用してください。
動的ページは、Web サイトまたはインターネット アプリケーションの開発においてサーバー側プログラミング言語を使用します。
Fox Server Pages を使用すると、Visual Fox Pro プログラミング機能 (コンソール言語プログラミング、データベースなど) を備えた開発用の静的ページのリソース (HTML、CSS、JavaScript など) を使用してこれらのページを開発できます。
Fox Pages Server では、HTML ページが PRG プログラム ファイルに変換され、コンパイルされた FXP ファイルにコンパイルされるため、ページ処理は非常に高速で、別のインタープリタを使用する際の制限がありません。
コンパイル プロセスでは、 <FPS>
タグと</FPS>
タグの間のコードのみが処理され、残りは静的コンテンツとして送信されます。
静的コンテンツの例。
<HTML>
Hello World
</HTML>
結果:
こんにちは世界
<FPS>
タグと</FPS>
タグが欠落しているため、静的コンテンツとしてのプログラムの例。
<HTML>
for nCounter = 1 to 3
Hello World
next
</HTML>
結果:
lnCounter = 1 ~ 3 の場合
こんにちは世界
次
タグ<t>
と<e>
を使用した例では、静的テキストと式の送信を担当します。
<HTML>
<FPS>
cWorld = "World"
for nCounter = 1 to 3
<t>Hello </t><e>cWorld</e><br>
next
</FPS>
</HTML>
結果:
こんにちは世界
こんにちは世界
こんにちは世界
他のHTMLタグを組み合わせたプログラミング例。 HTML タグまたは<t>
タグで始まるすべての行が送信されます。
<HTML>
<FPS>
<b>Begin</b><br><br>
cWorld = "World"
for nCounter = 1 to 3
<b><t>Hello </t><e>cWorld</e></b><br>
next
<br>
<t>End</t>
</FPS>
</HTML>
結果:
始める
こんにちは世界
こんにちは世界
こんにちは世界
終わり
REST (Representational State Transfer) は、Web アプリケーションが本来の目的どおり HTTP を使用することを提唱するアーキテクチャ スタイルであり、クエリ、変更、作成、削除には GET、PUT、POST、DELETE リクエストをそれぞれ使用する必要があります。
Fox Pages Server は、Accept ヘッダーが "application/json" または "application/xml" である場合は常に、リクエストを REST として処理します。
詳細については、代表アカウントでサインインした場合のデモ サイトで利用できるアプリケーションをご覧ください。
Fox Pages Server を使用すると、BOA プラットフォームのリクエストに対応する REST API を構築できます。 Visual Foxpro で完全な Web アプリケーションを作成できます。 Fox Server Pages は、BOA によって送信されたリクエストに応答します。 Fox Server Pages と BOA の間で送信されるデータは、理解しやすい JSON 文字列です。
Visual Fox ページを設定したら、この組み合わせの力をテストできます。 https://www.BOA-platform.com またはこの直接リンク http://demo.boa-platform.com でデモを開始します。ログイン画面が表示されたら、次のことができます。
ユーザー: en
パスワード: en01
APIサーバーのURL:http://localhost/boa。これはローカルの Fox Pages サーバーです。
サンプル ソース コードについては、demo/boa フォルダーを参照してください。
FastCGI プロトコルのサポートのために、Request および Response オブジェクトのプロパティの処理が変更されました。
バージョン 2.0 では、ハイフンを含むヘッダー (例: Accept-Encoding) からハイフンが削除されました (例: AcceptEnconding)。バージョン 3.0 では、これらのハイフンは下線に変更されます (例: Accept_Encoding)。
Fox Pages Server は無料のオープンソース ソフトウェアです。ライセンスは LICENSE ファイルにあります。
接続に使用されるコンポーネントは、Catalyst Development Corporation (www.sockettools.com) 社のソケットレンチです。
このコンポーネントは、無料バージョンと商用バージョンで配布されます。無料版は安全な接続 (SSL/TLS) をサポートしていません。
Fox Pages Server の開発バージョンは、SocketWrench の無料バージョンを使用するように構成されています。これは、開発環境で安全な接続を使用する必要がある場合にのみ制限されます。
Fox Pages Server にはこのライセンスが含まれていないため、SocketWrench の商用バージョンを使用するには、ライセンスを購入する必要があります。
使用されるバージョン構成 (無料か商用か、または SocketWrench のバージョン) は、次のように、CORE フォルダーの FOXPAGES.H ファイルにあります。
//ソケットレンチ
#DEFINE usefreeeversion
#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.6"
//ソケットレンチ 8
//#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.8"
//#DEFINE CSWSOCK_LICENSE_KEY "ここにランタイム ライセンスを挿入"
//ソケットレンチ9
//#DEFINE CSWSOCK_CONTROL "SocketTools.SocketWrench.9"
//#DEFINE CSWSOCK_LICENSE_KEY "ここにランタイム ライセンスを挿入"
これらの設定を変更した後は、プロジェクトを再コンパイルする必要があります。
マルチスレッド - VFP2C32T.FLL - Christian Ehlscheid
圧縮 - VFPCompression - Craig Boyd
暗号化 - VFPEncryption - Craig Boyd
JSON パーサー - 修正されたライブラリ バージョン - Craig Boyd
ソケット - ソケットレンチ - Catalyst 開発
このプロジェクトがお役に立ちましたら、寄付をご検討ください。