المقدمة
طول النهار هتلاقيك بتتعامل مع الـ HTTP Protocol ومش عشان أنت مبرمج ولكن لأنه البروتوكول الأكثر استخدامًا وشهرة حول العالم.
ولأنه حبيبنا بزيادة كمبرمجين فتعالوا نعرف الفرق بينه وبين ال HTTPS ومميزات وعيوب كلا منهما.
ما هو ال HTTP وما هو ال HTTPS؟
ال HTTP هو البروتوكول المسؤول عن نقل البيانات عبر الإنترنت, وقت ما تم تصميمه كان هدفنا ننقل البيانات بس وبنفترض الثقة وحسن النية في مستخدمين الانترنت ولذلك كنا بننقل البيانات عليه ك Plain Text, فلو شبهنا ال HTTP بساعي البريد والبيانات بالرسالة فلو حد قدر يسرق الرسالة من الساعي - أو يوصلها بأي شكل - هيقدر يقرأ ويستخدم المعلومات اللي فيها.
ومن هنا طلع HTTP Secure أو HTTPS Protocol وهو هو ال HTTP ولكن هيعمل Encryption للبيانات المرسلة من خلاله (تشفير الرسائل اللي مع الساعي) وبالتالي لو أي attacker قدر يحصل علي الرسالة هيقرأ كلام غير مفهوم ومش هيقدر يعمله Decryption وكدا عرفنا نحمي المعلومات الهامة اللي بقينا بنشاركها زي الايميلات وكلمات المرور و بطاقات الائتمان.
كيف يقوم ال 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.
خلاص يبقي لما ابعت معلومات مهمة هستخدم ال HTTPS ولما تكون بيانات طبيعية متاحة لأي حد على الانترنت هستخدم ال HTTP وأوفر على نفسي القصة دي كلها!
في الحقيقة إحنا حاليًا بنستخدم ال HTTPS في أغلب الحالات سواء البيانات كانت مهمة أو لاء ودا لأن محركات البحث بتعمل Penalty على المواقع اللي مش بتستخدم ال HTTPS في تقييم الـ SEO للموقع وبتقلل من إمكانية الوصول إليها باعتبارها مواقع غير آمنة.
مميزات ال HTTPS
- الأمان
بيضيف ميزة التشفير والأمان للموقع
يحمي الموقع من الهجمات ك Man in the middle attack
- تحسين تصنيف محركات البحث
ودا لأن الموقع بيكون ليه SEO Ranking أعلى
- الموثوقية
المواقع التي تستخدم HTTPS تظهر بروتوكول القفل الأخضر في المتصفح، مما يزيد ثقة المستخدمين.
عيوب الـ HTTPS
- الأداء
ال HTTPS أبطأ من ال HTTP لأن عملية التشفير وفك التشفير على الطرفين بتاخد الوقت وكذلك فالتشفير يستهلك موارد إضافية من الـ server.
- تكلفة وإدارة الشهادات
ال HTTPS يحتوي علي تكلفة إضافية وهي تكلفة شهادات الـ SSL و كذلك إدارتها زي إعادة تجديدها.
تحويل موقعك من 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 في الموقع بتاعنا وتأثير دا في أمان ومصداقية الموقع, نشوفكم المقال الجاي 👋
Discussion