شرح صفوف ومحتوى الفقرة
اقصر طلبات GET حصراً على عمليات القراءة والاستعلام (كالبحث والترشيح)، ولا ترسل بها كلمات مرور أو أوامر حذف وتعديل أبداً! وعند دمج نص كتبه الزائر في الرابط، مرّره دائماً عبر encodeURIComponent(val) لتحويل الرموز الخاصة مثل C++ وR&D إلى ترميز آمن لا يقطع المعاملات:
| طريقة الطلب | مكان انتقال البيانات | الطبيعة والتخزين المؤقت | القاعدة الأمنية الواجبة |
|---|---|---|---|
GET | سلسلة الاستعلام بالرابط (?q=...) | قراءة فقط، قابلة للمشاركة والتخزين المؤقت | ترميز المدخلات بـ encodeURIComponent() وحظر إرسال الأسرار بالرابط |
POST | جسم الرسالة داخل xhr.send(body) | تنشئ أو تعدّل بيانات بالخادم ولا تُخزن مؤقتاً | ضبط حقل رأس الطلب Content-Type بعد open() |
JavaScript
const rawTopic = 'C++ & Async #1';
const safeQuery = '?topic=' + encodeURIComponent(rawTopic);
const out = document.getElementById('get-out');
const xhr = new XMLHttpRequest();
const demoUrl = 'data:application/json,' +
encodeURIComponent(JSON.stringify({ sent: safeQuery }));
xhr.onload = () => {
out.textContent = JSON.parse(xhr.responseText).sent;
};
xhr.open('GET', demoUrl, true);
xhr.send();