葡萄牙語
中國人
Fox Pages Server (FPS) 是 Visual FoxPro 的多執行緒 HTTP、HTTPS 和 FastCGI 伺服器。
透過 Fox Pages Server,您可以使用 Visual FoxPro 開發、偵錯和分發 Web 內容和應用程式。
Fox Pages Server 不允許 Visual FoxPro 程式碼在 Internet 上運作。這就是為什麼有必要了解將要使用的網路語言和開發工具,例如:HTML、CSS、Javascript、JQuery、Dojo 等。
Fox Pages Server 可以與 boa 平台結合使用。透過這種方式,您無需了解任何 Web 開發語言即可建立 Web 應用程式。 Fox Pages Server 與 BOA 通訊。
微軟視覺 FoxPro 9.0
Fox Pages Server有兩種分散式模式:開發模式和分發模式。
在這種模式下,伺服器預設以單執行緒工作,這樣就可以使用Visual FoxPro進行FXP頁面的開發。開發模式需要安裝Visual FoxPro。
在此模式下,伺服器以多執行緒工作,提供極大的處理增益。分發模式需要安裝 Visual FoxPro 運行時。
在開發和分發模式下,任何錯誤都會記錄在 LOGS 資料夾中的表中,以便檢測和追蹤錯誤。
請勿嘗試在同一台電腦上以開發和部署模式執行安裝程序。如果有必要,請從分發模式執行 install.bat 文件,因為它將註冊元件,也將建立 Windows 服務。配置開發模式使用分發模式以外的IP或連接埠。
Visual FoxPro 偵錯只能在開發模式下進行,因為當程式碼在多執行緒 DLL 中執行時,無法顯示任何介面。任何嘗試都會產生錯誤或凍結線程。
不建議將 .HTML 檔案及其編譯的 .FXP 保留在伺服器的相同資料夾中,如果在網頁瀏覽器中變更副檔名,則可以下載它們。
Fox Pages 使用連接埠 80 作為 HTTP 的預設端口,因此在啟動之前,必須停止任何使用連接埠 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 表中的記錄來配置網站。
如果主機名字段填有“*”,則所有主機名稱將與相同資料夾相關。
在同一個表格中,我們透過在 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 表中的記錄來配置授權。
在「站點」欄位中輸入將授予授權的站點。此欄位與 SITES.DBF 表相關。
在ORIGIN欄位中輸入來源(授權域),如果填寫「*」則允許任何來源。
在URI欄位中輸入資源,如果填有「*」則允許拒絕。
GET、POST、PUT、DELETE、HEAD 和 OPTIONS 欄位決定允許使用哪些方法。
HEADER 欄位必須填入允許的 HTTP 標頭。它們應該用逗號後面跟著空格分隔。
Fox Pages Server 可以設定為透過使用 FastCGI 協定的其他 Web 伺服器來使用。
位於 NGINX 資料夾中的 nginx.conf 檔案是 NGinX 伺服器的設定模板。將此檔案複製到安裝 NGinX 的 CONF 資料夾,並使用網站檔案資料夾的完整路徑來設定 ROOT 參數。
若要將 Fox Pages Server 配置為使用 FastCGI 協議,請在 SERVERS.DBF 表的 TYPE 欄位中填入「FCGI」。
由於處理請求所需的所有資訊都必須由 Web 伺服器提供,因此無需配置網站、網關或安全性。
伺服器啟動後,透過鍵入設定的伺服器位址(例如http://localhost、https://localhost)使用任何瀏覽器。
要進入演示站點,需要有兩個帳戶,一個用於客戶,一個用於代表。
客戶的帳戶訪問客戶區。要訪問,請使用電子郵件 [email protected] 和密碼 123456。
代表帳戶啟動客戶和訂單註冊申請。要訪問,請使用電子郵件[email protected]和密碼123456。
動態頁面在網站或網際網路應用程式的開發中使用伺服器端程式語言。
Fox Server Pages 使得使用靜態開發頁面資源(例如 HTML、CSS、Javascript)和 Visual Fox Pro 程式設計功能(例如控制台語言程式設計、資料庫)來開發這些頁面成為可能。
在 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請求應分別用於查詢、變更、建立和刪除。
只要 Accept 標頭為“application/json”或“application/xml”,Fox Pages Server 就會將請求當作 REST 處理。
使用代表帳戶登入時,可以在演示網站上提供的應用程式中找到更多詳細資訊。
使用 Fox Pages Server,您可以建立 REST API 來服務 BOA 平台的請求。您可以在 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 協定支持,請求和回應物件屬性的處理已變更。
在 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。只有當需要在開發環境中使用安全連線時,這才會成為限制。
要使用 SocketWrench 的商業版本,您必須購買許可證,因為 Fox Pages Server 不包含此許可證。
使用的版本配置,免費的還是商業的,或者說SocketWrench的版本,位於CORE資料夾的FOXPAGES.H檔案中,如下:
//套筒扳手
#定義USEFREEVERSION
#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
壓縮 - VFP壓縮 - Craig Boyd
加密 - VFPEncryption - Craig Boyd
JSON 解析器 - 修改函式庫版本 - Craig Boyd
套筒 - 套筒扳手 - Catalyst Development
如果這個項目對您有用,請考慮捐贈。