ما هو HTTPS وما أهميته لموقعك والفرق بين http و https ، ربما تساءلت يوماً عن علامة القفل التي بجوار رابط صفحة الويب التي تزورها، وما هي فائدتها؟ أو ربما تساءلت لماذا في بعض الأحيان يمنعك متصفح الإنترنت من زيارة مواقع معينة ويخبرك أنها غير آمنة.
ربما أنت تملك موقعاً ولا تعرف لماذا لا تتصدر صفحاته نتائج البحث، أو على وشك إنشاء موقع إلكتروني جديد وتبحث عن عوامل أمان المواقع الإلكترونية وكيف يتعامل معها أي متصفح.
كيف تقوم بإنشاء موقع للتجارة الإلكترونية
أو ربما تتساءل حول الفرق بين http و https؟
هل https مفيد للموقع من ناحية السيو؟ هل أصبح التحويل من http إلى https ضرورياً؟
وغالباً سؤالك الأهم إن كنت تملك موقعا بالفعل وهو كيف يعمل بروتوكول https؟
في هذا المقال سأجيبك على كل تلك التساؤلات وأكثر بإذن الله بطريقة مبسطة وعملية خطوة بخطوة، بحيث تفهم كل شئ حول بروتوكول https وأهميته ولماذا يتحدث عنه الكثير من مطوري الويب.
بعد قراءتك لهذا المقال كاملاً، ستصبح مدير موقع أفضل، أو مستخدم إنترنت أكثر وعياً وفهماً.
ما هو HTTPS؟
بروتوكول HTTPS هو اختصارا لـ Hypertext Transfer Protocol Secure أو يمكننا القول بأنه النسخة الآمنة من http.
المقصود بالبروتوكول هو الأسلوب أو الطريقة التي يتم التواصل من خلاله بسهولة بين طرفين:
- من يسأل عن المعلومة أو البيانات، وهو هنا مستخدم الإنترنت من خلال متصفحه الخاص.
- من يقوم بتخزين تلك المعلومات أو البيانات، وهو هنا السيرفر أو الخادم المستخدم في حفظ ملفات المواقع الإلكترونية.
عندما تذهب لمكتب البريد للحصول على طرد قد وصل لك، فأنت تخبر الموظف بالكود أو رقم الحوالة حتى يتمكن من الحصول على ما تريد بسهولة، البحث بالكود هنا يكون أسهل وأسرع من البحث بالاسم.
وقياساً على المثال السابق، فإن المتصفح الخاص بك (الذي يسأل عن المعلومة) يتواصل مع السيرفر (مكان تخزين المعلومة) بـ بروتوكول أو أسلوب معين لكي يعطيه السيرفر المعلومات التي يريد بالتحديد في أسرع وقت ممكن.
لكي نفهم أكثر عن بروتوكول https علينا أن نفهم أولاً ما هو http.
ما هو بروتوكول http؟
عندما تفتح الحاسوب الشخصي الخاص بك لمشاهدة صورة مثلاً أو فيلم، أنت تفتح التقسيم (partition) ثم تفتح مجلد (folder) أو ربما أكثر حتى تحصل على ما تريد.
ولكن في تلك الحالة أنت تعلم مسار أو مكان هذا الملف الذي تريد، وبالتالي تكون تلك العملية سهلة بالنسبة لك.
ولكن في حالة عدم معرفة مكان الملف، فأنت تبحث عنه بالاسم مثلاً في خانة البحث، ويستغرق جهازك عدة ثوان أو دقائق لكي يبحث في كل الملفات التي يمتلكها لكي يجد لك ما تريد.
أما عند اتصالك بالإنترنت فالمعلومات (مثل الصور والفيديو) التي تريدها يتم تخزينها في أماكن محددة على شبكة الإنترنت (يمكن تشبيهها بجهاز حاسوب كبير يمكن لأكثر من شخص الدخول عليه في نفس الوقت).
لكي تحصل على ماتريد من هذه الأماكن والمصادر، فيجب عليك التواصل معها بأسلوب تفهمه، بحيث تعطيك ما تريد … مثلما يجيبك الحاسوب الخاص بك بالضبط.
وبالتالي فإن مهمة بروتوكول مثل http كما أشرنا سابقاً هي: تسهيل عملية التواصل تلك، بحيث يعرف صاحب المعلومة أو مصدرها ما الذي تريد تحديداً عند زيارتك موقع معين حتى يعطيه لك، سواء كان فيديو أو صورة أو نص مكتوب.
ولكي تتضح لك الصورة أكثر عليك أن نتعلم بعض المفاهيم الأساسية المرتبطة وهي:
الخادم (Server)
في حاسوبك الشخصي أو هاتفك المحمول أنت تقوم بتخزين الملفات المختلفة في ذاكرته الداخلية، و هذه الملفات أنت وحدك من لديه الصلاحية للحصول عليها. ولكن في عالم الإنترنت يتم تخزين تلك المعلومات على خوادم أو سرفرات خاصة بحيث يسهل الحصول عليها من أي مكان حول العالم.
ما هو العميل (Client)
العميل هو من يسأل عن تلك المعلومات عند الخادم، وهو يشير لأي مستخدم للإنترنت متمثلاً في متصفح الإنترنت الذي يستخدمه.
ما هو الـ Resource (المحتوى)
أنت تقوم بتخزين مختلف أنواع المحتوى على حاسوبك الشخصي، ملفات مكتوبة (text) أو صور أو فيديو.
أي صفحة على الويب تتكون من مجموعة مختلفة من المحتوى، هذه الصفحة التي تشاهدها أنت الآن تحتوي على صور ومحتوى مكتوب كذلك.
لكل محتوى عدة أنواع مختلفة، فمثلاً الصور يمكن أن تكون PNG أو JPEG أو أي نوع آخر.
يقوم الخادم بتخزين المحتوى وترتيبه، بحيث عندما يطلبه أي عميل يقوم باعطائه إياه.
ما هو الـ URI
لكل ملف على جهازك الشخصي اسم قمت أنت باختياره، ربما قمت بتسمية ملف فيديو ” 123″ هذا الاسم لن يفهمه أحد إلا أنت.
لكن الأمر مختلف على شبكة الإنترنت، فيجب أن تكون تلك الأسماء موحدة ولها طريقة معينة لكي يفهمها أي متصفح أو عميل عندما يطلبها من الخادم.
URI وهو اختصار لـ Uniform Resource Identifier، عبارة عن طريقة محددة وموحدة عالمياً لتسمية الملفات الموجودة على أي سيرفر.
كيف تتم عملية التواصل بين الـ client و الـ server
تخيل أنك صاحب شركة وترغب في الحصول على بضائع ومستلزمات لشركتك من أحد المصانع الكبرى. تقوم بإعطاء كل المعلومات عن اسماء ومواصفات البضائع التي تريد لموظف شركتك بالإضافة لعنوان المصنع … والخطوات التالية تمثل ما يحدث بشكل واضح:
- يقوم الموظف بالنظر في العنوان لكي يحدد موقع المصنع على شبكة الطرق أو على خرائط جوجل مثلاً بدقة.
- يقوم الموظف بتحديد أفضل طريق لكي يصل إلى الموقع الذي يريد.
- عندما يصل إلى المكان المحدد، يقوم باعطاء ورقة الطلبات التي تحدد البضائع بدقة لمسؤول المصنع.
- مسؤول المصنع ينظر في الطلبات، يتأكد من أنها متاحة وأنه يفهمها طبقاً لنظام المصنع.
- مسؤول المصنع يعطي البضائع للموظف، ثم يعود الموظف من نفس الطريق إلى شركتك.
هذا ببساطة ما يحدث عند نقل المعلومات أو البيانات على شبكة الإنترنت، انظر إلى الصورة بالأسفل:
أي اتصال يتم عن طريق الإنترنت يتم على شكل طبقات معينة أو خطوات، ولكل طبقة أو بروتوكول دور محدد. لنراجع المثال السابق الخاص بشركتك مع تطبيقه على الإنترنت.
1-الإنترنت هو شبكة الطرق المهولة العملاقة والتي تربط بين الأماكن – سواء السيرفرات أو العملاء – المختلفة.
2- لكل كيان على هذه الخريطة العملاقة اسم وموقع محدد يتم تحديده بنظام IP address أو ICMP، والذي يحفظ لكل سيرفر أو موقع معين مكانه المحدد الفريد من نوعه، حتى يسهل الوصول إليه و لا يختلط الأمر على من يبحث.
الجدير بالذكر أن كل جهاز كمبيوتر أو هاتف ذكي أيضاً لديه IP address فريد، وهذا هو الذي يضمن وصول المعلومة المطلوبة لهذا الجهاز بعينه دون غيره.
3- اختيار العنوان المناسب والطريق الأقصر للوصول للمعلومة وكذلك ضمان وصولها بالترتيب… هو دور منفصل تقوم به عدة بروتوكولات أشهرها TCP.
4- طريقة التفاهم نفسها بين العميل وتحديد ما يريد بدقة باسلوب متفق عليه (مثلما قمت بارسال ورقة الطلبات إلى المصنع) المسؤول عنها عدة بروتوكولات أشهرها http الذي نتحدث عنه اليوم.
علماً بأنه يوجد أنواع أخرى من تلك البروتوكولات مثل FTP وأيضا web socket.
هكذا أنت فهمت طريقة نقل المعلومات بطريقة بسيطة وسهلة، وقد أصبحت تعلم أيضا ماذا يمثل http ودوره في عملية نقل البيانات.
الآن حان الوقت لمعرفة معلومات أكثر عن هذا البروتوكول الرائع http.
إنستاجرام تتيح البث المباشر لأربع ساعات
كيف يعمل بروتوكول http؟
بعد أن فهمت كيف تتم عملية الاتصال بين المتصفح الخاص بك وبين السيرفر الذي يحتوي على البيانات، عليك أن تفهم قليلاً ما هي تحديداً الطريقة التي يتم التفاهم من خلالها.
عندما تزور أي موقع على الإنترنت فأنت إما تطلب أن ترى بعض المعلومات، أو تقوم بإدخال معلومات والتعديل عليها.
فعندما قام المتصفح الخاص بك بزيارة هذه الصفحة من موقع الرابحون التي تقرأ من خلالها هذه السطور الآن، كان التفاهم بين المتصفح (client) والسيرفر الخاص بموقعنا وهو شركة الاستضافة الرائعة التي نعمل معها عبارة عن الصورة التالية:
فكما ترى، الاتصال يتم عن طريق رسائل طلبات (Request) ثم رد يأتي من السيرفر (Response) كما يحتوى هذا الاتصال على نسخة http – وبالطبع النسخة التي نستعملها هي https – التي يتم التواصل بها، واسم المحتوى ونوعه أيضاً.
بالطبع هناك تفاصيل أخرى ومعلومات تقنية لا أرغب في الخوض فيها حالياً، حتى يظل الأمر بسيطاً وواضحاً للجميع، ولكن ما أرغب أن تعرفه أيضا عن طريقة التواصل باستخدام بروتوكول http هو التالي:
طرق الطلبات (Request Methods)
كما أخبرتك من قبل فإن التواصل بين المتصفح والسيرفر يكون اما بسبب الحصول على بيانات، أو إعطاء وتعديل البيانات في السيرفر نفسه.
وكما أشرت في الصورة السابقة فإنك ستجد طريقة الطلب هي Get، والتي تمثل رغبة المتصفح أو العميل في تلك الحالة في الحصول على المعلومات، وفي الجدول بالأسفل يمكنك معرفة أهم طرق الطلبات في بروتوكول http.
Get | عندما يرغب العميل في الحصول على ملفات (resources) من السيرفر. |
Post | عندما يرغب العميل في ارسال بيانات أو معلومات إلى السيرفر. |
Put | عندما يرغب العميل في تحديث بيانات معينة داخل ملف محدد (resource) بالسيرفر |
Delete | عندما يرغب العميل في حذف أحد الملفات (resources) من السيرفر |
هذه تمثل أشهر طرق الطلبات التي تتواصل بها أنت يومياً عن طريق متصفحك مع مختلف المواقع. هكذا تقوم برفع صور معينة إلى سيرفر معين أو مسح ملف معين وغيره من الطلبات.
أنواع حالة الردود من السيرفر (Response Status Types)
ألم تلاحظ في بعض الأحيان عندما تزور صفحة معينة على الويب وجود هذا الرقم وسط الصفحة 404 والذي يمثل خطأ.
هذا يمثل رد السيرفر على المتصفح في حال عدم وجود هذا الاسم أو الملف. فيرد الخادم ويقول “خطأ أنا لا أملك هذا الملف”. لهذا تجد أحيانا أن المتصفح نفسه يخبرك أنه عليك التأكد من عنوان الصفحة التي ترغب في زيارتها (URL) لكي تحل هذه المشكلة.
كذلك كما أشرت في الصورة التي وضحنا فيها طريقة الاتصال بين الخادم والعميل، ستجد الكود 200 والذي يشير أن الاتصال ناجح وأن السيرفر قد وجد ما يريده المتصفح.
تلك كانت أهم الأكواد (200 و 404) التي توضح حالة الردود بين المتصفح والسيرفر، وهناك أكواد أخرى بالطبع.
أنت الآن أصبحت تفهم جيداً ماهية بروتوكول http، وكيف يتم الاتصال ونقل المعلومات على الإنترنت بشكل عام خصوصاً فيما يتعلق بالمحتوى الخاص بالويب.
ولكن بالطبع هناك بروتوكولات وطرق أخرى للتواصل، مثل التي تحدث في حالة الألعاب أونلاين، والتواصل عبر البريد الإلكتروني. وربما نستعرض ذلك في مقال قادم إن شاء الله.
ولنعود إلى سؤالك الأهم الآن، إذا ما هو https أو بالأحرى ما الفرق بينه وبين http بشكل عملي … لنكمل المقال إذن?.
ما هو الفرق بين http و https بشكل عملي
لقد وضحنا سابقاً أن الـ S تعني Secure أي آمن، وبالتالي فإن https هو النسخة الآمنة أو المحمية من http. ولكن كيف ذلك، وما المقصود بتلك الحماية.
كما هو موضح في الصورة بالأعلى، فان بروتوكول http يقوم بارسال واستقبال المعلومات على هيئة نص صريح. فمثلاً اسم المستخدم وكلمة السر يتم ارسالها مباشرة وبشكل واضح، وذلك على عكس https.
كما هو موضح بالصورة السابقة، فإن بروتوكول https يعتمد على تشفير (Encryption) للمعلومات التي يتم تناقلها بين المتصفح والسيرفر، وبالتالي لا يمكن لأي شخص الحصول أو التجسس على تلك المعلومات بسهولة. ودعني أوضح ذلك لك بصورة أكبر.
كيف يمكنك الوصول إلى لوحة التحكم في ويندوز 10 بعد تحديث أكتوبر 2020؟
كيف يقوم بروتوكول https بحمايتك؟
سواء كنت صاحب موقع أو مستخدم للويب فإن بروتوكول https يوفر لك درجة جيدة للغاية من الحماية لمعلوماتك وبياناتك الهامة.
لنفترض أنك جالس في مكان به شبكة واي فاي عامة ومتاحة، وتقوم بالاتصال مع شبكة الويب عن طريق بروتوكول http، وأنا جالس بجوارك أو قريب من هذه الشبكة.
باستخدام برنامج بسيط للغاية، يمكنني الدخول على الشبكة والتجسس على أي اتصال يتم خلالها، فيمكنني معرفة الموقع الذي تزوره والبيانات التي ترسلها إليه.
ولنفترض أنك تدخل بيانات الكريدت كارد الخاصة بك أو بيانات أخرى هامة، يمكنني سرقتها واستغلالها كما أريد.
ولكن لو كان نفس الاتصال يتم عن طريق بروتوكول https، فإنني أرى تلك المعلومات على هيئة رسائل مشفرة كما أشرنا سابقاً، وفي هذه الحالة لا أملك مفتاحاً لها، وبالتالي اتصالك بالإنترنت يكون آمن بصورة أكبر.
لماذا يؤمن رواد التكنولوجيا في العالم بحتمية استخدام البروتوكول https؟
أتدري أن أي شخص يمتلك صلاحية الدخول على شبكة الإنترنت الخاصة بك، ليس فقط يمكنه التجسس على البيانات التي تقوم بارسالها، بل يمكنه أن يغير في المواقع أو الصفحات التي تزورها كذلك.
ومن ضمن هؤلاء الذين يمكنهم ذلك شركة خدمة الإنترنت المُتعاقد معها، يمكنها معرفة أي صفحة تقوم بزيارتها وأي المعلومات تقوم باستقبالها وإرسالها، بل وتعديل تلك الصفحات على أي نحو ترغب فيه.
أيضا العديد من المؤسسات الحكومية حول العالم يمكنها ذلك.
لهذا يرغب رواد التكنولوجيا وأمن المعلومات حول العالم بتطبيق بروتوكول https بشكل أوسع، وأيضاً تطوير البروتوكول نفسه ليصبح أكثر آمان، حتى يصبح الإنترنت مكانا أكثر حرية وأمنا في نفس الوقت.
فوائد بروتوكول https لموقعك
لو كنت تملك موقعاً، فبالتأكيد أنت تعلم ما هو السيو ( SEO ) والذي يشير إلى تعديل وتحسين موقعك للظهور في نتائج البحث الأولى.
في آخر تحديثات لشركة جوجل فإنها أشارت إلى عدم إمكانية تصدر نتائج البحث لأي موقع لا يستخدم بروتوكول https.
وأيضا عندما يكون الموقع حديثاً ولا يستخدم بروتوكول https، فإن المتصفح نفسه (سواء جوجل كروم أو فايرفوكس أو مايكروسوفت إيدج) لن يسمحوا للمستخدم بالمرور بسهولة لزيارة هذا الموقع، وبالتالي فإن هذا يؤثر على موقعك بصورة كبيرة.
من ناحية أخرى https يجعل زوار موقعك آمنين، فإن كان موقعك عبارة عن متجر إلكتروني، أو يسمح بتسجيل الزوار حسابات للدخول إلى محتوى معين، فإن بروتوكول https يؤمن تلك المعلومات والبيانات من القرصنة إلى حد كبير.
إن كنت ترغب في معرفة طريقة تفعيل بروتوكول Https، أو كيفية الحصول على شهادة SSL (شهادة أمان المواقع)، وكيف يتم إصدارها، ومن هو المسؤول عنها.
مايكروسوفت بدأت بإلغاء متصفح إكسبلورار