Full Guide Into HTTP vs. HTTPS

طول النهار هتلاقيك بتتعامل مع الـ HTTP Protocol ومش عشان أنت مبرمج ولكن لأنه البروتوكول الأكثر استخدامًا وشهرة حول العالم. ولأنه حبيبنا بزيادة كمبرمجين فتعالوا نعرف الفرق بينه وبين ال HTTPS ومميزات وعيوب كلا منهما.
Full Guide Into HTTP vs. HTTPS
Full Guide Into HTTP vs. HTTPS

في هذه الصفحة

المقدمة

طول النهار هتلاقيك بتتعامل مع الـ HTTP Protocol ومش عشان أنت مبرمج ولكن لأنه البروتوكول الأكثر استخدامًا وشهرة حول العالم.

ولأنه حبيبنا بزيادة كمبرمجين فتعالوا نعرف الفرق بينه وبين ال HTTPS ومميزات وعيوب كلا منهما.


ما هو ال HTTP وما هو ال HTTPS؟

ال HTTP هو البروتوكول المسؤول عن نقل البيانات عبر الإنترنت, وقت ما تم تصميمه كان هدفنا ننقل البيانات بس وبنفترض الثقة وحسن النية في مستخدمين الانترنت ولذلك كنا بننقل البيانات عليه ك Plain Text, فلو شبهنا ال HTTP بساعي البريد والبيانات بالرسالة فلو حد قدر يسرق الرسالة من الساعي - أو يوصلها بأي شكل - هيقدر يقرأ ويستخدم المعلومات اللي فيها. 

ومن هنا طلع HTTP Secure أو HTTPS Protocol وهو هو ال HTTP ولكن هيعمل Encryption للبيانات المرسلة من خلاله (تشفير الرسائل اللي مع الساعي) وبالتالي لو أي attacker قدر يحصل علي الرسالة هيقرأ كلام غير مفهوم ومش هيقدر يعمله Decryption وكدا عرفنا نحمي المعلومات الهامة اللي بقينا بنشاركها زي الايميلات وكلمات المرور و بطاقات الائتمان.

HTTP VS. HTTPS

كيف يقوم ال HTTPS بعمل ال Encryption؟

ال HTTPS يستخدم TLS (SSL) Protocols اللي بتشفر البيانات عن طريق استخدام تقنية تشفير Public Key Cryptography و بتشتغل كالاتي:

  • ال client بيدخل المتصفح و يطلب website معين عن طريق الرابط مثل https://eqraatech.com
  • المتصفح بيبعت لل website server يطلب منه ال SSL Certificate ويعملها Validation اللي بتثبت إنه سيرفر موثوق فيه وبيبعت فيها public key 
  • المتصفح بيستخدم ال public key عشان يعمل تشفير للرسالة اللي بتحتوي علي ال session key 
  • يقوم ال server باستخدام الـ private key عشان يفك تشفير الرسالة ويحصل علي ال session key ويبعت acknowledgment message للمتصفح 
  • دلوقتي المتصفح والسيرفر بينهم session key خاص بيهم ومتأكدين إنه موثوق فيه ويبتدوا ينقلوا البيانات بين بعض بطريقة مشفرة وآمنة ولما توصل عند أي من الطرفين يقدر يعملها decryption باستخدام الـ session key.
💡
ال TLS هو الإصدار الأحدث والشائع العمل به حاليًا من ال SSL Protocol 
🏆
ال TLS/SSL Certifcate هي عبارة عن شهادة رقمية يتم إصدارها من جهة موثوقة وتحتوي علي معلومات هامة عن الموقع مثل ال domain name و جهة إصدار الشهادة و المفتاح العام و خوارزمية التشفير التي ستستخدمها
📐
ال public key و الـ private key مرتبطين ببعض رياضيًا ولكن لا يمكن استنتاج المفتاح الخاص من العام لاستخدامهم خوارزميات تشفير معقدة 

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

في الحقيقة إحنا حاليًا بنستخدم ال HTTPS في أغلب الحالات سواء البيانات كانت مهمة أو لاء ودا لأن محركات البحث بتعمل Penalty على المواقع اللي مش بتستخدم ال HTTPS في تقييم الـ SEO للموقع وبتقلل من إمكانية الوصول إليها باعتبارها مواقع غير آمنة.


تقدروا دلوقتي تشتركوا في النشرة الأسبوعية لاقرأ-تِك بشكل مجاني تمامًا عشان يجيلكوا كل جديد بشكل أسبوعي فيما يخص مواضيع متنوعة وبشروحات بسيطة وسهلة وبجودة عالية 🚀

النشرة هيكون ليها شكل جديد ومختلف عن شكلها القديم وهنحاول انها تكون مميزة ومختلفة وخليط بين المحتوى الأساسي اللي بينزل ومفاجآت تانية كتير 🎉

Eqraatech Newsletter | Eqraatech - اقرأ-تِك | Substack
محتوى تقني متميز في مختلف مجالات هندسة البرمجيات باللغة العربية عن طريق تبسيط المفاهيم البرمجية المعقدة بشكل سلس وباستخدام صور توضيحية مذهلة. Click to read Eqraatech Newsletter, a Substack publication with hundreds of subscribers.

مميزات ال HTTPS

  • الأمان 

بيضيف ميزة التشفير والأمان للموقع 

يحمي الموقع من الهجمات ك Man in the middle attack 

  • تحسين تصنيف محركات البحث

ودا لأن الموقع بيكون ليه SEO Ranking أعلى 

  • الموثوقية

 المواقع التي تستخدم HTTPS تظهر بروتوكول القفل الأخضر في المتصفح، مما يزيد ثقة المستخدمين.

عيوب الـ HTTPS

  • الأداء

ال HTTPS أبطأ من ال HTTP لأن عملية التشفير وفك التشفير على الطرفين بتاخد الوقت وكذلك فالتشفير يستهلك موارد إضافية من الـ server.

  • تكلفة وإدارة الشهادات

ال HTTPS يحتوي علي تكلفة إضافية وهي تكلفة شهادات الـ SSL و كذلك إدارتها زي إعادة تجديدها. 

HTTP VS. HTTPS

تحويل موقعك من HTTP إلى استخدام HTTPS 

1. شراء وتثبيت شهادة SSL/TLS

وذلك عن طريق اختيار هيئة شهادات (CA) Certificate Authority وبعض الهيئات الشهيرة تشمل Let's Encrypt وهي مجانية, وتقوم بتقديم طلب توقيع شهادة فتقوم هيئة الشهادات باعتماده و يمكنك وقتها تحميل شهادة الـ SSL 

ومن ثم يمكنك عمل Install علي ال web server الخاص بموقعك مثل  (Apache، Nginx، إلخ).

2. تحديث الروابط الخاصة بموقعك وقم بتحميل الصور والملفات ليتم عرضها من خلال ال HTTPS وكذلك إذا كنت تستخدم CMS ك wordpress عليك بتحديث الـ URL الخاص بموقعك عليه ليبدأ ب https://  وذلك لانه لا يشترط ان يكون موقعك بيدعم الـ https ان تكون كل الموارد عليه من صور وملفات والروابط مقدمة عبر ال https , وهذا مهم جدًا في الـ Ranking للـ SEO لانه يعتبر ان موقعك يتضمن موارد غير آمنة حتى لو كان على الـ https

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


في الختام

بكده نكون عرفنا الفرق بين ال HTTP و ال HTTPS واتعرفنا علي مميزات وعيوب كلا منهم وإزاي نستخدم ال HTTPS في الموقع بتاعنا وتأثير دا في أمان ومصداقية الموقع, نشوفكم المقال الجاي 👋

اشترك الآن بنشرة اقرأ-تِك الأسبوعية

لا تدع أي شيء يفوتك. واحصل على أحدث المقالات المميزة مباشرة إلى بريدك الإلكتروني وبشكل مجاني!