ما هي طرق HTTP وكيف يمكنك استخدامها؟

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

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





تعرف على هذا المفهوم وما هي كل طريقة من طرق HTTP التسعة الممكنة.





ما هي طريقة HTTP؟

يتضمن كل طلب HTTP تقوم به إجراءً وهدفًا لهذا الإجراء ، يشبه إلى حد كبير الفعل والاسم الذي يعمل ككائن.





اجعل فيديو اليوم قم بالتمرير للمتابعة مع المحتوى

يحدد عنوان URL موردًا فريدًا يعمل كهدف للطلب. وفي الوقت نفسه ، يتم تمثيل الفعل - ما هو الإجراء المطلوب تنفيذه على عنوان URL هذا - بواسطة طريقة.

يوفر السطر الأول من طلب HTTP أهم المعلومات بما في ذلك إصدار HTTP وعنوان URL للمورد وطريقة الطلب:



 GET /software/htp/cics/index.html HTTP/1.1 

ما هي 9 طرق HTTP؟

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

يحصل

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





بريد

استخدم POST لإنشاء موارد جديدة ، لا سيما عندما يكون لهذه الموارد مورد رئيسي يمكن تحديده. على سبيل المثال ، إذا كان لديك مورد / client ، فيجب عليك إنشاء عميل جديد عن طريق نشر البيانات المطلوبة إلى / customers.

يضع

تحديث أو استبدال مورد موجود. هذا مشابه لـ POST ، لكن العميل مسؤول عن اختيار معرف فريد للمورد. لإنشاء مورد باستخدام PUT ، يجب أن يتضمن عنوان URL للمورد معرّفًا ، على سبيل المثال ، / العملاء / 007 .





يمسح

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

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

رقعة

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

طلب HEAD هو عندما تريد معلومات حول مورد ، ولكن ليس المورد نفسه. لن تتضمن الاستجابة نصًا ، ولكنها ستحتوي على مجموعة من رؤوس HTTP المفيدة. يمكنك معرفة الحجم الإجمالي للملف قبل تنزيله ، عبر عنوان استجابة طول المحتوى.

نظام التشغيل windows 10 و linux

الطرق المتبقية - خيارات و يتصل ، و يتعقب - أكثر غموضًا. يتعاملون مع البيانات الوصفية والشبكات واستكشاف الأخطاء وإصلاحها. قد تجدها مفيدة في أنواع معينة من البرمجة ، ولكن ربما لن تستخدمها كل يوم.

خيارات

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

يتصل

قد تستخدم أنواع معينة من برامج الشبكات هذه الطريقة لإنشاء نفق بين جهازي كمبيوتر. غالبًا ما يستخدم هذا لبدء اتصال HTTPS عبر وكيل.

يتعقب

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

GET و HEAD هما الطريقتان الوحيدتان اللتان يدعمهما كل خادم ويب عام. قد يدعم خادم معين طرقًا أخرى وقد لا يدعمها ، لذا يجب عليك التحقق أولاً.

متى يمكنك استخدام هذه الأساليب؟

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

طرق HTTP في HTML

ال استمارة عناصر طريقة تتيح لك السمة تعيين طريقة HTTP لاستخدامها عند إرسال النموذج. يدعم HTML فقط ملفات بريد و يحصل قيم هذه السمة — بالإضافة إلى بديل حوار غامض.

 <form method="post"> 
  ...
</form>

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

  تعرض لوحة أدوات مطور Chrome 3 طلبات بطرق مختلفة: POST و GET و PATCH

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

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

نظرًا لأن نماذج HTML لا تدعم سوى GET و POST ، فلا يمكنك إنشاء نموذج ، على سبيل المثال ، يحذف موردًا على الخادم. يتمثل الحل البديل الشائع ، الذي يحترم مبادئ REST على الخادم ، في استخدام متغير عنصر نائب والتظاهر بأنه أسلوب HTTP الأصلي. على سبيل المثال:

 <form method="post"> 
  <input type="hidden" name="_method" value="DELETE" />
  ...
</form>

يمكن أن تتحقق التعليمات البرمجية من جانب الخادم من وجود متغير 'طريقة الوكيل' وتعاملها كما لو كانت الطريقة الحقيقية المستخدمة. على سبيل المثال ، في PHP:

 $method = $_SERVER["REQUEST_METHOD"]; 

if (array_key_exists("_method", $_REQUEST)) {
  $method = $_REQUEST["_method"];
}

إرسال طلبات HTTP برمجيًا

توفر واجهة برمجة تطبيقات جلب الويب وظيفة fetch () JavaScript التي يمكنك استخدامها لإرسال طلب HTTP. وهو يدعم مجموعة كاملة من الأساليب ، وليس فقط GET و POST التي تدعمها HTML.

سترسل وظيفة الجلب طلب GET افتراضيًا. لاستخدام طريقة مختلفة ، حدد اسمها كقيمة لـ طريقة الخاصية في كائن ترسله كوسيطة ثانية.

 fetch('https://example.com/', { method: "HEAD" }); 

يمكنك أيضًا إرسال طلبات HTTP من العديد من لغات الخادم ، بما في ذلك PHP. في هذه اللغة ، تعد مكتبة curl طريقة شائعة لإرسال مثل هذه الطلبات.

تحتوي مكتبة curl على خيار CURLOPT_CUSTOMREQUEST يمكنك تعيينه لتحديد طريقة

 if ($ch = curl_init($url)) { 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
    curl_exec($ch);
    // ...
}

عبر سطر الأوامر

أداة سطر الأوامر curl يتيح لك نقل البيانات من وإلى الخادم ، عبر أحد البروتوكولات المتعددة. HTTP (و HTTPS) هما حالتا استخدام شائعتان للغاية.

بشكل افتراضي ، يرسل curl طلب GET ، كما يمكنك التأكيد باستخدام الأمر التالي:

 curl -v -s -o /dev/null example.com/get-test 

يمكنك رؤية طريقة الطلب في السطر الخامس من الإخراج:

  مثال على طلب GET باستخدام curl.

يمكنك تغيير طريقة الطلب التي يرسلها curl باستخدام العلامة -X:

 curl -v -s -o /dev/null example.com/get-test -X POST 

الآن ، يرسل curl طلبًا باستخدام طريقة POST:

  مثال على طلب POST باستخدام curl.

يستخدم HTTP العديد من الاستخدامات

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

تعكس بعض الطرق الأكثر شيوعًا نموذج CRUD الذي يجعل HTTP أساسًا ممتازًا لبناء واجهة برمجة تطبيقات تركز على الموارد.