ساده ترین راه برای یادگیری پروتکل های HTTP و HTTPS
هر زمانی که گوگل یک اولویت جدید برای نتایج جستوجو میزارد وبسایتها مجبور میشن که خودشون رو باهاش وفق بدن.
پس دور از انتظار نیست که زمانی که گوگل اعلام کرد وبسایتهایی که از پروتوکل گواهینامه SSL یا پروتوکل HTTPS استفاده میکنند، در نتایج جستوجو نسبت به وبسایتهای دیگر اولویت دارند، وبسایتها به جای استفاده از HTTP از پروتکل HTTPS استفاده کنند.
در این مقاله نیز سعی میکنیم به طور ساده اصول طراحی پروتکلهای HTTPS و HTTP را بیان کنیم.
قبل از اینکه به بررسی این دو پروتکل بپردازیم و عمیق تر بررسی کنیم میخواهیم به معنای کلمه پروتکل بپردازیم و بفهمیم که پروتکل چیه اصلا.
پروتکل چیست؟
پروتکل مجموعهای از قوانینی است که ما برای اهداف خاص از آنها استفاده میکنیم. در علم ارتباطات هنگامی که ما در موردپروتکلها صحبت میکنیم، منظور روشی است که ما با هم ارتباط برقرار میکنیم به عنوان مثال، وبسایت ما در مقالات از زبان فارسی استفاده میکند چون کاربرهای ما و نویسنده ها فارسی را مفهمند در این مثال زبان فارسی یک پروتکل است.
هنگامی که وبسایت ما مقالات رو با زبانی بنویسیم که شما اون رو نمیدونید پروتکل هدف تغییر کرده است. و یکی از طرفین این ارتباط را درک نمیکند و نمیفهمد بنابراین برای تکمیل ارتباط ما به هر دو طرف احتیاج داریم که با مجموعهای از قوانین برای برقراری ارتباط موافقت کنند. پروتکل، در این حالت برای ارتباط است.
پس پروتکلها مجموعهای از قوانینی هستند که توسط کامپیوترها مورد استفاده قرار میگیرند تا کامپیوترها بتوانند با یکدیگر ارتباط برقرار کنند.
اولین، مهمترین و قابل مشاهده ترین پروتکلی که به چشم کاربران میخوره پروتکلهای HTTP و HTTPS هستند.
HTTP چیست؟
HTTP یک پروتکل انتقال ابر متن است.(Hyper Text Transfer Protocol) به عبارت سادهتر مجموعهای از قوانین برای انتقال پیامهای مبتنی بر متن است.
همانطور که همه ما میدونیم رایانه ها با زبان دودویی(0,1) کار میکند. بنابراین هر کلمه یک مجموعه از 0,1 ها است.
به طور مثال اگر ما بخواهیم ‘م’ را بنویسیم اگر 0 مخفف ‘م’ باشد، و ‘1’ مخفف ‘ن’ باشد. میتوان نتیجه گرفت که با استفاده از ترکیبی از 0,1 میتوان کلمه ساخت. در این پروتکل متن از قبل ساخته شده است و بر روی سیم ارسال میشود.
رایانه روی بسیاری از زبانها کار میکند. از جمله باینری خالص ، متن و برخی از قالب های دیگر مانند کدهای بایت. در اینجا، آنچه منتقل میشود “متن” است.
به این دلیل روی “متن” تاکید میکنم، زیرا این متن توسط مرورگر تعبیر میشود و لحظه ای که مرورگر آن را تفسیر میکند، به ابر متن(Hyper Text) تبدیل میشود، و پروتکل انتقال متن به پروتکل انتقال ابر متن (Hyper Text Transfer Protocol) یا HTTP گفته میشود.
با استفاده از HTTP قطعا میتوانید تصاویر، متن و حتی صدا را انتقال دهید، اما فیلم را نمیتوان انتقال داد.
HTTPS چیست؟
پروتکل امن انتقال ابر متن (Hyper Text Transfer Protocol Secure) یا HTTPS نسخه امن HTTP است، این پروتکل مسیر ارتباط بین مرورگر شما و وبسایتی که به آن متصل هستید را رمزگزاری کرده و با این روش ارتباط شما را امن میکند.
در حال حاضر وبسایتها به استفاده از این پروتکل روی آوردهاند.
اهمیت HTTPS چیست؟
ما میدانیم چیزی که منتقل میشود یک متن است. برای درک اهمیت یک پروتکل HTTPS باید بدانیم که روترهای wifi چگونه کار میکنند. و برای این کار از مثال زیر استفاده میکنیم.
فرض کنید شما در فرودگاه هستید و به wifi که متعلق به یک شخص ثالث است وصل میشوید. حالا، هنگام ارتباط با HTTP، متن توسط روتر منتقل میشود. و اگر به نسخهی روتر مراجعه شود، میتوانیم به راحتی متنی که منتقل شده است را ببینیم و آنرا بررسی و مطالعه کنیم. حال اگر شما با استفاده از این wifi رمزی را وارد کرده باشید، این رمز در روتر wifi موجود است، و به راحتی میتوان آنرا دید، و از آن برای کلاهبرداری استفاده کرد.
حال نکتهای که وجود دارد. میتوان با استفاده از حملات man in the middle ارتباطاتی که توسط این پروتکل انجام میشوند را شنود کرد. پس اساسا پروتکل HTTP نا امن است. و این دلیلی است که ما باید از HTTPS استفاده کنیم. حال برای امن کردن ارتباطاتمون باید از سایتهای HTTPS استفاده کنیم. که این سایتها دادههای ما را رمز گذاری کرده و با این کار دادههای ما امن است.
در واقع، برای پیاده سازی یک اتصال امن پیشرفته برای کاربران، در سال 2014 غول موتور جستوجو HTTPS را به عنوان یک مزیت در رتبه بندی اعلام کرد. و در عکس پایین میتوانیم ببینیم که صنعتهای مختلف چطور به این سیاست جواب داده اند.
دانشجوی کارشناسی مهندسی کامپیوتر