ما الفرق بين النشر والحصول على الطلبات؟

GET و POST هما أكثر طرق طلب HTTP شيوعًا. تُستخدم طلبات GET عادةً لطلب صفحات الويب بينما يتم استخدام POST لإرسال البيانات إلى خادم الويب مثل نموذج ويب.

نصيحة: بينما يطلق عليها طرق HTTP ، يتم استخدام كل من GET و POST أيضًا في HTTPS.

تتمثل إحدى الفروق المهمة في أن أي معلمات مضمنة في طلبات GET يتم تضمينها في عنوان URL نفسه ، بينما تعد المعلمات في طلبات POST جزءًا من نص الطلب.

على سبيل المثال ، قد يبدو عنوان URL لطلب GET بالشكل "GET.php؟ المعلمة = القيمة "بينما عنوان URL لطلب POST سيبدو مثل" POST.php "ثم يتم تعيين" المعلمة = القيمة "في نص الطلب.

أحد النتائج الرئيسية لذلك هو أنه عندما يطلب سجل خوادم الويب ، يتم دائمًا تسجيل عنوان URL المطلوب. لذلك ، بالنسبة لطلبات GET ، يتم أيضًا تسجيل المعلمات ، في حالة طلبات POST على الرغم من عدم تسجيل القيم حيث لا يتم تسجيل نص الطلب. هذا مهم بشكل خاص للنماذج التي تحتوي على بيانات حساسة مثل كلمات المرور أو معلومات تحديد الهوية الشخصية (معلومات التعريف الشخصية) ، حيث إن استخدام POST يعني أن هذه المعلومات لا يتم تسجيل الدخول إليها خوادم الويب.

تشمل الاختلافات الأخرى بين GET و POST حقيقة أن طلبات GET يمكن تخزينها مؤقتًا بواسطة المتصفح أو ذاكرات التخزين المؤقت التابعة لجهة خارجية ، كما يتم تضمين طلبات GET في سجل المتصفح ويمكن وضع إشارة مرجعية عليها. لا يتم تخزين طلبات POST في ذاكرة التخزين المؤقت على الإطلاق ، ولا يتم حفظها في سجل المتصفح ، ولا يمكن وضع إشارة عليها.

من الممكن تكوين النماذج لاستخدام طلب GET لإرسال البيانات إلى خادم الويب ، لكن القيام بذلك يعد فكرة سيئة لأن كل هذه العوامل تدخل حيز التنفيذ. من المهم بشكل خاص للنماذج الحساسة مثل نماذج تسجيل الدخول كما لو تم تسجيل هذا الطلب فإنه سيفصح عن كلمة مرور المستخدم ، وإذا تم تخزين الاستجابة مؤقتًا بواسطة جهة خارجية ، فقد يسمح للمستخدمين الآخرين بتسجيل الدخول إلى المستخدم الحساب.