طرق طلب 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 |