تفاوت های HTTP و HTTPS در چیست؟

تفاوت های HTTP و HTTPS در چیست؟

HTTP مخفف Hypertext transfer protocol است. به زبان ساده می توان گفت، HTTP به معنی قوانین ارسال و دریافت پیام های متنی است. پروتکل HTTP متکی به پروتکل کنترل انتقال یا TCP اینترنت است و برای انتقال داده های درخواست شده توسط کاربر از سرور استفاده می شود. همین امر، پروتکل HTTP را به یکی از اساسی ترین پروتکل های شبکه اینترنت تبدیل کرده است. 

HTTPS چیست؟
HTTPS مخفف عبارت Hyper Text Transfer Protocol Secure است. این نسخه بسیار پیشرفته و امنتر از HTTP است. از پورت 443 برای ارتباط داده استفاده می کند. این امکان را فراهم می کند که با رمزگذاری ارتباطات با SSL، معاملات امن انجام شود. این ترکیبی از پروتکل SSL / TLS و HTTP است. یک سرور شبکه ایمن و رمزگذاری شده را ارائه می دهد.
HTTP همچنین به شما امکان ایجاد ارتباط رمزگذاری شده ایمن بین سرور و مرورگر را می دهد. با این کار امنیت هر دو طرف حفظ می شود و به شما کمک می کند تا از سرقت اطلاعات مهم محافظت کنید.
در پروتکل HTTPS انتقال اطلاعات SSL، با کمک الگوریتم key-based encryption انجام می شود. این کلید به طور کلی 40 یا 128 بیت طول دارد.

 
حرف s در کلمه HTTPS مختصر عبارت Secure است. HTTPS از TLS یا SSL برای رمزگذاری درخواست‌ها و پاسخ‌ها استفاده می‌کند.
TLS از یک تکنولوژی به نام public key encryption به منظور رمزگذاری بهره می‌گیرد. در این سیستم دو کلید به نام‌های public key و private key وجود دارد. کلید عمومی (public key) از طریق گواهی SSL سرور (server’s SSL certificate) با کاربر به اشتراک گذاشته می‌شود. همچنین خود گواهی SSL توسط یک مرجع صدور گواهی یا CA (Certificate Authority) به صورت رمزگذاری شده امضا می‌شود. هر مرورگر لیستی از CA هایی دارد که به طور قطعی قابل اعتماد هستند و هر گواهی SSL ای که توسط یکی از موارد لیست قابل اعتماد مرورگر‌ها امضا شود، دارای یک قفل سبز در نوار آدرس مرورگر خواهد بود و این به معنی قابل اعتماد بودن گواهینامه و تعلق آن به دامنه مذکور می‌باشد. قابل ذکر است که شرکت‌هایی مانند Let’s Encrypt فرایند صدور گواهی‌های SSL/TLS را رایگان کرده‌اند.
زمانی که یک کاربر اتصالی را با یک سرور برقرار می‌نماید، هر دستگاه نیاز به هویتی تایید شده دارد. بدین منظور دو دستگاه (دستگاه کاربر و سرور) با استفاده از کلیدهای عمومی و خصوصی توافقی را برای کلید جدید قبول می‌نمایند. نام این کلید جدید session key یا کلید نشست می‌باشد که به منظور رمزگذاری بیشتر هنگام برقراری ارتباط ما بین دو دستگاه تولید شده است. در ادامه تمامی درخواست‌ها و پاسخ‌های HTTP با استفاده از این کلید رمزگذاری می‌شود به طوری که اگر کسی تماس‌های انجام شده را مانیتور نماید فقط می‌تواند رشته‌ای رمز شده از کارکتر‌ها را مشاهده نماید. یعنی متن ساده یا اصطلاحا Clear Text به متنی رمز شده تبدیل شده است.
Hypertext Transfer Protocol Secure
HTTPS علاوه بر رمزگذاری ارتباطات، به منظور احراز هویت دو طرف تماس نیز مورد استفاده قرار می‌گیرد. احراز هویت در اینجا بدین معنی می‌باشد که یک شخص یا دستگاه، همان چیزی است که ادعا می‌کند. شما در HTTP هیچ تایید هویتی‌ای مشاهده نمی‌کنید این باعث شد تا در HTTPS قوانینی حاکم باشد که مطابق با نیاز‌های اینترنت مدرن است.
درست همانطور که کارت شناسایی هویت یک فرد را تایید می‌کند، کلید خصوصی نیز هویت یک سرور را تایید می‌کند. زمانی که یک کلاینت کانالی را با یک سرور باز می‌نماید (مثلا وقتی یک کاربر وارد سایتی می‌شود)، داشتن یک کلید خصوصی منطبق با کلید عمومی موجود در گواهی SSL وب سایت، نشان دهنده قانونی بودن میزبان می‌باشد. این امر حملاتی را که در صورت عدم انجام درست احراز هویت، امکان پذیرند مانند حملات MITM،  DNS hijacking و domain spoofing به حداقل می‌رساند.



 
 
پارامتر HTTP HTTPS
پروتکل hypertext transfer protocol  hypertext transfer protocol with secure
امنیت از امنیت کمتری برخوردار است
زیرا داده ها می توانند در برابر هکرها آسیب پذیر باشند.
برای جلوگیری از دسترسی هکرها به اطلاعات مهم طراحی شده است.
در برابر چنین حملاتی ایمن است.
پورت به صورت پیش فرض از پرت 80 استفاده می کند. به صورت پیش فرض از پرت 443 استفاده می کند.
شروع با //:HTTP //:HTTPS
کاربرد بیشتر برای وبلاگ ها مورد استفاده قرار می گیرد. اگر وب سایت نیاز به جمع آوری اطلاعات خصوصی
مانند شماره کارت اعتباری داشته باشد، پروتکل مطمئن تری است
اسکرمبلینگ HTTP داده های منتقل شده را تبدیل به رمزنگاری نمی کند.
به همین دلیل احتمال بیشتری وجود دارد
که اطلاعات انتقال یافته در اختیار هکرها باشد.
HTTPS قبل از انتقال، داده ها را رمز و تبدیل به حروف بی معنی می کند
در انتها گیرنده، داده ها را با استفاده از کلید، رمزگشایی کرده و
بنابراین، اطلاعات منتقل شده امن است که نمی تواند هک شود.
پروتکل در سطح TCP / IP عمل می کند. HTTPS هیچ پروتکل جداگانه ای ندارد.
با استفاده از HTTP عمل می کند
اما از اتصال TLS / SSL رمزگذاری شده استفاده می کند.
اعتباردامنه وب سایت HTTP نیازی به SSL ندارد HTTPS به گواهی SSL نیاز دارد.
رمزگذاری
داده ها
وب سایت HTTP از رمزگذاری استفاده نمی کند. وب سایت های HTTPS از رمزگذاری داده استفاده می کنند.
رده بندی
جست وجو
HTTP رتبه بندی جستجو را بهبود نمی بخشد. HTTPS به بهبود رتبه جستجو کمک می کند.
سرعت سریع اهسته تر از HTTP
آسیب پذیری در برایر هکر ها اسیب پذیر است. بسیار امن است زیرا داده ها رمز گذاری می شوند.
نویسنده :
مجید پورداود
  • مجید پورداود
  • مهندس نرم افزار و تحلیلگر ارشد سیستم های کامپیوتری تحت وب می باشم. از سال 1395 برنامه نویسی را شروع کردم و به زبان های php (فریم ورک laravel -codeigniter)  و زبان جاوا اسکریپت (فریم ورک express.js-nest.js)  تسلط دارم.  

ثبت دیدگاه جدید

0 دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *