516 الفصل العشرون
تر ويسات *10117 المعادة من ملقم الويب . تعيد الطريقة (زدضة م 1ك»ه ود الاج تر ويسات الاستجابة
اعم 0005 9 و0 حا عم ععيا
ممصدمة ممممممع< عل لد وملام مهمه مه ملا 77
غمة مشكلة واحدة في استخدام +سدوء 5م301 بشكل مت:امن وهي أنه إنا توقف ملقم الويب عن
صفحة عادية ؛ يمكن للمستخدم ثقر الزر 98 في المستعر ض وتجريب
معلومات آخر . لكن لا يوج زر مه مع #سلوع5ع7 130 إذ لا تقدم الطريقة 0< أي أسلوب
اننظار أعغلمي كما أن تمو وحيد المسار ل :راحكه»[ على طرف ال بون لا
ج نصي بمقاطعة #سروع 5م301 ما أن يتم إرسال الطلب
قف تنفيذ +راتكه»( ويبدو كما لو أن
تحميل
تباط آخر أو محدد موقع
لتحديد وق
يكمن الحل لهذه المشكلة في استخدام #سدومم»10411 بشكل غير مت أمن.
4 التعامل مع استجابة غير متزامنة
لاستخدام الغرض #منوم8م10 10 في النمط غير التزامن؛ مرر عنص كبارامتر ثالث إلى الطريقة
(0سعوه (أو احذف ببساطة البارامتر الثالث فتُستخدم القيمة »د في الحالة الافتراضية). إذا فعلت ها
فإن الطريقة 40« ترسل الطلب إلى الملقم ثم تعود حالاً. عندما تصل ١ الملقم فإنها تصبح
متوفر في الغ ض +صدوع8لم 001 عن طريق نفس الخواص المستخدمة في الحالة الم امئة.
تشبه الاستجابة غير المتزامئة من الملقم
يقوم بها المستخلم إذيجب تنبيه
نها. ويتم هذا باستخدام معالج حلث. يتم
0: البرمجة النصية ل "131717 87
الجدود 20-1 قيم الخاصية ع01:اكلائج»» في الغرض 304111078660019
عاماكرلامة؟ المعنى
0 لم تستدعى (0060)0 بعد
2 أستدعيت ()800 لكن الملقم لم يستجب بعد
3 يتم استقبال البيانات من الهلقم. تختلف القيمة 3 60051618 نوعا ها بين
«طاة0 و :©:مائ6 1060025 راجع المقطع 20.1.4.1.
بما أن ؛سدوعظم04127 ملك معالج حدث وحيد فقط ؛ فإن هذا المعالج يستدعى مع كل الأحناث
الممكنة.يستدعى المعالج عوسك«هسرةتتصه مر ةٌ واحدة عندما تُستدعى الطريقة (ادضده ومرة أخرى
ة ملقم بالوصول
ومرة أخرى أخيرة عندما تكتمل الاستجابة. وخلاف معفلم الأحناث في :مواصكه:ه( على طرف
٠ لا يتم ريد أي غرض حدث إلى المعالج مضع «رفه»مه. يجب أن تفحص الخاصية
«نمكرفه»: لغ ض #صنوع8م:10 لتحديد السبب الذي أدى إلى استدعاء معالج الحنث. لسوء
تابع معالج الحدث في مجال تغملية بمكُنه من الوصول إلى غ ض الطلب. يبدو معالج حلث نموذجي
الطلب غير م امن كما
١ 1601 ميم - #ومقرام ع 2ع لرفهععمه .بوت
#مموعد #دممةطعرفة مه عد علط 0ه 77
عمع حدم عقوم عا الممتوعع 27 د عد عد ععفده المعتوعع عط قمع طلا //
518 الفصل العشرون
1 ملاحظات عن القيمة 3 للخاصية ©6ذ:5را:
ال ض معدوعهم201 بمعيار على الإطلاق لذا فإن المستحرضات تقتلف في معا.
للقيمة 3 للخاصية متمكرةة:. على ي المستعر ض «1:6! أثناء عمليات التن:
الكبيرة المعالج مداه »رةمصده عذة مرات في القيمة 3 ل مسكيةمم: لإعطاء معلومات عن تقلم
عملية التنايل. يمكن للبرنامج النصي أن يستخدم الاستدعاءات العليدة هذه لعرض مؤشر تقلم
معالج الحدث بشكل صارم إذ
م ة واحدة قط مع القيمة
للمستخدم. من ناحية أخرى جد أن تملظ عضا يقر ا
3 ل «مكرفه»: بغض النفلر عن حجم المستند الذي يتم تنزيله
آ في الجاء المتاح من استجابة الملقم في القيمة 3 ل «متكرةه». وعلى الرغم
ة 3 ل «مكرفه»: تعني أن جزءا ما من الا
تخخلف المستعر
8ته0فة ينص صراحة على أنه من الحلا استعلام مه العصصرت: في هذه الا
بة الملقم» لكن هذه الحقيقة
الأخرى ؛ فيمكن لاستعلام د العددمت: أن يعيد الج:ء المتاح من
غير موثقة صراحة في هذه المست ضات.
لم يقلم بعد
«سومةم1 20 لذا فإنه من الآمن بمكان؛ وحتى يتم وضع معيار أو تتم كتابة توثيق واضح؛ أن
تتجاهل آية قيمة مخلفة عن 4 ل عتمكرفم»+.
5 أمان أمسومم204113
يمكن لغ ض #صدومم 104 ؛ وكجاء من سياسة الأصل نفسه (راجع المقلع 13.82 أن بهذأ
طلبات 14177 فقط إلى الملقم الذي جرى منه تنزيل المستند الذي يستخلم هنا الغر ض. إن هنا القيد
كملقم وكيل («ه! يجلب المحتو
التي تقع خارج الموقع
7 ولا يعمل مع مخطادلات لقنا أخر ى. على سبيل المثال ؛ لا يمكنه العمل مع لان التي تستخدم
البروتوكول //تل8. إن هذا يعني عدم إمكانية اختبار برامج #سدوء8م»1 10 النصية من نقلام
الملفات المحلي بل لا بد من تحميل هذه البرامج التي تنوي اختبارها إلى ملقم ويب (أو أن تشغل ملقماً
وذلك كي تتمكن من ينه طلبات "110117 فر دها.
0: البرمجة النصية ل "131717 519
2 أمثلة وبرامج خدمية عن 06:6وم 2041110015
عرضنا في بناية هنا الفصل التابع الخدني 0مسنوعة- 11177 الني يُستخلم لإنشا
أم رمي
#صومقم 1000 لأي مستحر ض. يمكننا تبسيط استخنام معنوم 5م001 أكث عن طريق التوابع
الخدمية. تكضمن المقاطع الفرعية التالية بعضاً من هذه التوابع.
1 توابع 681 الخدمية الاساسية
ن الثال 92د تابعاً بسيطاً للغاية يمكنه التحامل مع الاستخلامات الأكث شيوعاً للفرض
«سدوم م0011 مرر إلى هذا ١١
17) 2 بوطعم . 1121 - #ممنوعم عو
أما المثال 203 فهو بديل بديهي يستخدم لجخلب مستننات لل وتمرير تمثيلها المفسر إلى تابع إعادة
المتاب 20-3 اتابع الخدمي 1770.920
:1 عتوعطا . 318لا - معنوعد عو
520 الفصل العشرون
هئ 11177 من الملقم أن يُعيد ت ويسات للعانا معدلى دون إعادة محتوى للا هنا يمكن الإفادة من
بين المثال 204 كيفية تنفيذ طلب 11880 فهو يتضمن تابعاً لتفسير أزواج اسم/قيمة لترويسات 14117
وتفاينها كأسماء وقيم لخواص غر ض ««احكه»(. ينضمن هذا المثال أيضاً تابعاً لمعالجة الخلا يُستدعى
إذا أعاد الملقم 04 أو أي كود خطلاً آخ
المئا 20-4 اتابع الخدمي ()06:4 1710.961
مم 16 .مع عفد ممتععمية عم 1قمة ماع لمعم عع عافد رعقدة عصضاع عو *
الاعتقمة مضه رام ةطتدقة يتنا ممتع مقي ل وفع ةعتاعو , كير
١١ ممتاع مع © عومة طمعع مه بم معدم عونو
ر(*ما") عثلمة .ه6621 © ععفل1 علا
11022 عط طونمغط (0ها /1
7 © عمل عفنا
0: البرمجة النصية ل "137717 21
علطم عم 95ل م ع علقم عنتهة/عهم لمففعط عط غ80 /1
3 الطلب 2057 11177
يتم إدغال نمائج از في الحا
تمر البيانات مع طلبات 7 إلى الملقم في جسم الطلب بدلا من تم مي ها في تلعانا نفسه وبما أن
أي أن جانبي على الملقم؛ أي عندما نتوقع أن تعيد طلبات 687 المتكارة لنفس لتنا مع نفس
البارامترات النتيجة نفسها. عند وجود ظواهر مرافقة للعللب (عندما يخزن الملقم بعض البارافترات في
اعدة بيانات) ؛ فلا بد من استخدام المللب 1051 بدلاً من 1ن©.
بين المغال 205 كيفية تنفيذ طلب 1051 مع غر ض #عنوم8م3041118. تستخدم الع يا
التابع 0ف:م0»ه لهم 14177 لتحويل خواص غر ض إلى سلسلة عر فية يمكن استخنامها كجسم
لطلب 051 تُمرر هذه السلسلة المح فية فيما بعد إلى الطر يقة ([قم.سسوء5م10 340 وتصبح
العصر كتحير
جسماً للعللب (يمكننا إلحاق السلسة المح فية المعادة من زاملة 1017700 بمحدد موقع
معلومات 1نا© وذلك باستخدام مم ف علامة الاستفهام للفصل بين للا والبيانات). يستختم المثال
المقطع التالٍ
المئاب 20-5 اتابع الخدمي (0916م. 11779
اععقم فعة عوج لمعم معد مع ومتفعمعمة #ممممعوع ع المضبععة عط فوط
217 عبوعقاي . 12118 #معنوع عا
عمد
تددم لموطتتوه عمل
522 الفصل العشرون
عم مكنع قمعة قمة مفوطة مفنتهة عط عم مم د ممعم عط عة دعم /1
اتمعدوعد عط عه وقفط عط 1/1
2 - علقم عد
تقفعقة مذ مسقم عون عوع
عمعدة وستقي فمة عهقم مقدعمة فط رعخقم ده /عفقم د 6ف 11
م فوط 26 .249 مقعم غامد 320 2ه مععقمة 2000825 ع1 فط 77
اع1قع) معني معتط
إن المثال 2114 مثال آخر ينشئ طلب 71051 باستخدام غر ض مصدوء 4014885 يستدعي ذلك المثال
خدعة ويب وبدلاً من تمرير فيم النموذج في جسم الطلب؛ فإنه يُمرر نص مستند 3041
4 الاستجابات 117747 و 2001و 5017560461[
باستخنام العطر ف ع5:0 وأن يفعل بها ما يلام
أعاد الملقم مستند 141341؛ على سبيل الخال » فيمكنك استعادة محتوى هذا المستند باستخدام الخاصية
0: البرمجة النصية ل "131717 23
على أية حال» ثمة طرق أخرى للتعامل مع استجابة الملقم. ذك نا في بناية هنا الفصل أنه إذا أرسل
الملقم استجابة نوع محتواها "لصدا/هت:"؛ فيمكننا استحادة تثيل مس لمستند 1041 باستخنام الخاصية
بللتدمت». إن قيمة هذه الخاصية هي غر ض #عسهه0 في 0014 ويمكنك البحث والعبور فيه
باستخدام طق 084
لاحظ ؛ على أية حال؛ أن استخدام 184 كتنسيق بيانات قد لا يكون الخبار الأفضل دائماً. إنا أراد
على الملقم عملية غير فعالة. ومن الأفضل جعل الغرض «عنوءم»1301 يفسر هذه البيانات إلى
شجرة من عقد 0034 ثم جعل البرنامج النصي يعبر في هذه الشجر لاستخلاص البيانات. ثمة طريقة
أسهل تقوم على جعل الملقم ير م: البيانات باستخدام أح ف أغراض ومصفوفات +اكة*»( وغرير
إن تر مي البيانات بصيغة أحر ف أغر اض ومصفوفات +واصكه»( يعرف باسم تر مين غر ض #راعكة :هل
اج ومتممعمم دمر ام
ام 7 عه لوقف عه عمطح 0
1 عام
,وها ماه وعتد م0 عطاك
يستدعي التابع 0ععم 1777 العروض في المثال 205 التابع (0أعمهوسقميى 101717 اللي يفحص
الترويسة عوسندت لتحديد صيثة الاستجابة. إن المثال 206 هو تضمئ بسيط للتابع
وى آخ كص بسيط
508( باستخدام الطريقة (0له»ه ويعيد أي
يمكنك تعلم الزيذ عن 508ل بزيارة الارتباط ممم رابوط غم
ويضمن هذا الموقع ارتباطا؛
تليم فكرة 08كز من قبل صمت مملونوط
524 الفصل العشرون
المتاب 20-6 التابع 0ك مروة 96 .1111
(١ لعمي2- م6602" ) ااعفة ع4 02 م2566 ع عن22) 2010
ممع عقوم
عسوم
البنائل الآمنة؛ استخدام مفكك تر مي 088 ًٌ
5 انقضاء مهلة طلب
من نقاط الضعف في الغ ض +صدوعم»10411 كونه لا يؤمن أية طريقة لتحديد وقت انقضاء مهلة
للطلب إن نقدلة الضعف هذه فاضحة مع الطلبات الم امئة. إن علق الملقم فإن المستعر ض يبقى
كل شيء عن العمل. لا تتأ الللبات غ بالجمود لأ
ٍ ي يمكن لمستعر ض الإنترنت مواصلة معالجة أحداث المستخدم
افترض أن التلبيق ينفذ طلب 1077 مع غر ض #صوء8م1101 عندما ينقر المستخنم على زر . من
أو فشل لسبب ما في الاستجابة للطللب؟ إن المستحر ض لن يجمد لكن التطبيق سيجمد مع زر معطل.
لمنع هذا النوغ من المشاكل؛ قد يكون من المفيد أن تضبط وقت انقضاء الهلة الخاص بك مستخدماً
فيذ طلبات 841777. ستحضل في الحالة الطبيعية على الاستجابة
ها تستخلم التابع (#اصصةانوءك »حص لإلغاء وقت اقضاء
التابع (]لممسااه »ام
قبل إطلاق معالج انقضاء المهلة ؛ و
المهلة هذا. من ناحية أ ى ؛ إذا أطلق معالج انقضاء الهلة قبل وصول الغ ض +عدو» 20148685 إلى
القيمة 4 للخاصية «مكرفت»؛ فيمكنك إلغاء الطلب باستخنام الطريقة ابه ةلصوم 100