از زمانی که وب سایت ها خلق شدند تا کنون، پروتکل انتقال Hypertext یا HTTP وجود داشته است. با این حال، در سال 1994، HTTPS معرفی شد، که شامل امنیت بیشتر برای وب سایت ها و کاربرانشان می شد. از همان زمان، در رسانه های مختلف از اهمیت انتقال و مهاجرت از HTTP به HTTPS برای وب سایت ها مطالب زیادی مطرح شد.
با اینکه در سالیان ابتدایی سوال تفاوت بین این دو پروتکل برای برخی از صنایع کسب و کارها بسیار مهم بود ( مثل خدمات مالی )، اما حتی امروز نیز برای وب سایت های زیادی این موضوع سوال برانگیز است. در این مطلب به شما آموزش خواهیم داد تا در کنار آشنایی کامل به هر دو پروتکل، بتوانید از HTTP به HTTPS مهاجرت کنید.
HTTP و HTTPS چه هستند؟
HTTP پروتکلی برای انتقال داده ها بین یک منبع وب و یک سرور بر بستر اینترنت است. به کمک این پروتکل، درخواست های کاربران ( از طریق مرورگر )، به دست سرور خواهد رسید، که سپس سرور پاسخ مناسب را برای آنها تولید کرده و از طریق مرورگر به کاربر نمایش می دهد. این کار به یک سری قوانین برای انتقال داده ها نیاز دارد.
HTTPS اساساً همان پروتکل اما با یک افزودنی است. HTTPS یک افزونه یا extension به نام SSL دارد. این گواهینامه امنیت داده های انتقالی در شبکه را تضمین می کند.
منظور از درخواست HTTP چیست؟
درخواست های HTTP با تعاملات کاربران در هر قسمت از سایت توسط مرورگر آنها تولید می شوند. برای مثال، اگر کاربری روی یک لینک درون سایت کلیک کند، مرورگر یک سری درخواست HTTP GET برای دریافت محتوا و نمایش آن در صفحه ارسال خواهد کرد.
اگر کسی در گوگل سرچ کند که درخواست HTTP چیست و سپس این مقاله نمایان شود، هر بار که کاربر روی لینک نتیجه گوگل کلیک کند، مرورگر درخواست های لازم را برای دریافت اطلاعات مورد نیاز به سمت سرور ارسال می کند تا صفحه را به اصطلاح Render کند.
این درخواست های HTTP همه یا به سمت سرور اصلی یا Origin و یا به سمت سرورهای پروکسی کش هدایت خواهند شد. سپس سرورها پاسخ های http را تولید و ارسال خواهند کرد.
هرچه فاصله بین مرورگر کاربر و سرورها بیشتر باشد، زمان لود صفحات بیشتر خواهد شد. به همین دلیل است که وب سایت های حرفه ای امروزی از تکنولوژی های DNS ابری و CDN ابری که از قابلیت Anycast بهره می برند، استفاده می کنند تا زمان لود صفحات سایتشان را به کم ترین حد ممکن برسانند.
HTTP و HTTPS چطور عمل می کنند؟
بهتر است قبل از آشنایی با نحوه عملکرد درخواست های HTTP به نمونه ای از این درخواست ها توجه کنید:
متن فوق توسط مرورگر یک کاربر تولید می شود؛ این درخواست های GET در سراسر اینترنت مداوماً در حال ارسال هستند. اما مشکل اینجاست که اگر به این صورت ارسال شود، هر شخصی می تواند با دستیابی به آن، اطلاعات درونش را بخواند.
این موضوع بخصوص زمانی اهمیت خود را نشان می دهد که کاربران اطلاعات بانکی خود را وارد کنند؛ و یا اطلاعاتی نظیر پسوردها و اطلاعات هویتی درون فرم ها. با پروتکل HTTP این اطلاعات در قالب یک متن خام توسط هر شخصی قابل مشاهده است.
زمانی که یک سرور Origin یک درخواست HTTP را دریافت می کند، یک پاسخ HTTP شبیه به این بر می گرداند:
اگر سایتی بجای HTTPS از HTTP استفاده کند، تمام درخواست ها و پاسخ های مرتبط با آنها می توانند توسط افرادی که دانش کافی در این زمینه را دارند، مشاهده شوند. هکرها به همین شیوه به اطلاعات حساس سایت ها حمله می کنند.
اما HTTPS چطور؟
حرف S در عبارت HTTPS به معنای امن یا Secureاست. این پروتکل از SSL و یا TLS برای رمزنگاری درخواست ها و پاسخ های HTTP استفاده می کند. بنابراین در مثال فوق، بجای یک متن خام، مهاجم با چندین کارکتر تصادفی مواجه خواهد شد؛ چیزی شبیه به این:
HTTP تبادل داده های رمزنگاری نشده را هموار می کند، که ممکن است اطلاعات در این بین توسط شخص ثالثی دستکاری شود. بنابراین، برای مثال داده های تسویه حساب شخصی در یک وب سایت می توانند توسط هکرها در زمان ارسال به سرور به سرقت روند.
HTTPS چه کمکی به ما خواهد کرد؟
این پروتکل به ما کمک می کند تا اطلاعات انتقالی را در قالبی رمزنگاری شده ارسال و دریافت کنیم تا از خوانده شدن آنها توسط دیگری جلوگیری کنیم.
TLS یا SSL چطور می توانند درخواست ها و پاسخ ها را رمزنگاری کنند؟
TLS از یک تکنولوژی به نام Public key encryption یا رمزنگاری کلید عمومی استفاده می کند.
دو نوع کلید وجود دارد: کلید عمومی و کلید خصوصی
در این پروسه، کلید عمومی بین دستگاه کاربران و سرور از طریق گواهینامه SSL به اشتراک گذاشته می شود. زمانی که کاربر با سرور ارتباط برقرار می کند، هر دو دستگاه از کلیدهای عمومی و خصوصی برای توافق بر تولید یک کلید جدید استفاده می کنند تا ارتباطات آتی بین خود را رمزنگاری کنند.
توصیه می کنیم برای درک بهتر این موضوع مقاله آشنایی کامل به کلیدهای عمومی و خصوصی را مطالعه کنید.
تمام درخواست های HTTP و پاسخ های آن ها، در ادامه به کمک این کلیدها رمزنگاری می شوند؛ پس هر شخص ثالثی که قصد دستیابی به این داده ها را داشته باشد، تنها می تواند یک رشته کارکتر بی معنا را مشاهده کند.
تفاوت اصلی بین HTTP و HTTPS
تفاوت اصلی بین این دو پروتکل وجود گواهینامه SSL با HTTPS است.
گواهینامه SSL یک تکنولوژی محافظت از داده هاست که به شیوه کلیدهای رمزنگاری عمل می کند. این کلیدها بین سرور و مرورگر تنظیم و رد و بدل می شوند. اما چرا سایت های HTTPS امن تر هستند؟
اطلاعاتی که از یک کاربر ( صفحات، لاگین ها، اطلاعات کارتی و ...) منتقل می شوند، رمزنگاری شده و نمی تواند توسط دیگری خوانده شود. هر بازدید جدیدی که از سایتی با HTTPS انجام شود، یک اتصال امن بین سرور و مرورگر ایجاد می کند.
اهمیت HTTPS در چیست؟
مهم ترین فاکتورهای استفاده از HTTPS عبارتند از:
- اتصالات HTTPS از داده های شخصی کاربران از طریق افزایش امنیت در شبکه، محافظت می کند. این محافظت باعث ایجاد اعتماد کاربر و البته وفاداری وی به برند خواهد شد.
- در ماه می 2018، مقررات محافظت از داده ها توسط سازمان EU به یک قانون اجباری تبدیل شد. این قانون جمع آوری و پردازش امن داده های دریافتی از کاربران را در اتحادیه اروپا اجباری می کند. یکی از اصول این قانون حفظ محرمانگی و امانت داری داده های ارسالی کاربران به یک وب سایت را ضروری می شمارد. پس سایتی که به شهروندان اروپایی خدمت رسانی می کند، می بایست موارد امنیتی خود را ارتقا دهد. به خصوص اتصالات داده ای امن تر.
- از سال 2014، پروتکل HTTPS به عنوان یکی از فاکتورهای رتبه دهی گوگل نیز معرفی شد. امروزه اغلب 5 وب سایت اول در اکثر درخواست ها از گواهی HTTPS استفاده می کنند.
- از JULY سال 2018، مرورگر کروم وب سایت هایی که از SSL استفاده نمی کنند را به عبارت " ایمن نیست" برچسب می زند.
- این برچسب بسیاری از کاربران را از وارد کردن اطلاعات شخصی در چنین وب سایت هایی منع می کند.
- برخی از فیچرهای فنی امروزی نیز با وب سایت های HTTPS هم خوانی ندارند؛ برای مثال، تکنولوژی Web push تنها برای وب سایت هایی پشتیبانی می شود که دارای SSL هستند.
بنابراین انتقال از یک اتصال نا امن به اتصالی محافظت شده، از سرقت اطلاعات جلوگیری کرده، معیارهای سئو را بهبود بخشیده، از وقوع دعاوی قانونی جلوگیری کرده، به نمایش و ارائه محصولات کمک کرده و قابلیت های فنی را گسترش می دهد.
مزایا و معایب HTTPS
ابتدا بگذارید با مزایای HTTPS بیشتر آشنا شویم:
- افزایش امنیت وب سایت: با اینکه این پروتکل به تنهایی قادر به مقابله با تمام خطرات احتمالی و حملات هکرها نیست، اما از طریق رمزنگاری اتصالات، امنیت پایه ای را در برابر سرقت داده فراهم می کدد. برای رسیدن به بالاترین سطح امنیت در کنار HTTPS می توانید از سرویس های امنیت ابری میزبان کلود از جمله WAF، Firewall، Rate limiting و غیره استفاده کنید.
- شانس پیشرفت در رتبه بندی گوگل: مسلماً گوگل سایت هایی که اتصالات امن تر را تضمین می کنند، ترجیح می دهد، که این ترند هر ساله بیشتر و بیشتر اهمیت پیدا می کند. هیچ دلیل منطقی ای برای از دست دادن رقابت وجود ندارد.
- محافظت از داده ها برای دستگاه های موبایل: این موضوع به خصوص برای این روزها که استفاده از گوشی های همراه برای اتصال به اینترنت بسیار رواج یافته، اهمیت بسیار زیادی پیدا کرده است.
- مشتریان به سایتی که سطوح امنیتی بالایی دارد بیشتر اعتماد می کنند: بر اساس داده های جمع آوری شده از نظرسنجی ها، بیش از 80% از خریداران از وب سایت های نا امن خرید نمی کنند.
- دسترسی به تکنولوژی های جدید: یکی از این تکنولوژی ها پوش نوتیفیکیشن ها هستند؛ تکنولوژی های Geolocation و Progressive Web Apps تنها برای سایت های HTTPS مهیا هستند.
حال به چند مورد از معایب این پروتکل اشاره خواهیم کرد:
ایجاد اتصال امن به خرید گواهینامه SSL نیاز دارد. امروزه سطوح متفاوتی از گواهینامه ها وجود دارند که با توجه به نیاز هر کسب و کار، می توانند کارکرد متفاوتی داشته باشند.
سرورها به زمان بیشتری برای پردازش اطلاعات رمزنگاری شده نیاز خواهند داشت، که ممکن است تأثیر اندکی بر عملکرد سایت بگذارد.
سایت های جدید معمولاً با HTTPS ساخته می شوند، اما با این حال سایت های بسیار زیادی هستند که هنوز از HTTP استفاده می کنند. تبدیل از HTTP به HTTPS می تواند پروژه ای زمان بر باشد، اما بسیاری از شرکت ها متوجه شده اند که نتیجه نهایی ارزش های زیادی را برایشان به ارمغان آورده است.
تاثیر HTTPS بر سئو
نه تنها گوگل به تمام سایت ها پیشنهاد می کند که برای ارتقای سطوح امنیتی از HTTPS استفاده کنند، بلکه این سایت ها را با یک افزایش رتبه حداقلی در SERP تشویق می کند.
در واقع در یک تحقیق که توسط Rank Ranger در سال 2018 انجام شد، 70% نتایج صفحه اول گوگل سایت هایی بودند که از https استفاده می کردند.
بگذارید کمی دقیق تر به این موضوع نگاه کنیم.
برای مثال ممکن است یکی از سایت های رقبای شما از جنبه های مختلفی دقیقا شبیه به سایت شما باشد؛ مثل سرعت، محتوا، تعداد بک لینک و غیره. با این وجود، سایت رقیب از http و سایت شما از https استفاده کند.
برنده در این رقابت مشخص است.
با توجه به الگوریتم های گوگل سایت شما به احتمال بسیار زیاد از رقیب تان رتبه بالاتری خواهد گرفت.
سرعت و عملکرد پس از فعالسازی HTTPS
یکی دیگر از مزایای بکارگیری HTTPS این است که سایت ها به کمک آن سریعتر لود می شوند؛ بخصوص زمانی که سروری که از HTTP/2 پشتیبانی می کند، از سایت میزبانی کند.
HTTP/2 از رمزنگاری HTTPS پشتیبانی کرده و پروتکل های امنیتی آن را تکمیل می کند. در کنار سایر کارکردهای این پروتکل، HTTP/2 تأخیر را با مصرف کمتر منابع و افزایش اثربخشی پهنای باند، به حداقل می رساند.
این موضوع سرعت سایت ارتقا داده و عملکرد نرم تری را در مقایسه با پروتکل HTTP برای صاحبین سایت به ارمغان خواهد آورد.
بعلاوه HTTPS برای بارگذاری سایت در دستگاه های موبایل نیز عملکرد بهتری خواهد داشت. بخصوص زمانی که سایت از AMP استفاده کند. AMP یکی از فریم ورک های عناصر وب است که توسط گوگل عرضه شده و تجربه کاربری دستگاه های موبایل را به شدت بهبود می بخشد.
نحوه تشخیص HTTPS توسط کاربران
اگر کاربر از مرورگر کروم استفاده کند، پس از وارد کردن آدرس سایت، توسط کروم از ورود به سایت نا امن منع می شود؛ چراکه این مرورگر سایت های غیر از HTTPS را باز نخواهد کرد. البته کاربر می تواند هشدار را نادیده گرفته و با صلاحدید خود وارد وب سایت مورد نظر شود.
اما اگر کاربر از کروم استفاده نکند، می تواند با دقت به آدرس بار مرورگر خود، متوجه وجود HTTP یا HTTPS سایت شده و تصمیم گیرد که سایت را بازدید کند یا نه
در چند سال اخیر، یک قفل سبز رنگ در کنار آدرس سایت ها قابل مشاهده بود؛ اما ظاهراً این رنگ ها دیگر مورد استفاده قرار نمی گیرند ولی از عبارت Secure مشخص است که سایت امن است یا نه.
چطور از HTTP به HTTPS مهاجرت کنیم؟
تا اینجا با هر دو پروتکل و تفاوت های آنها آشنا شدیم و به برخی از مزایای انتقال از HTTP به HTTPS اشاره کردیم. ممکن است تصور کنید که فرآیند تغییر از HTTP به HTTPSسخت باشد؛ اما در واقعیت این چنین نیست و فقط ممکن است انجام این فرآیند کمی زمانبر باشد.
قبل از تغییر به HTTPS باید یک سری فرآیندهای پیش نیاز را سپری کرد. این تغییر به معنای تغییر URL یا آدرس وب سایت خواهد بود. پس باید تمام لینک های داخلی را از Absolute به relative تغییر داد. اگر محتوای وبسایت ( لینک های داخلی و تصاویر ) بتوانند به درستی باز شوند، می توانید یک گواهینامه SSL خریداری کنید.
اما خبر خوب اینجاست...
به کمک میزبان کلود می توانید به ساده ترین شکل ممکن سایت خود را از HTTP به HTTPS تغییر دهید. برای اینکار کافیست به پنل کاربری خود در میزبان کلود وارد شده و از بخش تنظیمات HTTPS با یک کلیک اتصالات بین مرورگر کاربران و سرورهای لبه و یا سرورهای لبه با سرور اصلی را رمزنگاری و ایمن کنید.
منظور از سرورهای لبه، سرورهای پروکسی کشی هستند که پس از فعالسازی CDN ابری میزبان کلود برای دامنه شما فعال خواهند شد. در صورتی که هنوز CDN میزبان کلود را برای دامنه خود فعال نکرده اید، پیشنهاد می کنیم به صفحه مربوطه مراجعه کرده و پس از آشنایی با قابلیت های این سرویس پیشرفته اقدام به پیاده سازی آن کنید.
علاوه بر این می توانید به یک کلیک تمام آدرس های سایت خود را از HTTP به HTTPS ریدایرکت کنید و یا قابلیت TLS را برای سایت خود فعال کنید.
چطور یک گواهی SSL انتخاب کنیم؟
انتخاب گواهینامه SSL به دو چیز بستگی دارد:
- چه نوع داده هایی جمع آوری می کنید؟ فقط نام و ایمیل، یا اطلاعات مالی ؟
- چه خدماتی ارائه می کنید؟ یک فرم عضویت در بلاگ یا یک فروشگاه آنلاین؟
یک گواهی SSL فایلی است که شامل یک کلید رمزنگاری برای داده های انتقالی بین سرور و مرورگر وب است. این کلید برای سازمانی که گواهینامه را خریداری می کند، مهیا می شود.
انواع گواهینامه ها
پنج نوع گواهینامه SSL وجود دارد:
- DV یا Domain Validated
- OV یا Organization Validated
- EV یا Extended Validated
- Wildcard
- Multi-Domain
DV ساده ترین گواهی است. برای فعالسازی آن به هیچ سندی احتیاج نیست. تنها مالکیت دامنه چک می شود.
این گواهی برای سایت هایی مناسب است که عملکرد پرداختی درون خود ندارند. پس تنها داده هایی که از کاربران در این وب سایت ها دریافت می شود، نام و آدرس ایمیل است.
گواهی OV معمولاً توسط فروشگاه های اینترنتی مورد استفاده قرار می گیرد؛ برای گرفتن یک گواهی OV SSL باید مستندات معتبر شرکتی یا شخصی ارائه شود. از جمله هویت آنها، مالکیت سایت، آدرس فیزیکی، و شماره تلفن.
سپس یک گواهی نامه و مهر اعتماد ثبت شده و پس از اضافه شدن آن به وب سایت ، کاربران امنیت بیشتری احساس خواهند کرد.
برخی از برندهای خاص، مثل سازمان های ملی از EV SSL استفاده می کنند؛ این گواهی نامه ها بالاترین سطح اعتماد را تضمین کرده و برای کسب آن به اقدامات بیشتری از سوی سازمان احتیاج است. پس از فعالسازی این گواهی، کاربران می توانند نام سازمان و نوع گواهی کسب شده را تنها با کلیک بر روی قفل کنار آدرس بار چک کنند.
اگر وب سایتی دارای ساب دامنه های زیادی باشد، بهتر است از گواهی Wildcard استفاده کند؛ این گواهی از تمام سطوح اولیه ساب دامنه ها محافظت می کند. اگر دامنه های بیشتری دارید نیز می توانید از گواهی multi-domain استفاده کنید. این گواهی مقرون به صرفه تر از زمانی است که بخواهید برای هر کدام از دامنه ها گواهی جداگانه ای کسب کنید.
لازم به ذکر است که SSL نیز در سالیان اخیر پیشرفت هایی را تجربه کرده و با پروتکلی به نام امنیت لایهی انتقال (TLS) جایگزین شده است؛ TLS نسخه پیشرفته تر این گواهی بوده و می تواند سطوج امنیتی را بهتر تقویت کند. پیشنهاد می کنیم مقاله مرتیط با TLS را کامل مطالعه کنید.
چطور عملکرد سایت پس از فعالسازی HTTPS را بهبود بخشیم؟
نصب گواهینامه بر روی یک سایت جدید به مراتب آسان تر از سایتی قدیمی است. چراکه بر ترافیک فعلی تأثیر خواهد گذاشت. اگر سایتی به طور فعال در موتورهای جستجو رتبه کسب کرده باشد، در صورتی که برای این مهاجرت اقدامات لازم را انجام نداده باشید، ممکن است ترافیک زیادی را از دست دهید.
برای مهاجرت به HTTPS باید ابتدا این تنظیمات را برای سایت خود پیاده سازی کنید:
- آدرس های HTTP را به HTTPS ریدایرکت کنید.
- وب سایت را مجددا به سرچ کنسول اضافه کنید.
- یک هدف یا target جغرافیایی تنظیم کنید.
پس از تغییر به HTTPS لینک های داخلی سایتتان را چک کنید. این موضوع ضروری است که آنها را آپدیت کرده و به سایت HTTPS ریدایرکت کنید. در غیر این صورت، ممکن است بازدیدکنندگان با ارورهایی مثل "این صفحه در دسترس نیست" مواجه شوند.
آپدیت کردن لینک های داخلی یکی از اصلی ترین قدم های استفاده از لینک های Absolute است. مثل: https://www.yoursite.com/page-title
این URL ها شامل آدرس کامل سایت هستند، از پروتکل تا نام دامنه و فولدرهای درون صفحات.
جمع بندی
محافظت از داده های کاربران یک مسئولیت از جانب صاحبین وب سایت هاست. مهاجرت از http به https مزایای بسیاری بهمراه خواهد داشت، هم از لحاظ امنیت و هم از لحاظ ارتقای تصویر برند. با پروتکل https سایت شما می تواند در گوگل بهتر رقابت کرده و به شما کمک می کند تا از جدیدترین تکنولوژی ها بهره مند شوید.
در این مطلب به طور مفصل در خصوص تفاوت بین http و https توضیحاتی ارائه شد و راهکار بهینه و ساده برای استفاده از https نیز در اختیار شما قرار گرفت؛ امیدواریم این مطلب برای شما مفید واقع شده باشد.
ارائه دهنده خدمات زیرساخت یکپارچه ابری