هل تساءلت يومًا عن ما يمكن أن تفعله واجهة برمجة التطبيقات (API) قبل أن تبدأ في استخدامها؟ هل تريد أن تعرف ما هي الطرق، والرؤوس، والمعلمات المدعومة من قبل نقطة نهاية معينة؟ في هذا المنشور، سنظهر لك كيفية استخدام طريقة HTTP OPTIONS لاستكشاف أي واجهة برمجة تطبيقات. تعتبر طريقة HTTP OPTIONS واحدة من الطرق الأقل شهرة ولكنها مفيدة جدًا لبروتوكول HTTP. تسمح لك بطلب معلومات حول خيارات الاتصال المتاحة لمورد معين. بعبارة أخرى، تتيح لك أن تسأل واجهة برمجة التطبيقات عن ما يمكنها القيام به وكيف يمكنها القيام بذلك.
يمكن أن تساعدك استخدام طريقة HTTP OPTIONS في توفير الكثير من الوقت والجهد عند العمل مع واجهات برمجة التطبيقات. يمكن أن تساعدك في تجنب الأخطاء، وتصحيح المشكلات، وتحسين طلباتك. يمكن أن تساعدك أيضًا في اكتشاف ميزات أو وظائف جديدة قد لا تكون aware منها في السابق.
ما هي طريقة HTTP OPTIONS؟
قبل أن نتعمق في تفاصيل كيفية استخدام طريقة HTTP OPTIONS، دعنا نفهم أولًا ما هي وكيف تعمل. تعتبر طريقة HTTP OPTIONS واحدة من التسعة normas القياسية لطرق HTTP، إلى جانب GET و POST و PUT و PATCH و DELETE و HEAD و TRACE و CONNECT. كل طريقة لها غرض ومعنى معين، وتستخدم لأداء إجراءات مختلفة على مورد.
تستخدم طريقة HTTP OPTIONS لطلب معلومات حول خيارات الاتصال المتاحة لمورد معين. يمكن أن يكون المورد أي كيان يمكن التعرف عليه بواسطة URI (معرف المورد الموحد)، مثل صفحة ويب، صورة، ملف، أو نقطة نهاية واجهة برمجة التطبيقات. على سبيل المثال، يمثل URI https://api.example.com/users/1 موردًا يتوافق مع مستخدم له معرف 1 في واجهة برمجة التطبيقات الخاصة بـ example.com.
عندما ترسل طلب HTTP OPTIONS إلى مورد، فإنك تسأل الخادم أساسًا: "ماذا يمكنني أن أفعل بهذا المورد؟". سيقوم الخادم بالرد باستجابة HTTP تحتوي على معلومات حول الخيارات المتاحة لذلك المورد. عادة ما يتم تقديم المعلومات على شكل رؤوس HTTP، مثل Allow و Accept و Content-Type، إلخ.

عندما يقوم متصفح ويب بعمل طلب عبر مصدر مختلف، سيقوم أولًا بإرسال طلب مسبق باستخدام طريقة HTTP OPTIONS إلى الخادم. يُستخدم الطلب المسبق للتحقق مما إذا كان الخادم يسمح بإجراء الطلب الفعلي. سيقوم الخادم بالرد باستجابة HTTP تحتوي على رؤوس متعلقة بـ CORS، مثل Access-Control-Allow-Origin و Access-Control-Allow-Methods و Access-Control-Allow-Headers، إلخ. إذا كانت استجابة الطلب المسبق تشير إلى أن الطلب الفعلي مسموح به، فسيتقدم المتصفح لإرسال الطلب الفعلي. خلاف ذلك، سيقوم المتصفح بإلغاء الطلب والإبلاغ عن خطأ.
كيفية استخدام طريقة http option
تستخدم طريقة HTTP OPTIONS لطلب معلومات حول خيارات الاتصال لعنوان URL معين أو خادم. يمكن استخدامها للتحقق مما إذا كانت الطرق مسموح بها، وما هي الرؤوس المدعومة، أو إذا كان CORS مفعلًا. لاستخدام طريقة HTTP OPTIONS، يمكنك إرسال طلب مع كلمة المفتاح OPTIONS متبوعة بعنوان URL أو نجمة (*) للإشارة إلى الخادم بالكامل. على سبيل المثال:
OPTIONS /index.html HTTP/1.1
OPTIONS * HTTP/1.1
سيقوم الخادم بالرد برمز حالة ورأس Allow الذي يسرد الطرق المسموح بها. قد تتضمن أيضًا رؤوسًا أخرى مثل Access-Control-Allow-Origin و Access-Control-Allow-Methods و Access-Control-Allow-Headers و Access-Control-Max-Age لأغراض CORS. على سبيل المثال:
HTTP/1.1 200 OK
Allow: GET, HEAD, POST, OPTIONS
Access-Control-Allow-Origin: https://foo.example
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400
يمكنك استخدام أداة مثل Apidog لإرسال طلب OPTIONS ورؤية رؤوس الاستجابة.
كيفية إرسال طلب HTTP OPTIONS باستخدام Apidog؟
الآن بعد أن أصبح لدينا فهم أساسي لما هي طريقة HTTP OPTIONS وماذا تفعل، دعنا نرى كيف يمكننا استخدامها لاستكشاف أي واجهة برمجة تطبيقات. لهذا الغرض، سنستخدم Apidog، أداة تعتمد على الويب تتيح لك التفاعل مع أي واجهة برمجة تطبيقات بطريقة بسيطة وبديهية. يمكنك استخدام Apidog لإرسال الطلبات، وعرض الاستجابات، وفحص الرؤوس. يمكنك أيضًا استخدامها لتوليد مقتطفات من الشيفرة، والوثائق، وحالات الاختبار لأي واجهة برمجة تطبيقات.
لإرسال طلب HTTP OPTIONS باستخدام Apidog، تحتاج إلى اتباع هذه الخطوات:
الخطوة 1: افتح Apidog وأنشئ طلبًا جديدًا.

الخطوة 2: اختر طريقة OPTIONS من قائمة الطرق المنسدلة. سيخبر هذا Apidog بإرسال طلب HTTP OPTIONS إلى عنوان URL الذي أدخلته.

الخطوة 3: أدخل URI المورد الذي تريد استكشافه في حقل إدخال URI واضغط على زر الإرسال أو اضغط على Ctrl+Enter. سيؤدي ذلك إلى إرسال الطلب إلى الخادم وعرض الاستجابة في قسم الاستجابة.

افحص رؤوس الاستجابة والجسم لرؤية المعلومات حول خيارات الاتصال المتاحة للمورد. يمكنك أيضًا استخدام حقل إدخال التصفية للبحث عن رؤوس أو قيم معينة.
ما هي المعلومات التي يمكنك الحصول عليها من استجابة HTTP OPTIONS؟
عندما ترسل طلب HTTP OPTIONS إلى مورد، يمكنك الحصول على الكثير من المعلومات حول خيارات الاتصال المتاحة لذلك المورد. عادة ما يتم تقديم المعلومات على شكل رؤوس HTTP، مثل Allow و Accept و Content-Type، إلخ. إليك بعض من الرؤوس الشائعة وما تعنيه:
- Allow: يسرد هذا الرأس الطرق HTTP التي تُسمح بها للمورد. على سبيل المثال، إذا كانت الاستجابة تحتوي على Allow: GET، POST، HEAD، فهذا يعني أنه يمكنك استخدام طرق GET أو POST أو HEAD للتفاعل مع المورد.
- Accept: يسرد هذا الرأس أنواع الوسائط المقبولة للمورد. على سبيل المثال، إذا كانت الاستجابة تحتوي على Accept: application/json، application/xml، فهذا يعني أنه يمكنك طلب المورد بأي من صيغة JSON أو XML.
- Content-Type: يشير هذا الرأس إلى نوع الوسائط لجسم الاستجابة. على سبيل المثال، إذا كانت الاستجابة تحتوي على Content-Type: application/json، فهذا يعني أن جسم الاستجابة هو بتنسيق JSON.
- Access-Control-Allow-Origin: يشير هذا الرأس إلى أي المصادر مسموح لها بالوصول إلى المورد. على سبيل المثال، إذا كانت الاستجابة تحتوي على Access-Control-Allow-Origin: *، فهذا يعني أن أي مصدر يمكنه الوصول إلى المورد. إذا كانت الاستجابة تحتوي على Access-Control-Allow-Origin: https://example.com، فهذا يعني أن المصدر https://example.com فقط يمكنه الوصول إلى المورد.
- Access-Control-Allow-Methods: يشير هذا الرأس إلى أي الطرق مسموح بها للمورد. على سبيل المثال، إذا كانت الاستجابة تحتوي على Access-Control-Allow-Methods: GET، POST، OPTIONS، فهذا يعني أنه يمكنك استخدام الطرق GET أو POST أو OPTIONS للوصول إلى المورد.
- Access-Control-Allow-Headers: يشير هذا الرأس إلى أي الرؤوس مسموح بها للمورد. على سبيل المثال، إذا كانت الاستجابة تحتوي على Access-Control-Allow-Headers: Content-Type، Authorization، فهذا يعني أنه يمكنك استخدام رؤوس Content-Type أو Authorization للوصول إلى المورد.
- Access-Control-Max-Age: يشير هذا الرأس إلى المدة التي يمكن خلالها تخزين الاستجابة المسبقة في ذاكرة التخزين المؤقت للمتصفح. على سبيل المثال، إذا كانت الاستجابة تحتوي على Access-Control-Max-Age: 86400، فهذا يعني أن المتصفح يمكنه تخزين الاستجابة المسبقة في ذاكرة التخزين المؤقت لمدة 86400 ثانية (24 ساعة).
هذه بعض من الرؤوس الشائعة التي يمكنك الحصول عليها من استجابة HTTP OPTIONS. قد تكون هناك رؤوس أخرى محددة للواجهة البرمجية أو المورد الذي تستكشفه. يمكنك استخدام Apidog لفحص جميع الرؤوس وقيمها، والتعرف عليها بشكل أكبر.
الخاتمة
في هذا المنشور، أظهرت لك كيفية استخدام طريقة HTTP OPTIONS لاستكشاف أي واجهة برمجة تطبيقات. تعتبر طريقة HTTP OPTIONS أداة قوية ومفيدة يمكن أن تساعدك في اكتشاف قدرات وميزات أي واجهة برمجة تطبيقات. باستخدام طريقة HTTP OPTIONS، يمكنك توفير الوقت والجهد عند العمل مع واجهات برمجة التطبيقات. يمكنك أيضًا تعلم أشياء جديدة وتحسين طلباتك.
لقد أظهرت لك أيضًا كيفية استخدام Apidog، وهي أداة تعتمد على الويب تتيح لك التفاعل مع أي واجهة برمجة تطبيقات بطريقة بسيطة وبديهية.