葡萄牙语
中国人
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
如果这个项目对您有用,请考虑捐赠。