포르투갈어
중국인
Fox Pages Server(FPS)는 Visual FoxPro용 다중 스레드 HTTP, HTTPS 및 FastCGI 서버입니다.
Fox Pages Server를 사용하면 Visual FoxPro를 사용하여 웹 콘텐츠와 응용 프로그램을 개발, 디버그 및 배포할 수 있습니다.
Fox Pages Server는 Visual FoxPro 코드가 인터넷에서 실행되는 것을 허용하지 않습니다. 이것이 HTML, CSS, Javascript, JQuery, Dojo 등과 같이 사용될 인터넷용 언어 및 개발 도구를 아는 것이 필요한 이유입니다.
Fox Pages Server는 보아 플랫폼과 함께 사용할 수 있습니다. 이렇게 하면 웹 개발 언어에 대한 지식 없이도 웹 애플리케이션을 만들 수 있습니다. Fox Pages Server는 BOA와 통신합니다.
마이크로소프트 비주얼 폭스프로 9.0
Fox Pages Server는 개발 모드와 배포 모드의 두 가지 모드로 배포됩니다.
이 모드에서 서버는 기본적으로 단일 스레드에서 작동하므로 FXP 페이지 개발에 Visual FoxPro를 사용할 수 있습니다. 개발 모드를 사용하려면 Visual FoxPro가 설치되어 있어야 합니다.
이 모드에서 서버는 멀티스레드로 작동하여 최고의 처리 성능을 제공합니다. 배포 모드를 사용하려면 Visual FoxPro 런타임이 설치되어 있어야 합니다.
개발 및 배포 모드에서 모든 오류는 LOGS 폴더의 테이블에 기록되어 오류를 감지하고 추적할 수 있습니다.
동일한 컴퓨터에서 개발 및 배포 모드로 설치 절차를 수행하지 마십시오. 필요한 경우 배포 모드에서 install.bat 파일을 실행합니다. 구성 요소를 등록하면 Windows 서비스도 생성되기 때문입니다. 배포 모드가 아닌 다른 IP나 포트를 사용하도록 개발 모드를 구성합니다.
Visual FoxPro 디버깅은 코드가 다중 스레드 DLL에서 실행될 때 인터페이스를 표시할 수 없기 때문에 개발 모드에서만 작동합니다. 시도하면 오류가 발생하거나 스레드가 정지됩니다.
.FXP가 컴파일된 .HTML 파일을 서버의 동일한 폴더에 두는 것은 권장되지 않습니다. 웹 브라우저에서 확장자가 변경되면 다운로드할 수 있습니다.
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는 일반적으로 서버 간 통신에 사용되며 기본 포트가 없습니다.
사이트는 HOSTNAME(예: www.example.com)과 사이트 파일이 있는 폴더(예: c:sitesexample) 간의 관계를 설정하고 홈 페이지(예: index.fxp, index.php, index)를 구성합니다. .html 등).
SITES.DBF 테이블의 레코드를 추가, 수정 또는 삭제하여 사이트를 구성합니다.
HOSTNAME 필드가 "*"로 채워지면 모든 HOSTNAMES가 동일한 폴더에 연결됩니다.
동일한 테이블에서 리디렉션의 전체 주소로 REDIRECT 필드를 채워 리디렉션을 구성합니다. 이 기능은 예를 들어 보안되지 않은 연결(HTTP)을 보안 서버(HTTPS)로 리디렉션해야 할 때 매우 유용합니다. 이는 예를 들어 안전하지 않은 서버에서 www.example.com 사이트의 REDIRECT 필드를 채워 수행됩니다. (HTTP)를 보안 사이트 주소(HTTPS)인 "https://www.example.com"으로 바꿉니다.
게이트웨이는 다른 개발 도구에 요청을 보내는 데 사용됩니다. PHP는 지금까지 테스트된 유일한 도구였지만 FastCGI를 지원하는 모든 도구는 호환되어야 합니다.
GATEWAYS.DBF 테이블의 레코드를 추가, 수정 또는 삭제하여 게이트웨이를 구성하십시오.
지원되는 유일한 프로토콜은 FastCGI입니다.
게이트웨이는 사이트와 유사한 방식으로 작동하여 HOSTNAME(예: 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 프로토콜을 사용하여 다른 웹 서버를 통해 사용되도록 구성할 수 있습니다.
NGINX 폴더에 있는 nginx.conf 파일은 NGinX 서버용 구성 템플릿입니다. 이 파일을 NGinX가 설치된 CONF 폴더에 복사하고 사이트 파일 폴더의 전체 경로로 ROOT 매개변수를 구성합니다.
FastCGI 프로토콜을 사용하도록 Fox Pages 서버를 구성하려면 SERVERS.DBF 테이블의 TYPE 필드를 "FCGI"로 채웁니다.
요청 처리에 필요한 모든 정보는 웹 서버에서 제공되어야 하므로 사이트, 게이트웨이 또는 보안을 구성할 필요가 없습니다.
서버 시작 후 구성된 서버 주소(예: http://localhost, https://localhost)를 입력하여 브라우저를 사용하십시오.
데모 사이트에 들어가려면 고객용 계정과 담당자용 계정 두 개가 있습니다.
고객의 계정이 고객 영역에 액세스합니다. 접속하려면 이메일 [email protected]과 비밀번호 123456을 사용하세요.
대표 계정은 고객 신청 및 주문 등록을 시작합니다. 액세스하려면 이메일 [email protected]과 비밀번호 123456을 사용하십시오.
동적 페이지는 웹 사이트나 인터넷 애플리케이션 개발 시 서버측 프로그래밍 언어를 사용합니다.
Fox 서버 페이지를 사용하면 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)는 웹 애플리케이션이 원래 의도한 대로 HTTP를 사용해야 한다고 주장하는 아키텍처 스타일입니다. 여기서 GET, PUT, POST 및 DELETE 요청은 쿼리, 변경, 생성 및 삭제에 각각 사용해야 합니다.
Fox Pages Server는 Accept 헤더가 "application/json" 또는 "application/xml"일 때마다 요청을 REST로 처리합니다.
자세한 사항은 대표계정 로그인 시 데모사이트에서 이용 가능한 애플리케이션에서 확인하실 수 있습니다.
Fox Pages Server를 사용하면 BOA 플랫폼의 요청을 처리하는 REST API를 구축할 수 있습니다. Visual Foxpro에서 완전한 웹 애플리케이션을 만들 수 있습니다. Fox Server Pages는 BOA가 보낸 요청에 응답합니다. Fox Server Pages와 BOA 간에 전송되는 데이터는 JSON 문자열을 이해하기 쉽습니다.
Visual Fox 페이지를 설정한 후 이 조합의 성능을 테스트할 수 있습니다. https://www.BOA-platform.com 또는 직접 링크(http://demo.boa-platform.com)에서 데모를 시작하세요. 로그인 화면이 나타나면 다음을 사용할 수 있습니다.
사용자: ko
비밀번호: en01
API 서버의 URL: http://localhost/boa. 이것은 로컬 Fox Pages 서버입니다.
샘플 소스 코드는 데모/boa 폴더를 참조하세요.
FastCGI 프로토콜 지원을 위해 요청 및 응답 개체 속성의 처리가 변경되었습니다.
버전 2.0에서는 하이픈(예: Accept-Encoding)이 있는 헤더에서 하이픈이 제거되었습니다(예: AcceptEnconding). 버전 3.0에서는 이러한 하이픈이 밑줄로 변경되었습니다(예: Accept_Encoding).
Fox Pages Server는 무료 오픈 소스 소프트웨어입니다. 라이센스는 LICENSE 파일에 있습니다.
연결에 사용되는 구성요소는 Catalyst Development Corporation(www.sockettools.com) 회사의 Socketwrench입니다.
이 구성 요소는 무료 및 상용 버전으로 배포됩니다. 무료 버전은 보안 연결(SSL/TLS)을 지원하지 않습니다.
Fox Pages Server의 개발 버전은 무료 버전의 SocketWrench를 사용하도록 구성되었습니다. 이는 개발 환경에서 보안 연결을 사용해야 하는 경우에만 제한됩니다.
Fox Pages Server에는 이 라이센스가 포함되어 있지 않으므로 상업용 버전의 SocketWrench를 사용하려면 라이센스를 구입해야 합니다.
사용된 버전 구성(무료 또는 상업용) 또는 SocketWrench 버전은 다음과 같이 CORE 폴더의 FOXPAGES.H 파일에 있습니다.
//소켓렌치
#사용 자유화 정의
#DEFINE CSWSOCK_Control "SocketTools.SocketWrench.6"
//소켓렌치 8
//#DEFINE CSWSOCK_Control "SocketTools.SocketWrench.8"
//#DEFINE CSWSSOCK_LICENSE_KEY "여기에 런타임 라이센스를 입력하세요."
//소켓렌치 9
//#DEFINE CSWSOCK_Control "SocketTools.SocketWrench.9"
//#DEFINE CSWSSOCK_LICENSE_KEY "여기에 런타임 라이센스를 입력하세요."
이러한 설정을 변경한 후에는 프로젝트를 다시 컴파일해야 합니다.
멀티스레딩 - VFP2C32T.FLL - Christian Ehlscheid
압축 - VFPCompression - 크레이그 보이드
암호화 - VFP암호화 - 크레이그 보이드
JSON 파서 - 수정된 라이브러리 버전 - Craig Boyd
소켓 - 소켓렌치 - 촉매 개발
이 프로젝트가 당신에게 유용하다면 기부를 고려해 보세요.