دليل نهائي حول HTTP GET مع جسم الطلب

في HTTP، قد تتساءل لماذا لا تستخدم GET جسم الطلب، على عكس طرق أخرى. تشرح هذه المراجعة لماذا وكيفية استخدام طلبات GET.

Amir Hassan

Amir Hassan

17 أغسطس 2025

دليل نهائي حول HTTP GET مع جسم الطلب

Apidog للمؤسسات

النشر على الخوادم المحلية

SSO و RBAC

متوافق مع SOC 2

استكشف Apidog للمؤسسات

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

في هذا الدليل، سوف نشرح لماذا عادةً ما لا تتضمن طلبات HTTP GET جسم طلب، ونستعرض غرض طريقة GET، ونتحدث عن كيفية إرسال طلب GET.

ما هو جسم الطلب في HTTP؟

في HTTP، جسم الطلب هو جزء من رسالة الطلب يحمل البيانات من العميل إلى الخادم. إنه أمر حاسم لطرق مثل POST و PUT و PATCH، والتي تستخدم لإنشاء أو تحديث أو تعديل الموارد. على سبيل المثال، في طلب POST لإنشاء حساب مستخدم، تكون تفاصيل المستخدم في جسم الطلب. على العكس من ذلك، فإن طرق مثل GET أو DELETE عادةً لا تستخدم جسم الطلب، وتركز على عناوين URL و الرؤوس لاسترجاع الموارد أو حذفها.

هل يحتوي طلب GET على جسم في HTTP؟

نعم، من الناحية التقنية، من الممكن تضمين جسم طلب في طلب GET في HTTP. وفقًا لمواصفة HTTP/1.1، يُسمح لأي رسالة طلب HTTP بأن تحتوي على جسم رسالة، ويجب على الخوادم تحليل الرسائل مع وضع ذلك في الاعتبار. ومع ذلك، من الضروري فهم أن دلالات الخادم لطريقة GET محدودة بطريقة تجعل الجسم، إذا تم تضمينه، ليس له معنى دلالي للطلب.

بعبارات أبسط، بينما لا يُحظر صراحةً تضمين جسم طلب في طلب GET، إلا أنه ليس مفيدًا أبدًا القيام بذلك. هدف طريقة GET هو استرجاع المعلومات المحددة بواسطة Request-URI، وتغيير الطلب بإضافة جسم يمكن أن يؤدي إلى تعقيدات ولا يتماشى مع تقاليد HTTP القياسية.

مواصفة HTTP/1.1

تسمح مواصفة HTTP/1.1 (RFC 7230) بضم جسم طلب في طلبات GET، على الرغم من أنه عمومًا لا يُنصح بذلك. بينما من الممكن تقنيًا، فإن إرفاق جسم مع طلب GET يتعارض مع مبدأ استخدام GET لاسترجاع البيانات بشكل آمن دون تعديل موارد الخادم.

لماذا لا تستخدم طلبات HTTP GET جسماً؟

لماذا لا تستخدم طريقة GET جسم HTTP؟ بعد ذلك، سنقدم الأسباب الرئيسية التي تجعل طريقة GET لا تستخدم جسم الطلب.

قيود مواصفة HTTP

ضمان القوة الفعلية

تنفيذ التخزين المؤقت

سهولة وضع العلامات والمشاركة

الأمان

لأسباب المذكورة أعلاه، فإن طريقة GET أساسًا لا تستخدم جسم الطلب.

استثناء: عند استخدام جسم HTTP حتى في طريقة GET

ومع ذلك، هذا لا يعني أنه لا يمكنك دائمًا استخدام جسم HTTP مع طريقة GET. في الحالات التالية، قد يتم إرسال جسم الطلب أيضًا باستخدام طريقة GET.

بينما لا ترتبط طريقة GET في HTTP تقليديًا باستخدام أجساد الطلبات، هناك استثناءات. على سبيل المثال، عند تحديد معايير البحث، مثل الكلمات الرئيسية للبحث، يمكنك دمجها في جسم الطلب واستخدام طريقة GET للإرسال.

في الحالات التي يكون فيها عدد بارامترات الاستعلام محدودًا، مثل في واجهات برمجة التطبيقات REST، يمكن أن يعمل جسم الطلب كبديل لإرسال البيانات. بالإضافة إلى ذلك، قد تتضمن تقنية دفع الطلب إرسال أجسام طلبات زائفة لتعطيل تحليل حركة المرور. في الممارسة العملية، على الرغم من أن طريقة GET عادة ما تستبعد أجسام الطلب، هناك حالات محددة حيث يمكن الانحراف عن هذه القاعدة. في معظم السيناريوهات التي تنطوي على نقل البيانات عبر جسم HTTP، يُستخدم طرق مثل POST و PUT عادةً.

Apidog: متوافق تمامًا مع جميع طلبات HTTP (GET، POST، PUT، DELETE)

فماذا يجب أن أفعل إذا كنت أرغب في إرسال بيانات في جسم HTTP باستخدام طرق مثل GET أو POST؟ أداة إدارة واجهة برمجة التطبيقات الممتازة التي تسمى Apidog تدعم جميع طرق HTTP بالكامل، لذلك يمكنك تحديد واحدة من طرق HTTP عند إرسال طلب HTTP، واختيار ما إذا كنت ترغب في استخدام جسم HTTP أم لا.

أيضًا، إذا كنت تقوم بتطوير واجهة برمجة التطبيقات بنفسك، يمكنك ليس فقط تصميم واجهة برمجة التطبيقات ولكن أيضًا تنفيذ وظائف متنوعة مثل توليد مواصفة واجهة برمجة التطبيقات، وأتمتة الاختبارات، وتقليد البيانات، إلخ.

Apidog

يدعم Apidog أيضًا طرق HTTP متنوعة بما في ذلك GET و POST. تستخدم كل من واجهات برمجة التطبيقات على الويب بروتوكول HTTP، لذا تحتاج إلى اختيار طريقة HTTP بناءً على هدفك. عند الحديث عن طرق HTTP، هناك دائمًا ما يلي:

يمكنك اختيار الطريقة المرغوبة من قائمة المنسدلة لطرق HTTP، أو إذا كنت ترغب في استخدام جسم HTTP، يمكنك بسهولة التبديل إلى علامة "Body" لمعلمات الطلب.

انقر على زر "إرسال"، وستتلقى رد GET بسرعة.

زر

ممارسة تصميم API في Apidog

اكتشف طريقة أسهل لبناء واستخدام واجهات برمجة التطبيقات

دليل نهائي حول HTTP GET مع جسم الطلب