recent
أخبار ساخنة

الفرق بين HTTP و HTTPS

 

ما هو الفرق بين HTTP و HTTPS؟

نلاحظ أن معظم المواقع تشجع دائماً وتحث الأشخاص على الانتقال إلى HTTPS لعدد من الأسباب مثل مزايا الأداء والأمان الإضافي وحتى مزايا تحسين الظهور في محركات البحث والـ SEO. يتم طرح اختصارات HTTP وHTTPS باستمرار، مما يشجع ضرورة فهم أساسيات كيفية عملها وبعض التاريخ وراءها من حيث التطوير عبر الزمن.

 لذلك سنستكشف بشكل أعمق الفرق بين HTTP و HTTPS، وما تعنيه؟ ولماذا قد حان الوقت للانتقال إلى من HTTP الى HTTPS؟

ما هو بروتوكول HTTP؟

يرمز بروتوكول HTTP إلى Hypertext Transfer Protocol، أي أنه عندما تدخل http: // في شريط العنوان URL الخاص بك أمام المجال (الدومين) Domain، فإنه يخبر المتصفح بالاتصال بذلك الموقع عبر بروتوكول HTTP.

مبدأ عمل البروتوكول HTTP

يستخدم بروتوكول الـ HTTP بروتوكول TCP وهو بروتوكول التحكم في الإرسال، وبشكل عام فإن المنفذ (Port) المخصص لبروتوكول HTTP هو المنفذ 80، حيث يستخدم هذا المنفذ لإرسال واستقبال حزم البيانات عبر الويب.

إذن، ببساطة، إنه بروتوكول يستخدمه العميل والخادم ويسمح لك بالاتصال بمواقع الويب الأخرى. يرسل العميل رسالة طلب إلى خادم HTTP بعد مصافحة بروتوكول TCP (أي TCP Handshake) والذي يستضيف موقع الويب، ثم يرد الخادم برسالة الاستجابة. تحتوي رسالة الاستجابة على معلومات حالة الإكمال أو الاستكمال، مثل HTTP / 1.1 200 OK.

نبذة تاريخية عن البروتوكول HTTP

جاء مصطلح النص التشعبي في الأصل من تيد نيلسون في عام 1965. تم تطوير HTTP الأصلي واقترحه في الأصل من قبل تيم بيرنرز لي، وهو مدير اتحاد شبكة الويب العالمية (W3C). حيث تكمن وظيفة اتحاد شبكة الويب W3C في قيادة الويب إلى أقصى إمكاناته من خلال تطوير البروتوكولات والمبادئ التوجيهية التي تضمن نمو الويب على المدى الطويل.

تم نشر أول توثيق لـ HTTP في عام 1991 باسم HTTP / 0.9 والذي يتكون فقط من طريقة طلب HTTP واحدة، وهي الأمر GET والتي تطلب البيانات من مورد محدد. في عام 1996، تم تطوير HTTP 1.0، RFC 1945، وكان هذا التطوير يتألف من ثلاث طرق لطلب HTTP وهي GET، HEAD و POST وذلك لإرسال البيانات لتتم معالجتها إلى مورد محدد. وأخيراً في عام 1997، تم تطوير بروتوكول HTTP / 1.1 RFC 2068 كمراجعة لـ HTTP 1.0 وبعد 19 عاماً لا يزال يستخدم حتى اليوم لجميع طلبات HTTP.

على مر السنين، كانت هناك بعض المراجعات الطفيفة على HTTP /1.1. وفي عام 1999، قدم RFC 2616 خمس طرق جديدة، وهي: OPTIONS، PUT، TRACE، CONNECT و DELETE. ثم في أذار من العام 2010، قدم RFC 5789 طريقة الـ PATCH أي الـ PATCH Method. في يومنا هذا، هنالك تسع طرق طلب مختلفة للإصدارات الحالية.

في بروتوكول HTTP / 0.9  و HTTP / 1.0 يتم إغلاق الاتصال بعد طلب واحد. أما في الإصدار HTTP/1.1، تم تقديم الاتصالات المستمرة، أي أكثر من طلب / استجابة على نفس اتصال HTTP، وفي نفس الوقت، مما أدى إلى تقليل زمن الوصول بشكل كبير. كما وتمت إضافة تحسينات أخرى مثل التخزين المؤقت Caching، ودعم أفضل لتقنية الضغط، ومشاركة الموارد عبر الأصل Cross-Origin Resource Sharing أو ما يعرف بالاختصار CORS.

HTTP والبروتوكول TCP/UDP

تم إجراء تحسينات عديدة على بروتوكول TCP على مر السنين والذي يعمل عليه في الأساس بروتوكول الـ HTTP، ولكن في معظم الأحيان هو نفسه إلى حد كبير! كما كان عندما تم تعريفه لأول مرة في عام 1974، بحسب RFC 675. يستخدم HTTP أيضاً بروتوكول مخطط بيانات المستخدم UDP، الذي صممه David Reed في عام 1980، المحدد فيRFC 768، إنه أقل موثوقية ولكنه يستخدم على نطاق واسع في مؤتمرات الفيديو وألعاب الفيديو والبث المباشر. حيث يسمح بإسقاط الحزم الفردية واستلامها بترتيب مختلف للحصول على أداء أفضل.

بروتوكول HTTP ورموز الحالة

إذا كانت هناك مشكلة في طلب HTTP، فهناك قائمة برموز الحالة (Status Codes) التي تخبر المتصفح الخاص بك، حتى تتمكن من استكشاف الأخطاء وإصلاحها بشكل أفضل. تعتمد الطريقة التي يتعامل بها الوكيل أو المستخدم مع الاستجابة الى ذلك الكود وحقول رأس الاستجابة. على سبيل المثال، يعني الخطأ 404 أن المحتوى إما غير موجود أو تم نقله. أو مثال آخر شائع هو الخطأ 502 (Bad Gateway) والذي قد يعني أن اسم المجال لا يتحول إلى عنوان IP الصحيح أو أنه لا يشير إلى أي IP صحيح.

ما هو بروتوكول HTTPS؟

يرمز بروتوكول HTTPS الى بروتوكول نقل النص التشعبي الآمن أي Hypertext Transfer Protocol، ويشار إليه أيضاً باسم HTTP عبر TLS أو HTTP عبر SSL. عند إدخال https: // في شريط العنوان الخاص بك (URL) أمام المجال Domain، فإنه يخبر المتصفح بالاتصال عبر بروتوكول HTTPS للتصفح. والشكل التالي يوضح ظهور بروتوكول الـ HTTPS في شريط العنوان الخاص بمتصفحك، والذي تتصفح به موقع الكترونيات للجميع.



وبشكل عام، ستتم إعادة توجيه المواقع التي تعمل عبر HTTPS تلقائياً، لذا حتى إذا قمت بكتابة http: //، فسيتم إعادة التوجيه للتسليم عبر اتصال آمن، أي أنها ستتحول الى الاتصال الآمن عبر البروتوكول HTTPS. يستخدم HTTPS أيضاً بروتوكول TCP (بروتوكول التحكم في الإرسال) لإرسال واستقبال حزم البيانات، ولكنه يفعل ذلك عبر المنفذ 443، أي عبر البورت 443، ضمن اتصال مشفر بواسطة بروتوكول أمان طبقة النقل TLS.

نبذة تاريخية عن البروتوكول HTTPS

تم إنشاء HTTPS بواسطة Netscape Communications في عام 1994 لاستخدامه في متصفح الويبNetscape Navigator. كما أن بروتوكول HTTPS استخدم في الأصل بروتوكول الحماية SSL الذي تطور في النهاية إلى البروتوكول TLS، وهو الإصدار الحالي المحدد في RFC 2818 في أيار للعام 2000. ولهذا السبب قد تسمع بمصطلحات الـ SSL و TLS في بعض الأحيان وخاصة عند التعامل مع بروتوكول HTTPS.

طريقة ومبدأ عمل البروتوكول HTTPS

ينقل HTTPS أمان البيانات الخاص به باستخدام اتصال مشفر. يستخدم بشكل أساسي مفتاحاً عاماً ليتم بعد ذلك فك تشفيره من جانب المستلم. يتم نشر المفتاح العام على الخادم، ويتم تضمينه فيما يعرف على أنه شهادة SSL. يتم التوقيع على الشهادات بشكل مشفر بواسطة شهادة تصديق Certificate Authority أو (CA)، ويحتوي كل متصفح على قائمة بمراجع التصديق التي يثق بها ضمنياً. يتم منح أي شهادة موقعة من CA في القائمة الموثوق بها بقفل أخضر في شريط عنوان المتصفح، لأنه ثبت أنه "موثوق" وينتمي إلى هذا المجال. والجدير بالذكر هنا، أن هنالك شركات مثل Let's Encrypt قامت بجعل عملية إصدار شهادات SSL بشكل مجاني.

لماذا يفضل الانتقال من HTTP الى HTTPS؟

وفقاً لاستطلاع موقع شركة GlobalSign، يتخلى 84٪ من المتسوقين عن الشراء إذا تم إرسال البيانات عبر اتصال غير آمن. كما وأن 28.9٪ يبحثون عن شريط العنوان الأخضر (القفل الأخضر). لذلك، لا تقم أبداً بإدخال تفاصيل بطاقة الائتمان (الفيزا أو الماستر كارد أو غيرها) الخاصة بك على مواقع الويب التي تعمل عبر بروتوكول HTTP. الغرض الرئيسي من استخدام HTTPS هو لأسباب تتعلق بالأمان والخصوصية. عندما يتم تشفير البيانات، فهذا يعني أنه لا يوجد شيء يمر عبر الشبكة كما هو، أي بنص عادي Clear Text.

قد يتساءل الكثير من الأشخاص عما إذا كانوا بحاجة إلى عناء استخدام HTTPS على مواقع أصغر، مثل المدونات وغيرها، لكن تذكر دائماً، أنه حتى صفحة تسجيل الدخول الخاصة بك يجب أن تكون مشفرة!

ما هو بروتوكول SPDY؟

SPDY (يُنطق SPeeDY أي سبييدي) هو بروتوكول شبكة، تم تصميمه بواسطة Google بهدف جعل الويب أسرع. تم الإعلان عنه في الأصل في عام 2009. يتطلب SPDY استخدام SSL / TLS (مع امتداد TLS ALPN) للأمان ولكنه يدعم أيضاً التشغيل عبر TCP العادي. لكن هنالك بعض الميزات لهذا البروتوكول الرائع والتي سيتم ذكرها.

فوائد وميزات بروتوكول SPDY

1- يسمح للعميل والخادم بضغط عناوين الطلبات والاستجابة، مما يقلل من استخدام النطاق الترددي عندما يتم إرسال العناوين المماثلة (مثل X-Cache) مراراً وتكراراً لطلبات متعددة.

2- يسمح بطلبات متعددة عبر اتصال واحد، وبالتالي يوفر في عمليات النقل عبر الذهاب والإياب بين العميل والخادم. علاوة على ذلك، فإنه يتح ميزة منع الطلبات (البيانات) ذات الأولوية المنخفضة من تأخير الطلبات (البيانات) ذات الأولوية الأعلى.

3- يُمكِّن الخادم من دفع وتحويل الطلبات أو البيانات بشكل مسبق إلى العميل الذي سيحتاجها (مثل CSS والصور) دون انتظار أن يتم طلبها من قبل ذلك العميل.

ومع ذلك، في 11 شباط للعام 2016، أعلنت Google أن Chrome لن يدعم SPDY بعد الآن وذلك بسبب توفر بروتوكول HTTP /2

ما هو بروتوكول HTTP / 2؟

HTTP / 2 هو تحديث البروتوكول HTTP / 1.1 ومبني على تقنية الـ SPDY. تم تطويره بواسطة مجموعة العمل IETF’s HTTP، والتي تم نشرها في شهر أيار للعام 2015 وتم تعريفها في RFC 7540. ونظراً لدعم المستعرض لـ HTTP / 2، فإن بروتوكول HTTPS يعد وجوده أساسياً للاستفادة من تلك الميزة. ويتم في يومنا هذا توجه المزيد من العلامات التجارية والمواقع الكبرى الى الانتقال الآن إلى HTTP / 2.

ميزات وحسنات البروتوكول HTTP /2

فيما يلي بعض مزايا وفوائد البروتوكول HTTP / 2:

1- بروتوكول HTTP / 2 هو بروتوكول ثنائي (أي Binary) بدلالة 0 أو 1 وليس بروتوكول نصي.

2- إنه متعدد الإرسال بالكامل وفي نفس الوقت، بدلاً من الترتيب وتتالي قِطَع البيانات.

3- تعمل زيادة السرعة على تقليل أوقات رحلة الذهاب والإياب الإضافية Round Trip Times أو (RTT)، مما يجعل تحميل موقع الويب الخاص بك أسرع دون أن تلجأ الى أي تحسين.

4- يمكنه التفرع والتوازي في البيانات باستخدام اتصال واحد.

5- يستخدم آلية الضغط HPACK مع ترميز Huffman لتقليل وتخفيض العناوين Headers.

6- يسمح للخوادم "بدفع وتوجيه" الاستجابات بشكل استباقي ومسبق إلى ذاكرات العملاء المؤقتة بدلاً من انتظار طلب جديد لكل مورد (موقع).

7- يسمح امتداد إضافة ALPN الجديدة بعمل اتصالات مشفرة بشكل أسرع، حيث يتم تحديد بروتوكول التطبيق أثناء الاتصال الأولي.

8- لم تعد هناك حاجة إلى تجزئة النطاق ودمج الموارد أو البيانات مع HTTP / 2.

9- يعالج مشكلة حظر الخط الرئيسي (HTTP Head of line blocking) في HTTP / 1.1، والتي غالباً ما يشير هذا النوع من الحظر في HTTP / 1.1 إلى حقيقة أن كل عميل لديه عدد محدود من اتصالات TCP إلى الخادم (عادةً ما تكون 6 اتصالات لكل اسم مضيف) ويجب أن ينتظر إجراء طلب جديد عبر أحد هذه الاتصالات لإكمال الطلب السابق على نفس الاتصال قبل أن يتمكن العميل من تقديم طلب جديد.

ما هو الفرق بين HTTP و HTTPS؟

فيما يلي بعض الاختلافات الرئيسية بين بروتوكولات HTTP و HTTPS

1- عنوان بروتوكول HTTP في الـ URL (أي في شريط عناوين المتصفح) هو http:// وعنوان بروتوكول HTTPS في الـ URL هو https://.

2- يعد البروتوكول HTTP غير آمن بينما البروتوكول HTTPS يعد آمن.

3- يرسل HTTP البيانات عبر المنفذ 80 بينما يستخدم HTTPS المنفذ 443.

4- يعمل HTTP في طبقة التطبيق Application Layer، بينما يعمل HTTPS في طبقة النقل Transport Layer.

5- لا توجد شهادات SSL مطلوبة لـ HTTP، لكن مع HTTPS يلزم أن يكون لديك شهادة SSL وموقعة من قبل CA.

6- لا يتطلب HTTP التحقق من صحة المجال، بينما يتطلب HTTPS على الأقل التحقق من صحة المجال وبعض الشهادات تتطلب التحقق من صحة المستندات القانونية.

7- لا يوجد تشفير للبيانات المرسلة في HTTP، أما باستخدام HTTPS، فيتم تشفير البيانات قبل الإرسال.

نصيحة هامة حول بروتوكول http و https

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

author-img
العلم للجميع

تعليقات

ليست هناك تعليقات
إرسال تعليق
    google-playkhamsatmostaqltradent