طرق طلب HTTP


ما هو HTTP؟

تم تصميم بروتوكول نقل النص التشعبي (HTTP) لتمكين الاتصالات بين العملاء والخوادم.

يعمل HTTP كبروتوكول استجابة للطلب بين العميل والخادم.

مثال: يرسل العميل (المستعرض) طلب HTTP إلى الخادم ؛ ثم يقوم الخادم بإرجاع استجابة إلى العميل. يحتوي الرد على معلومات الحالة حول الطلب وقد يحتوي أيضًا على المحتوى المطلوب.


طرق HTTP

  • احصل على
  • بريد
  • وضع
  • رأس
  • حذف
  • تصحيح
  • والخيارات

طريقتان HTTP الأكثر شيوعًا هما: GET و POST.


طريقة GET

يستخدم GET لطلب البيانات من مورد محدد.

GET هي إحدى طرق HTTP الأكثر شيوعًا.

لاحظ أنه يتم إرسال سلسلة الاستعلام (أزواج الاسم / القيمة) في عنوان URL لطلب GET:

/test/demo_form.php?name1=value1&name2=value2

بعض الملاحظات الأخرى على طلبات GET:

  • يمكن تخزين طلبات GET مؤقتًا
  • تظل طلبات GET في محفوظات المستعرض
  • يمكن وضع إشارة مرجعية على طلبات GET
  • يجب عدم استخدام طلبات GET مطلقًا عند التعامل مع البيانات الحساسة
  • طلبات GET لها قيود الطول
  • تُستخدم طلبات GET فقط لطلب البيانات (وليس التعديل)

طريقة البريد

يستخدم POST لإرسال البيانات إلى خادم لإنشاء / تحديث مورد.

يتم تخزين البيانات المرسلة إلى الخادم باستخدام POST في نص الطلب لطلب HTTP:

POST /test/demo_form.php HTTP/1.1
Host: w3schools.com

name1=value1&name2=value2

يعد POST أحد أكثر طرق HTTP شيوعًا.

بعض الملاحظات الأخرى على طلبات POST:

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


طريقة PUT

يُستخدم PUT لإرسال البيانات إلى خادم لإنشاء / تحديث مورد.

الفرق بين POST و PUT هو أن طلبات PUT غير فعالة. أي أن استدعاء نفس طلب PUT عدة مرات سيؤدي دائمًا إلى نفس النتيجة. في المقابل ، استدعاء طلب POST بشكل متكرر له آثار جانبية لإنشاء نفس المورد عدة مرات.


طريقة الرأس

HEAD مطابق تقريبًا لـ GET ، ولكن بدون جسم الاستجابة.

بمعنى آخر ، إذا قام GET / users بإرجاع قائمة بالمستخدمين ، فسيقوم HEAD / users بتقديم نفس الطلب ولكن لن يقوم بإرجاع قائمة المستخدمين.

تعد طلبات HEAD مفيدة للتحقق مما سيرجعه طلب GET قبل تقديم طلب GET فعليًا - مثل قبل تنزيل ملف كبير أو نص استجابة.


طريقة الحذف

أسلوب DELETE يحذف المورد المحدد.


طريقة الخيارات

تصف طريقة OPTIONS خيارات الاتصال للمورد المستهدف.


قارن بين GET و POST

يقارن الجدول التالي بين طريقتي HTTP: GET و POST.

  GET POST
BACK button/Reload Harmless Data will be re-submitted (the browser should alert the user that the data are about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or multipart/form-data. Use multipart encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser history
Restrictions on data length Yes, when sending data, the GET method adds the data to the URL; and the length of a URL is limited (maximum URL length is 2048 characters) No restrictions
Restrictions on data type Only ASCII characters allowed No restrictions. Binary data is also allowed
Security GET is less secure compared to POST because data sent is part of the URL

Never use GET when sending passwords or other sensitive information!
POST is a little safer than GET because the parameters are not stored in browser history or in web server logs
Visibility Data is visible to everyone in the URL Data is not displayed in the URL