وقتی ما یک صفحه وب را از سرور درخواست میکنیم، مرورگر اینترنت ما از طریق یک راه ارتباطی یا همان پروتکل به سایت مورد نظر ما متصل میشود. برای درخواست یک صفحه وب دو پروتکل رایج وجود دارد که یک پروتکل با نام HTTP و دیگری با نام HTTPS شناخته میشوند.
پروتکل HTTP نسبت به HTTPS قدمت بیشتری دارد و تا امروز سایتهای زیادی در سراسر دنیا از آن استفاده کردهاند یا در حال استفاده از آن هستند. اما امروزه کارشناسان امنیت و حتی سایتهای جستجو توصیه میکنند که تمامی سایتها به پروتکل امنتر HTTPS مهاجرت کنند. به طوری که در حال حاضر HTTPS یکی از موارد مهم در فرآیند سئو به شمار میرود و موتورهای جستجو و مرورگرهای اینترنت تاکید خاصی بر استفاده از این پروتکل به جای پروتکل HTTP دارند.
در این مطلب قصد داریم تا با این پروتکل بیشتر آشنا شویم.
تفاوت HTTP و HTTPS
HTTP مخفف Hypertext Transfer Protocol است، که همانطور که در بالا هم اشاره کردیم از این پروتکل در شبکه (اینترنت) برای ارسال و دریافت Hypertext یا همان صفحات وب استفاده میشود. اما واژه S که در پایان واژهی HTTP اضافه شده و HTTPS را تشکیل داده به معنای Secure (امن) است. یعنی HTTPS نسخهای امنتر از HTTP است. اما بگذارید کمی بیشتر وارد جزئیات این پروتکلها شویم تا درک بهتری از آنها پیدا کنیم.
پروتکل HTTP به طور پیشفرض از طریق پورت شمارهی 80 هر سرور بر بستر مدل TCP/IP فعالیت خود را انجام میدهد، که یک مدل امن برای انتقال اطلاعات در شبکه است. اما اطلاعاتی که در آن جابجا میشوند، به صورت متن ساده (PlainText) انتقال پیدا میکنند و اگر کسی بتواند در میانهی راه این اطلاعات را شنود کند، به راحتی در جریان اطلاعات عبوری قرار خواهد گرفت.
این بدان معنی است که اگر شما بخواهید به یک سایت که از پروتکل HTTP استفاده میکند وارد شوید، تمام اطلاعاتی که برای سایت از جمله نام کاربری و رمز عبور ارسال میکنید به صورت یک متن ساده که برای مثال شامل نام کاربری example و رمز عبور 123456 است، به سرور هدف ارسال میشود.
حال اگر یک هکر بتواند اطلاعات شما را شنود کند، به راحتی نام کاربری و رمز عبور را بدست میآورد و میتواند از آن سواستفاده کند.
کاملا واضح است که اگر چنین پروتکلی در سایتهایی مانند درگاههای پرداخت استفاده شود، تمام اطلاعات از جمله نام کاربری و رمز عبور ورود به سامانه، رمز دوم، CVV2 و سایر اطلاعات کارت بانکی شما به راحتی به دست هکر میافتد.
اما شاید این موضوع برای یک بلاگ ساده یا یک کسب و کار کوچک، به ظاهر بی اهمیت باشد. اما در نظر داشته باشید که اگر نام کاربری و رمز عبوری که برای این سایت استفاده کردهاید، اطلاعات ورود به بسیاری حسابهای دیگر باشد، در کنار در خطر افتادن سایت، تمامی اطلاعات شما به خطر میافتد.
برای حل کردن این مشکل و جلوگیری از سو استفادههای احتمالی، راهکار رمزگذاری اطلاعات ارسالی و دریافتی میان کاربر و سرور پیشنهاد داده شد که حاصل آن به وجود آمدن پروتکل HTTPS است.
این پروتکل نیز بر بستر TCP/IP فعالیت میکند اما به طور پیشفرض از پورت شمارهی 443 استفاده و علاوه بر آن، اطلاعات ارسالی و دریافتی میان سایت مورد نظر و کاربر را توسط SSL/TLS رمزگذاری میکند.
بدین ترتیب اگر نام کاربری و رمز عبور را برای مثال همان example و 123456 در نظر بگیریم، اگر یک نفر بتواند اطلاعات را شنود کند تنها با یک متن Hash شده (رمزنگاری شده) و عجیب شبیه به 127e6fbfe24a750e72930c220a8e138275656 مواجه میشود، که رمزگشایی آن امری بسیار دشوار است. به این ترتیب احتمال هک و سواستفاده از اطلاعات بسیار کمتر میشود.
اهمیت HTTPS در سئو و تجربه کاربران
بر اساس آماری که تا ماه آوریل 2018 تنظیم شده است، ۳۲.۲ درصد از ۱ میلیون وب سایت اول الکسا از پروتکل HTTPS به صورت پیشفرض استفاده میکنند. همچنین این آمار نشان میدهد ۵۷.۱ درصد از بیش از ۱۳۰ هزار سایت محبوب در جهان بر بستر HTTPS پیاده سازی شدهاند و فایرفاکس نیز آماری منتشر کرده که نشان دهنده آمار بارگذاری ۷۰ درصدی برای سایتهای دارای HTTPS است.
در سال ۲۰۱۴ گوگل نیز رسما اعلام کرد HTTPS یکی از فاکتورهای رتبهبندی سایتها در گوگل به شمار میرود. غیر از تاثیر مستقیم در رتبه، HTTPS باعث بهبود تجربهی کاربری نیز میشود و از این طریق تاثیر غیر مستقیم نیز بر فاکتورهای سئو خواهد داشت.
اکثر مرورگرهای اینترنت نیز سایتهای دارای این پروتکل را امنتر میدانند و در نسخههای اخیر حتی تغییراتی غیر از قفل سبز رنگ در ظاهر آن ها ایجاد شده تا کاربران را نسبت به استفاده از سایتهای HTTPS بیشتر ترغیب کند. برای مثال مرورگر گوگل کروم همانطور که در تصویر زیر نیز مشاهده میکنید، از نسخه 68 به بعد سایتهایی که از پروتکل HTTPS استفاده نمیکنند را با عنوان Not secure برچسب گذاری میکند.
بهطور کلی دنیای وب در سالهای آینده به سمت جهانی تماما HTTPS میرود و قطعا استفاده از این پروتکل به جای پروتکل HTTP یک مزیت بسیار مهم محسوب میشود.
چگونه سایت خود را به HTTPS انتقال دهیم؟
در سالهای گذشته انتقال سایت به HTTPS به دلیل هزینهها و دردسرهای مختلف آن امری تقریبا دشوار بود. اما اکنون میتوان آن را بهتر مدیریت کرد. پیش از این درباره اینکه چگونه یک سایت وردپرس را به HTTPS انتقال دهیم صحبت کردیم اما باید چند نکته درباره HTTPS و گواهی SSL اضافه کنیم.
پروتکل HTTPS عموما از گواهی SSL برای رمزگذاری اطلاعات استفاده میکند که باید برای گرفتن گواهی SSL همانند ثبت دامنه به صورت سالانه مبلغی را پرداخت کنید.
گواهی SSL انواع مختلفی مثل Extended Validation SSL Certificate یا Domain Validation SSL Certificate با قیمتهای متفاوت دارد که در برخی موارد مثل نمایش نام کمپانی در نوار سبز رنگ مرورگر، پشتیبانی از چند دامنه و فعال بودن Wildcard با یکدیگر متفاوتاند و شما باید با توجه به نیاز مجموعهی خود از طریق شرکتهای ارائه دهنده خدمات هاستینگ و ثبت دامنه اقدام به خرید این گواهی کنید.
البته یک راهکار رایگان نیز برای استفاده از SSL به طور ساده وجود دارد و آن هم استفاده از سرویس Let’s Encrypt است که توسط برخی شرکتهای هاستینگ ارائه میشود.
این راهکار سادهترین راه استفاده از SSL است اما شرایط استفاده از آن نیز بسته به نوع سایت ممکن است متفاوت باشد. به همین دلیل ممکن است برخی سایتها نتوانند از آن استفاده کنند و مجبور به پرداخت هزینه برای خرید گواهی SSL باشند.
در مطالب گذشته راجع به حل ارور HTTP به شکل کامل صحبت کردیم.