البرتغالية
الصينية
Fox Pages Server (FPS) هو خادم HTTP وHTTPS وFastCGI متعدد الخيوط لـ Visual FoxPro.
باستخدام Fox Pages Server، يمكنك تطوير محتوى الويب والتطبيقات وتصحيحها وتوزيعها باستخدام Visual FoxPro.
لا يسمح Fox Pages Server بتشغيل التعليمات البرمجية لـ Visual FoxPro على الإنترنت. ولهذا من الضروري معرفة لغة وأدوات تطوير الإنترنت التي سيتم استخدامها، على سبيل المثال: HTML، CSS، Javascript، JQuery، Dojo وغيرها.
يمكن استخدام Fox Pages Server مع منصة boa. بهذه الطريقة يمكنك إنشاء تطبيقات ويب دون أي معرفة بلغة تطوير الويب. يتواصل Fox Pages Server مع BOA.
مايكروسوفت فيجوال فوكس برو 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، وما إلى ذلك) أو تغيير المنفذ المستخدم في برنامج HTTP.PRG الموجود في مجلد SERVERS على الوضع، أو في حقل المنفذ لجدول SERVERS.DBF الموجود في مجلد DATA في وضع التوزيع.
تتبع البروتوكولات الأخرى نفس الإجراء.
تقوم قاعدة بيانات FPS.DBC الموجودة في مجلد DATA بتخزين تكوين الخوادم. يمكن العثور على وثائق الجداول والحقول الخاصة بها في ملف 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 مملوءًا بالعلامة "*"، فستكون جميع أسماء المضيفين مرتبطة بنفس المجلد.
في هذا الجدول نفسه، نقوم بتكوين عمليات إعادة التوجيه عن طريق ملء حقل إعادة التوجيه بالعنوان الكامل لإعادة التوجيه. هذه الميزة مفيدة للغاية عندما نحتاج مثلاً إلى إعادة توجيه الاتصالات غير الآمنة (HTTP) إلى خادم آمن (HTTPS)، ويتم ذلك على سبيل المثال عن طريق ملء حقل إعادة التوجيه الخاص بالموقع www.example.com من الخادم غير الآمن (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 الأساليب المسموح بها.
يجب ملء حقل الرأس برؤوس HTTP المسموح بها. وينبغي أن تكون محددة بفاصلة تليها مسافة.
يمكن تكوين Fox Pages Server لاستخدامه من خلال خوادم الويب الأخرى باستخدام بروتوكول FastCGI.
يعد ملف nginx.conf الموجود في مجلد NGINX بمثابة قالب تكوين لخادم NGinX. انسخ هذا الملف إلى مجلد CONF حيث تم تثبيت NGinX وقم بتكوين معلمة ROOT بالمسار الكامل لمجلد ملفات الموقع.
لتكوين Fox Pages Server لاستخدام بروتوكول FastCGI، قم بملء حقل TYPE في جدول SERVERS.DBF بـ "FCGI".
نظرًا لأن جميع المعلومات المطلوبة لمعالجة الطلب يجب أن يتم توفيرها بواسطة خادم الويب، ليست هناك حاجة لتكوين المواقع أو البوابات أو الأمان.
بعد بدء تشغيل الخادم، استخدم أي متصفح عن طريق كتابة عنوان الخادم الذي تم تكوينه (على سبيل المثال، http://localhost، https://localhost).
للدخول إلى الموقع التجريبي يوجد حسابين واحد للعميل والآخر للمندوب.
حساب العميل الوصول إلى منطقة العملاء. للوصول، استخدم البريد الإلكتروني [email protected] وكلمة المرور 123456.
يبدأ الحساب التمثيلي طلبًا لتسجيل العملاء والطلبات. للوصول استخدم البريد الإلكتروني[email protected] وكلمة المرور 123456.
تستخدم الصفحة الديناميكية لغة برمجة من جانب الخادم في تطوير موقع ويب أو تطبيق إنترنت.
تتيح صفحات Fox Server إمكانية تطوير هذه الصفحات باستخدام موارد الصفحات الثابتة للتطوير (مثل 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 (نقل الحالة التمثيلية) هو أسلوب معماري يدعو إلى أن تطبيقات الويب يجب أن تستخدم HTTP كما هو مقصود في الأصل، حيث يجب استخدام طلبات GET وPUT وPOST وDELETE للاستعلام والتغيير والإنشاء والحذف، على التوالي.
يعالج Fox Pages Server الطلب كـ REST عندما يكون رأس القبول هو "application/json" أو "application/xml".
يمكن العثور على مزيد من التفاصيل في التطبيق المتاح على الموقع التجريبي عند تسجيل الدخول باستخدام الحساب التمثيلي.
باستخدام Fox Pages Server، يمكنك إنشاء REST API لخدمة طلبات منصة BOA. يمكنك إنشاء تطبيق ويب كامل في Visual Foxpro. سوف تستجيب صفحات خادم Fox للطلبات التي يتم إرسالها بواسطة BOA. من السهل فهم البيانات التي يتم إرسالها بين صفحات خادم Fox وBOA وسلاسل JSON.
بعد إعداد صفحات Visual Fox الخاصة بك، يمكنك اختبار قوة هذه المجموعة. ابدأ العرض التوضيحي على https://www.BOA-platform.com أو عبر هذا الرابط المباشر: http://demo.boa-platform.com. عند ظهور شاشة تسجيل الدخول، يمكنك استخدام ما يلي:
المستخدم: أ
كلمة المرور: en01
عنوان URL لخادم API: http://localhost/boa. هذا هو خادم صفحات Fox المحلي الخاص بك.
راجع مجلد العرض التوضيحي/boa للحصول على نموذج التعليمات البرمجية المصدر.
لدعم بروتوكول FastCGI، تم تغيير معالجة خصائص كائن الطلب والاستجابة.
في الإصدار 2.0، تمت إزالة الواصلة في الرؤوس ذات الواصلات (مثل Accept-Encoding) (مثل AcceptEnconding). في الإصدار 3.0 تم تغيير هذه الواصلات لوضع خط تحتها (على سبيل المثال Accept_Encoding).
Fox Pages Server هو برنامج مجاني ومفتوح المصدر. الترخيص موجود في ملف الترخيص.
المكون المستخدم للاتصالات هو Switchwrench الخاص بشركة Catalyst Development Corporation (www.sockettools.com).
يتم توزيع هذا المكون في الإصدارات المجانية والتجارية. الإصدار المجاني لا يدعم الاتصالات الآمنة (SSL/TLS).
تم تكوين إصدار التطوير من Fox Pages Server لاستخدام الإصدار المجاني من SwitchWrench. سيكون هذا قيدًا فقط إذا كان استخدام الاتصالات الآمنة في بيئة التطوير مطلوبًا.
لاستخدام الإصدار التجاري من SwitchWrench، يجب عليك شراء ترخيص، لأن Fox Pages Server لا يتضمن هذا الترخيص.
تكوين الإصدار المستخدم، المجاني أو التجاري، أو إصدار SwitchWrench، موجود في ملف FOXPAGES.H للمجلد CORE، كما يلي:
//مفتاح الربط
#تعريف الاستخدام المجاني
#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 - كريستيان الشيد
الضغط - VFPCompression - كريج بويد
التشفير - تشفير VFP - كريج بويد
محلل JSON - نسخة المكتبة المعدلة - Craig Boyd
المقابس - مفتاح المقبس - تطوير المحفز
إذا كان هذا المشروع مفيدًا لك، ففكر في التبرع.