پروتکل https و تفاوت آن با پروتکل http: همه دادهها و اطلاعاتی که در بستر اینترنت داد و ستد می شوند؛ بطور معمول از پروتکل استانداردی به نام HTTP (مخفف (Hyper Text Transfer Protocol استفاده میکنند. این پروتکل استانداردی تعریف شده است که با آن متن ساده (Plain Text) را منتقل میکنند که این داده ها به دلیل خام بودن و رمزنگاری نشدن، برای افراد سوم شخص قابل خواندن هستند. بنابراین کسی که در میانه راه تبادل اطلاعات است (مثلا سرویس دهنده اینترنت شما) میتواند با استفاده از ابزارهایی به نام sniffer اطلاعات رد و بدل شده اینترنتی شما را رصد کند و پی ببرد که شما در حال ارسال و دریافت چه اطلاعاتی هستید.
لذا استفاده از پروتکل HTTP از لحاظ امنیتی برای انجام کارهایی که با اطلاعات حساس از جمله حسابهای بانکی و رمزهای مشتریان سر و کار دارند به هیچ وجه شیوه مناسبی نیست، از این رو بانک ها، فروشگاههای اینترنتی و در کل سایتهایی که امنیت کاربران برایشان اهمیت زیادی دارد، از پروتکل دیگری به نام HTTPS (مخفف Hyper Text Transfer Protocol Secure) جهت انتقال داده های رمزنگاری شده به شیوه SSL (مخفف Secure Sockets Layer) استفاده میکنند. چراکه اساسا HTTPS با این هدف طراحی شده است که جلوی دسترسی شخص سوم را بگیرد و از این جهت امن است.
پروتکل امن انتقال ابرمتن یا HTTPS به انگلیسی: (Hypertext Transfer Protocol Secure) یک پروتکل ارتباطی برای انتقال امن اطلاعات در شبکههای کامپیوتری است که به صورت خاص در اینترنت استفاده میشود. در پروتکل Https اطلاعات بصورت رمزنگاری شده بین وبسایت و کاربر منتقل می شوند.
زمانی که یک کاربر با پروتکل HTTPS به یک وب سایت متصل میشود، وبسایت مورد نظر درخواست را با یک کد دیجیتال رمزگذاری کرده و URL سایت در نوار آدرس با HTTPS شروع میشود و آیکون قفل در بالای هدایتگر مرورگر وب نمایان میشود و این بدین معناست که عملیات انتقال داده بین کاربر و وبسایت به صورت ایمن انجام میشود. با استفاده از این پروتکل، کامپیوترهای فرستنده و گیرنده بر سر استفاده از یک کد به توافق می رسند و سپس پیغامها را با این کد تلفیق کرده تا قابل خواندن برای هکرها نباشد.
حتی اگر در سر راه کاربر و وبسایت شنود صورت بگیرد، نمیتوان به محتوای اطلاعات دست پیدا کرد. در پروتکل HTTPS ارسال و دریافت اطلاعات روی پروتکل SSL انجام میشود و آن را گاهی TLS (Transport Layer Security) یا لایهی انتقال امنیتی مینامند.
درواقع پروتکل https مانند پروتکلhttp ، پروتکلیست برای استفاده از وب سایت ها اما تفاوت https با http در این است که https میان کلاینت کاربر و سرور وب اطلاعات را رمزنگاری میکند و این رمزنگاری توسط certificate که آن سایت به شما میدهد اتفاق میافتد. در این حالت از کلیدهایی برای کد کردن استفاده میشود که تمام اطلاعات (شامل محتوا و آدرس اینترنتی و …) را بصورت امن، رمزنگاری میکند. در این حالت کسی که در میانه راه تبادل باشد (همان سرویس دهنده یا نفوذ کنندگان به سرویس دهنده) وقتی شما به آدرس ایمیلتان در گوگل می روید، نمی تواند محتوای رد و بدل شده را بخواند، بلکه تنها متوجه می شود که شما در حال ارتباط با گوگل هستید.
به زبان ساده می توان گفت که با استفاده از پروتکل امن Https و اتصال ssl، اطلاعات و داده های انتقالی توسط دو کلید رمزگذاری میشوند که کلید عمومی برای افراد ثالث (سوم شخص) قابل رؤیت بوده ولی دومین کلید که کلید اصلی است از دید اشخاص غیر پنهان بوده و فقط توسط شخص ارسال کننده و شخص دریافت کننده اطلاعات قابل مشاهده می باشد.
به طور کلی، دو فرق اصلی بین پروتکل https و http در اتصال وجود دارد که عبارت از :
در https از پورت ۴۴۳ استفاده می شود و این در حالییست که http از پورت ۸۰ استفاده میکند.
در https اطلاعات را با استفاده از گواهی SSL کدگذاری میشوند، در حالی که http از متن های ساده (plain text) استفاده میکند.
SSL به چه معناست؟
SSL مخففی است از سرواژه های Secure Sockets Layer و در اصطلاح به استاندارد رمزنگاری و انتقال داده ها در وب اطلاق میشود،SSL را ابتدا شرکت Netscape به منظور نقل و انتقال امن و رمزی اطلاعات ایجاد نمود و اکنون تقریبا تمام مرورگرهای استاندارد از جمله فایر فاکس، اینترنت اکسپلورر، اپرا، گوگل کروم و سافاری از آن پشتیبانی میکنند، همچنین در این رابطه شرکتهایی وجود دارند که گواهی SSL ارائه میکنند.
سرعت پروتکل HTTPS، به ویژه در صفحاتی با محتوای زیاد، معمولاً از پروتکل غیر امن آن کمتر است. ارسال گواهی، تایید گواهی توسط مرورگر و سربار رمزگذاری بر روی سیستم از مهمترین دلایل این کندی هستند. یک اتصال امن در شروع حدوداً ۱۰٪ کندتر از یک اتصال غیر امن است. اما با استفاده از اتصال پایا این کندی در ادامهی ارتباط تقریباً از بین میرود.