تطوير تطبيقات الويب

مقدمة في خدمات الويب REST API

تستطيع معرفة حالة الطقس من خلال جوالك، لانه يقوم باستهلاك خدمة ويب حالة الطقس من مزود هذه الخدمة

باختصار

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

من هي الجهات التي تقدم خدمات الويب؟

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

تقنياً، كيف تعمل خدمات الويب؟

سنركز في هذه المقالة بالحديث عن REST API. لانها الأكثر كفاءة والاكثر انتشاراً حالياً، بدايةً جاءت التسمية من المصطلح الانجليزي

Representational State Transfer (REST)

تم تقديم هذا المصطلح لأول مرة في عام 2000 بواسطة عالم الحاسوب الأمريكي روي فيلدنغ.

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

مثال:

لو فرضنا بوجود مصدر للبيانات على الويب يحوي على جميع أسماء دول العالم. وكان العنوان المخصص لهذا المصدر بالشكل التالي:

https://www.world.com/api/countries

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

الآن لو أردنا طلب قائمة بأسماء دول العالم، سنقوم ببساطة بطلب هذا العنوان (قراءة البيانات التي يقدمها هذا العنوان)، ولكن كيف للسيرفر الذي يحوي على هذه البيانات أن يعرف بأن القصد او الطلب هو قراءة البيانات فقط؟

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

الآن اصبحت آلية العمل واضحة، يمكننا اجراء باقي العمليات على هذا المصدر (إضافة إسم دولة جديد POST، التعديل على إسم دولة سابقPUT، او حذف إسم موجود مسبقا DELETE، وباستخدام نفس العنوان، لكن شكل الطلب سيتخلف

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

لمحة عن HTTP

بروتوكل HTTP هو آلية للتواصل بين المستخدم والسيرفر، يتكون البروتوكول من قسمين أساسين هما

  1. Request
  2. Response

Request

وهي الآلية التي يتم تحديد شكل الطلب فيها كما ذكرنا سابقاً، فمثلاً يمكننا تحديد طريقة الطلب GET, POST, PUT, DELETE, etc، كما يمكننا تحديد اللغة، وتحديد شكل البيانات المرسلة من السيرفر، وتحديد هويتنا في حال كان السيرفر يتطلب ان نكون مسجلين مسبقا، وغيرها، بحيث يمكننا ارسال طلب بكامل المواصفات.

 

Request URL: https://www.world.com/api/countries
Request Method: GET
Status Code: 200 OK
Remote Address: 12.58.143.20:443
Referrer Policy: no-referrer-when-downgrade

Response

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

 

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

 

Hash Tag


Leave a comment

Tarek Jihad

Author
粉嫩公主酒酿蛋通过现代科技改良,创新加入了泰国丰胸圣品野葛根提取物丰胸产品,利用国家冻干技术,最大程度的保留了其食物的活性,只针对女性胸部发育研究丰胸方法,效果较之传统酒酿蛋好三倍不止。粉嫩公主酒酿蛋的配方用料都是经过机构的安全检测认定,有官方给出的证明丰胸食物,丰胸效果更有保障。长期服用粉嫩公主酒酿蛋不会有任何副作用,而且可以平衡女性身体激素,对于改善女性皮肤状态丰胸酒酿蛋,紧致肌肤,提升女性雌性激素都有一定的帮助。