سلسلة استعلام
عندما يتم طلب صفحة الويب عبر بروتوكول نقل النص المتشعب، الملقم يقع ملف في نظام الملفات على أساس العنوان عنوان. قد يكون هذا الملف ملف العادية أو برنامج. في الحالة الثانية، يمكن للخادم (اعتمادا على التكوين) تشغيل البرنامج، وإرسال إنتاجها مثل الصفحة المطلوبة. سلسلة الاستعلام هو جزء من عنوان الموقع الذي يتم تمريرها إلى البرنامج. ويسمح استخدام البيانات التي يتم تمريرها من العميل المتشعب (غالبا ما يكون متصفح الويب) للبرنامج الذي يولد في صفحة الويب. التركيبالعنوان النموذجي يحتوي على سلسلة الاستعلام (Query string) كما يلي:
عندما يستلم الملقم طلب لهذه الصفحة، ويدير البرنامج (إذا كان مكونا للقيام بذلك)، تمرر الرابط في صفحة على شبكة الإنترنت يمكن أن يكون له عنوان يحتوي على الكويري الكويري سترينق (Query string). ومع ذلك، فإن الاستخدام الرئيسي لسلاسل الاستعلام هو إحواء محتوى شكل أتش تي أم أل، والمعروف أيضا بنموذج الويب. على وجه الخصوص، عندما النموذج يحتوي على
لكل حقل من النموذج، الكويري سترينق (Query string) تحتوي على حقل زوج = القيمة. نماذج الويب يمكن أن تشمل المجالات التي تكون غير مرئية للمستخدم؛ هذه الحقول المضمنة في سلسلة الاستعلام عندما يكون النموذج المقدم. هذه ' اسم ثم علامة المساواة ثم القيمة ثم رمز العطف أو الفاصلة المنقوطة' الاتفاقية هو توصية رابطة الشبكة العالمية [1] W3C توصي [2] أن جميع خوادم الويب تدعم فواصل الفواصل المنقوطة في مكان فواصل رمز العطف. من الناحية التقنية، محتوى نموذج الويب فقط يتم ترميزه ك كويري سترينق (Query string)عندما تكون الميثود المستخدمة "GET"، يتم استخدام نفس الكيفية عندما تكون الميثود المستخدمة "POST" ولكن النتيجة لا يتم إرسالها على شكل سلسلة الاستعلام، وهذا هو، لا يتم إضافته إلى موقع العمل في النموذج. غير ذلك، يتم إرسال السترينق كما نص الطلب. عنوان ترميزبعض الرموز لا يمكن أن تكون جزء من العنوان (على سبيل المثال، المسافة) وبعض الرموز الأخرى لها معنى خاص في العنوان: على سبيل المثال، فإن الرمز على وجه الخصوص، ترميز سلسلة الاستعلام يستخدم القواعد التالية:
ترميز المسافة على النحو '+' واختيار الرموز "as-is" يميز هذا الترميز uن ال RFC1738. RFCكما تم تعريفها في RFC 1738، العنوان من مثالإذا كان النموذج هو مضمن في صفحة أتش تي أم أل على النحو التالي: <source lang="html4strict"> <formaction="cgi-bin/test.cgi" method="GET"> <inputtype="text" name="first"> <inputtype="text" name="second"> <inputtype="submit"> شكل </source> وتدرج مستخدم السلاسل «هذا هو حقل» و«كان واضحا (بالفعل)؟» في حقلي النص ويضغط على زر الإرسال، سيكون من أول = هذا هو + + حقل + & الثانية = كان ذلك + + + واضحة 28already% 29% 3F
التتبعالبرنامج الذي يتلقي سلسلة الاستعلام (Query string) يمكن أن يتجاهل كل أو جزء منه. إذا طلبت عنوان يتوافق مع ملف وليس لأحد البرامج، كل سلاسل الاستعلام (Query string) يتم تجاهلها. ولكن، بغض النظر عما إذا كان يتم استخدام سلسلة الاستعلام أو لا، عنوان الموقع كله بما في ذلك سلسلة الاستعلام يتم تخزينها في سجل خادم الملفات. هذه الحقائق تسمح باستخدام سلاسل الاستعلام لتعقب المستخدمين بطريقة مماثلة لتلك التي يقدمها بروتوكول نقل النص الفائق كوكي لهذا العمل، في كل مرة يقوم فيها المستخدم بتحميل صفحة، معرف فريد يتم اختياره واضافته كسلسلة استعلام إلى جميع عناوين الصفحة التي تحتوي على روابط. وعند اختيار المستخدم واحد من هذه الروابط، وعنوان الموقع المقابل لهذا الرابط يطلب من الخادم. بهذه الطريقة، التنزيل من هذه الصفحة هو مرتبط مع سابقتها. على سبيل المثال، عندما صفحة على شبكة الإنترنت يحتوي على ما يلي هو المطلوب: <source lang="html4strict"> <ahref="frank.html"> انظر صفحتي!بلا <ahref="ciccio.html"> صفحتي أفضل </ أ> </source> سلسلة فريدة من نوعها، مثل <أ href = "frank.html؟sdfsd23423 "> انظر صفحتي!بلا <أ href = "ciccio.html؟sdfsd23423 "> الألغام هو أفضل </ أ> </source> الإضافة إلى الكويري سترينق (Query string) لا تغيير في شكل الصفحة التي يتم عرضها للمستخدم. عندما يقوم المستخدم بما يلي، على سبيل المثال، اختار الرابط الأول، المستعرض يطلب بهذه الطريقة، فإن أي طلب صفحة لاحقة من هذا المستخدم تحمل نفس الكويري سترينق (Query string) الاختلافات الرئيسية بين الكويري سترينق (Query string) التي تستخدم للتعقب وال HTTP الكوكيز هي ما يلي:
المرونة مقابل الأمنسلسلة الاستعلام العنوان يسمح بالمرونة في استرجاع البيانات من الشبكة، وربما من قاعدة البيانات المستخدمة لملء صفحات من أجل أن خادم الويب. للقراءة فقط وتخزين البيانات، مثل خدمة الخرائط الجوية، هو أحد الأمثلة التي تبين أن الكويري سترينق (Query string) للعناوين يمكن استخدامها مع مرونة كبيرة. في بعض الأحيان، قد يكون الكويري سترينق (Query string) للعنوان فضح القضايا الأمنية لأنه لا يمكن تحريره من قبل مستخدم لاسترداد البيانات أنهم لا يستطيعون الوصول إليها. على وجه الخصوص، يمكن أن تستخدم الكويري سترينق (Query string)عنوان يحتوي على اسم المستخدم وكلمة السر تكون مع القاموس الهجوم *لتخمين في صالح اعتماد تسجيل الدخول إلى موقع محدد على شبكة الإنترنت. معظم خوادم الويب تستخدم على الأقل فحص ال إم دي5، أو أكثر من أساليب الترميز القوية للتحقق من صحة جميع السترينق المعطاة. قضايا التوافقوفقا لمواصفات ال HTTP:
من مواصفات ال أتش تي أم أل 3 أن قيمة أي متغير (مثلا، رابط في مواصفات لا تملي طول معين كحد أدنى أو أقصى للرابط، ولكن التنفيذ يختلف على حسب المتصفح والإصدار. على سبيل المثال، إنترنت إكسبلورر لا يدعم عناوين المواقع التي لها أكثر من 2083 حرفا.[4][5] لا يوجد حد لعدد المتغيرات في العنوان؛ فقط طول الحرف على الرابط هو المهم. ملقمات ويب يمكن أيضا أن تفرض حدودا على طول سلسلة الاستعلام، اعتمادا على الكيفية التي يتم بها تخزين رابط الكويري سترينق (Query string). الأسباب لهذه المشاكل التي تحدث بكثرة استخدام ميثود POST، بدلا من الميثود GET وتخزينها في محتوى الطلب. حدود الطول على محتوى الطلب عادة ما تكون أعلى بكثير من تلك التي على طول الرابط. على سبيل المثال، الحد على حجم POST، افتراضيا، هو 2 ميغابايت في معهد الدراسات الإسماعيلية 4.0 و128 كيلو بايت في معهد الدراسات الإسماعيلية 5.0.[6] انظر أيضامراجع
|