API Basics pt.2: Protocols - Arabic
وقفنا المقال الفائت عند تعريف الـ Protocol وامثله عليه في الحياة اليومية … المقال ده هنعرف Protocol الويب والـ هو اساس الـ Web API
تقدر تروح للعناوين بسرعة من هنا:
The Protocol Of The Web
الـ HTTP هو بروتوكول الويب المستخدم لبناء الـ APIs, الـ HTTP شائعة الاستخدام بمعنى ان هو المعيار المتفق عليه من معظم مطوري المواقع الالكترونية لبناء الـ APIs … من مميزات بناء API باستخدام Protocol الـ HTTP, ان الـ HTTP مشهور جدا وتقريبا جميع من على الويب بيستخدمه, بالتالي وقت تعلم طرق استخدام الـ API هتكون اقل وبالتالي تشجيع استخدامه من قبل المطورين.
الـ HTTP Protocol بيتم بين الـ Client والـ Server بـ الـ Request-Response Cycle, هنتكلم هنا عن الـ Request والـ Response كل على حده.
HTTP Request
لاتمام عملية الـ Reqeust بين الـ Client والـ Web Server لازم الـ HTTP يوفر 4 أجزاء رئيسية هي:
URL ... Method ... Header ... Body
URL
هي الاسم الـ بيتكتب بالـ Web Browser للوصول لصفحة الانترنت زي كلمة facebook.com ... الـ API بيحسن وظيفة الـ URL, بدل ما توصل لصفحة كاملة بالـ URL تقدر توصل لجزء معين فقط من بيانات الصفحة زي الـ Comments الـ بيكتبها المستخدمين على الـ Facebook ... يعني الـ URL العادي جابلي صفحة الـ Facebook كاملة انما الـ API جابلي جزء الـ Comments فقط.
Methods
تتكون من اربع Methods رئيسية واشهرهم استخداما ... هم GET, POST, PUT, DELETE ... لما تتعامل مع الـ Facebook Post Comment بتمر بالتالي:
GET: أظهر لي كل الكومنتات السابقة
POST: انا هضيف كومنت
:PUT انا هاعدل الكومنت الـ كتبته
:DELETE قررت ان رائي ملوش لازمة, بس الحقيقة اني Chicken
Header
دي بتوفر معلومات اضافية (Meta-informations) عن الـ Request زي وقت الارسال او نوع الجهاز المستخدم ... لو فتحت موقع الـ Facebook من على المحمول هتلاقي النسخة المعروضة مختلفة عن جهاز الكمبيوتر ... لان الـ Header بيرسل نوع الجهاز خلال User-Agent Header الـ Header دي واحدة من عديد غيرها.
Body
دي الـ Data الي Client بيبعتها للـ Server ,زي الـ Comment Text مثلا ... على عكس الـ 3 اجزاء الاخرى الـ Body بيسمح للـ Client يتحكم في شكل ونوع الـ Data الـ يبعتها. هنعرف ازاي المقال القادم.
الـ 4 أجزاء, URL, Method, Header, Body هي المكون الكامل للـ HTTP Request
HTTP Response
بعد استقبال الـ Request من الـ Client بيكون دور الـ Server يعمل Response ... بنية الـ Response نفسها بينة الـ Request ... مع اختلاف بسيط, بدل الـ URL والـ Method, بتستخدم Status Code.
الـ Status Code عبارة عن رقم مكون من 3 خانات, حيث أن كل رقم يمثل حالة الـ Server, مثلا:
404 وتعني ان الصفحة غير موجودة.
ظهور الصفحة سليمة يعني 200.
503 وتعني ان الموقع في حالة صيانة او مقفول حاليا.
تقدر تشوف باقي الاكواد من هنا.
الـ Client ,زي الـ Web Browser مثلآ, لما يقراء الـ Status Code, بيقدر يفهم حالة الـ Server وبناءا عليه يبلغ الـ User برسالة مفهومة غالبآ فص صورة HTML, زي الـ 404 الـ ذكرتها فوق.
النهاية
متخشش على المقال التالي من غير ما تكون استوعبت الحالي لان الاساسيات بتُبني فوق بعض ولو حاسس انك مش مستوعب نقطة, خدلك بريك وعيد تانى وابحث الانترنت عشان الاستيعاب يزيد من خلال رؤية أكثر من طريقة شرح لنفس الموضوع ... المقال التالي هنتعرف على اللغة الـ بيفهمها الكمبيوتر خلال التواصل بستخدام الـ HTTP.
المقال التالي: Data Formats
مجموعة المقالات كاملة:
- Introduction
- انت هنا ==> API Basics pt.2: Protocols - Arabic
- Data Formats
- Authentication
- OAuth
المراجع
Zapier