السلام عليكم.
شكراً
الفرق بين GET و POST في طلبات HTTP يتجاوز مجرد ظهور البيانات في شريط البحث حيث أن بإستخدام GET يتم نقل البيانات كجزء من عنوان URL، هذا يعني أن البيانات تظهر في شريط البحث ويمكن رؤيتها وتعديلها بسهولة، كما أنه يوجد حد أقصى لحجم البيانات التي يمكن إرسالها عبر عنوان URL، والذي يعتمد على المتصفح والخادم، ولكنه عادة يكون محدودا إلى بضعة آلاف من الأحرف، و نظرا لأن البيانات تعرض في شريط البحث ويمكن أن تكون محفوظة في السجل ، فإنها ليست مناسبة لإرسال معلومات حساسة.
بينما بإستخدام POST يتم نقل البيانات داخل جسم الطلب وبالتالي لا تظهر في شريط البحث، كما يمكن إرسال كميات كبيرة من البيانات، مثل ملفات أو بيانات نصية طويلة، لأن البيانات لا تقيد بحجم عنوان URL، و تعتبر أكثر أمانا لنقل المعلومات الحساسة لأن البيانات لا تظهر في شريط البحث ولا يتم حفظها في السجل بنفس الطريقة.
و يمكنك أن تطلع أكثر على الفرق بينهما من خلال هذه المقالات:
وعليكم السلام ورحمة الله وبركاته .
الفرق الرئيسي بين استخدام الـ action="get" و action="post" في عناصر <form> في HTML هو كيفية إرسال البيانات من المستخدم إلى الخادم (السيرفر)، بالإضافة إلى بعض الاختلافات الأخرى:
2. حجم البيانات:
3. أمان البيانات:
بالإضافة إلى ذلك، هناك اختلافات تقنية أخرى في كيفية معالجة البيانات في الخادم بين GET و POST، مثل كيفية استخدامهما في استرجاع وتعديل البيانات والتعامل مع الكوكيز والكاش.
بشكل مبسط في طلب POST، يتم وضع المعلومات المهمة في جسم الطلب (body) وليس في عنوان الموقع (URL). بينما في طلب GET، لا يجب أن يكون هناك جسم للطلب، ولذلك تُرسل المعلومات فقط في عنوان الموقع (URL).
أيضاً استخدام POST يسمح بإرسال كميات أكبر من المعلومات، لأن الـ URLs لها حدود لطولها.
بالإضافة إلى ذلك، يمكنك إرسال أي نوع من البيانات تقريبًا باستخدام `POST` (مثل تحميل الملفات، وهو ما لا يمكن فعله باستخدام GET).
ومن المفترض أيضاً أن استخدام POST يعني أن الطلب سيغير شيئًا ما، ولا يجب تكراره بشكل عشوائي. لذلك، عندما تضغط على زر الرجوع في المتصفح، قد يسألك إذا كنت تريد إعادة إرسال بيانات النموذج. على الجانب الآخر، يجب أن يكون طلب GET قابلاً للتكرار عدة مرات بنفس النتائج (يجب أن يظهر نفس النتيجة في كل مرة).
باختصار، POST يستخدم لإرسال البيانات الحساسة أو الكبيرة ويؤدي إلى تغييرات في الخادم، بينما GET يستخدم للحصول على المعلومات ويجب أن يكون قابلاً للتكرار دون تغيير النتائج.
التعليقات