وقتی یک وب سایت HTTP:// یا HTTPS:// را در جلوی پیوندهای داخلی خود دارد، نشان می دهد که ارتباطات بین مرورگر و سرور وب سایت از پروتکل خاصی پیروی می کند. پروتکلها یک تفاوت کوچک دارند که باید از قبل به آن اشاره کرد: “S” که مخفف امن است و به معنای رمزگذاری دادهها در پروتکل HTTPS است.
در این مقاله از ایوسی، HTTP در مقابل HTTPS، ویژگی های مربوط به آنها، تفاوت این پروتکل ها و مزایای استفاده از HTTPS را مورد بحث قرار می دهیم.
HTTP چیست؟
HTTP مخفف Hypertext Transfer Protocol است. به عنوان بخشی از پروتکل HTTP، داده ها از طریق شبکه ها مانند اینترنت منتقل می شوند. در واقع، بیشتر اطلاعاتی که در اینترنت جابجا می شوند از طریق پروتکل HTTP انجام می شود. بسیاری از وبسایتهایی که از HTTP استفاده میکنند، HTTP:// در ابتدای مکان یاب یا نشانیهای اینترنتی منحصر به فرد خود دارند.
دو نوع پیام HTTP درخواست ها و پاسخ ها هستند که در سراسر اینترنت ارسال می شوند. مرورگرهای اینترنتی با تعامل کاربران اینترنت با ویژگی های وب، درخواست ها را ایجاد می کنند. به عنوان مثال، یک مرورگر زمانی که کاربر اینترنت روی یک لینک کلیک می کند، یک سری درخواست های “HTTP GET” ایجاد می کند. این درخواستها در نهایت به منظور دریافت اطلاعات کافی برای ارائه یک صفحه خاص است. پاسخ HTTP پاسخی به درخواست HTTP است. سرورهای مبدأ یا سرورهای کش پروکسی پاسخ تولید می کنند.
مطالب مرتبط: چگونه می توان حضور آنلاین خود را ایجاد و بهبود بخشید
درخواست HTTP
یک درخواست HTTP از یک سری خطوط متن تشکیل شده است، مانند:
-
ممکن است در خط اول کلمه “GET” و سپس صفحه اسلاگ و نسخه HTTP در حال استفاده وجود داشته باشد.
-
خط دوم ممکن است اطلاعاتی در مورد مرورگر داشته باشد (“User-Agent”)
-
خط سوم ممکن است اطلاعاتی در مورد سرور میزبان داشته باشد
-
خط چهارم ممکن است اطلاعاتی در مورد زبان مورد استفاده صفحه داشته باشد (“Accept-Language”)
پاسخ HTTP
پاسخ HTTP همچنین حاوی خطوط متنی است و ممکن است حاوی اطلاعات زیر باشد:
-
نسخه HTTP در حال استفاده، به اضافه یک عدد و یک “OK”
-
تاریخ ارسال پاسخ، به اضافه زمان به وقت گرینویچ (GMT)
-
نام مبدا یا سرور میزبان
-
تاریخ آخرین تغییر صفحه
-
قدرت ارتباطات (“محدوده پذیرش”)، در بایت اندازه گیری می شود
-
طول محتوا (یک عدد)
-
نوع محتوا
-
پیام ارسال شده توسط کاربر
هنگامی که کاربر فرمی را در وب سایت های HTTP ارسال می کند، مرورگرها آن فرم ها را به جای درخواست های HTTP GET به درخواست های HTTP POST ترجمه می کنند. درخواست HTTP مانند یک HTTP POST است.
HTTPS چیست؟
از آنجایی که S در HTTP به معنای «امن» است، HTTPS مخفف Hypertext Transfer Protocol Secure است. وب سایت هایی که از HTTPS استفاده می کنند دارای https:// در ابتدای URL خود هستند و مرورگرها ممکن است با قرار دادن یک قفل سبز در جلو این URL ها را علامت گذاری کنند. وب سایت های تجارت الکترونیک اولین وب سایت هایی بودند که از HTTPS استفاده کردند، اما وب سایت هایی که به اعتبار کاربری و اطلاعات حساس نیاز دارند باید از رمزگذاری استفاده کنند. اکنون، HTTPS به عنوان روشی برای انتقال اطلاعات در سراسر وب، از HTTP پیشی گرفته است.
HTTPS از پروتکل HTTP استفاده می کند، اما از پروتکل امنیت لایه انتقال (TLS) نیز برای رمزگذاری درخواست ها و پاسخ های HTTPS استفاده می کند. وب سایت هایی که از HTTPS استفاده می کنند برای احراز هویت به گواهی SSL نیاز دارند .
مرتبط: راهنمای کامل SSL: چیست و چگونه کار می کند
TLS از رمزگذاری کلید عمومی برای ایجاد امنیت برای ارتباطات بین دستگاه مشتری (مرورگر) و سرور استفاده می کند. دو کلید وجود دارد، یک کلید عمومی و یک کلید خصوصی، که در مورد کلیدهای جلسه برای رمزگذاری ارتباطات توافق دارند. یک دستگاه مشتری می تواند از طریق گواهی SSL سرور به کلید عمومی دسترسی پیدا کند. رمزگذاری توسط کلیدهای جلسه در لایه شش (لایه ارائه) در مدل Open Systems Interconnection (OSI) انجام می شود .
کلیدهای خصوصی هویت سرور را تأیید می کنند. هنگامی که مرورگر در حین پیمایش به یک وب سایت به یک سرور مبدا متصل می شود و کلید خصوصی آن سرور با کلید عمومی در گواهی SSL وب سایت مطابقت دارد، به این معنی است که سرور میزبان قانونی وب سایت است.
مطالب مرتبط: شبکه همتا به همتا چیست؟
تفاوت بین HTTP و HTTPS
HTTPS به روش های زیر با HTTP متفاوت است:
-
HTTP پیامها را به صورت متن ساده ارسال میکند: این بدان معناست که هر کسی که از دستورات پروتکل HTTP و نحو اطلاع داشته باشد، میتواند آن را بخواند و بفهمد. این امر به ویژه زمانی خطرناک است که کاربران ممکن است فرمهایی را ارسال کنند، زیرا کاربران ممکن است دادههای حساسی مانند رمز عبور، شماره کارت اعتباری یا شماره تامین اجتماعی را ارائه دهند. عوامل مخرب می خواهند این اطلاعات را پیدا کنند، به علاوه هر اطلاعاتی که یک سرور برای مرورگرها ارسال می کند.
-
HTTPS امنیت را ارتقا میدهد: زیرا دستهای از کاراکترها را نشان میدهد که بهجای متن ساده بهصورت تصادفی ظاهر میشوند: کاراکترهای درخواستها و پاسخهای HTTPS حاوی ترکیبی از حروف کوچک، حروف بزرگ و نمادها بدون فاصله یا برگرداندن هستند.
-
HTTPS به احراز هویت متکی است: مرورگرها باید تأیید کنند که یک شخص، ماشین یا وبسایت همان چیزی است که ادعا میکند. HTTP فقط بر اساس یک اصل اعتماد است.
-
صفحات وب در سایت هایی که از HTTP استفاده می کنند سریعتر از صفحات وب در دامنه های HTTPS بارگیری می شوند: این به این دلیل است که HTTPS برای رمزگذاری پیام ها به قدرت محاسباتی بیشتری نیاز دارد.
مطالب مرتبط: BYOD: «دستگاه خود را بیاورید» به چه معناست؟
مزایای HTTPS
وب سایت هایی که از HTTPS استفاده می کنند دارای مزایای زیر هستند:
-
احراز هویت از برخی حملات هک جلوگیری می کند: از جمله این حملات می توان به حملات Man-in-the-Middle و جعل دامنه اشاره کرد. حمله Man-in-the-Middle زمانی رخ می دهد که یک هکر خود را بین دو دستگاه (احتمالاً یک مرورگر و یک وب سرور) قرار می دهد و ارتباط بین آن دستگاه ها را رهگیری یا تغییر می دهد. جعل دامنه زمانی است که یک هکر صفحه ای را ایجاد می کند که شبیه یک وب سایت قانونی است. در هر صورت، هکر می خواهد اطلاعات حساس را بدزدد.
-
بنابراین رمزگذاری امکان ارتباطات ایمن را فراهم میکند: وقتی یک عامل مخرب کاراکترهای به ظاهر تصادفی تولید شده توسط پروتکل HTTPS را میبیند، نمیتوانند اطلاعاتی را که بین مرورگرها و سرورها منتقل میشوند رمزگشایی کنند. این کار از کاربرانی محافظت میکند که اطلاعات حساس را وارد میکنند و معاملات انجام میدهند، مانند خرید از طریق وبسایت تجارت الکترونیک یا برنامه وب.
-
کاربران و مصرفکنندگان به وبسایتهایی که HTTPS: کاراکترهای // در URL خود دارند اعتماد میکنند: بسیاری از کاربران نوارهای URL در مرورگرهای خود را بررسی میکنند تا ببینند آیا قفل سبز وجود دارد یا خیر. این نشان می دهد که اطلاعات حساس آنها پس از وارد کردن آن اطلاعات در فرم های وب سایت، ایمن خواهد بود.
-
بسیاری از سایتهایی که HTTPS را اجرا میکنند، تغییر مسیر دارند: بسیاری از سایتهایی که در ابتدا HTTP را اجرا میکردند، باید پیوندهای داخلی و پیوندهای خارجی خود را که میتوانند کنترل کنند، بهروزرسانی کنند. هنگامی که وبسایتها بهروزرسانی میشوند، HTTPS یک سیستم تغییر مسیر دارد که میتواند کاربران را به صفحات خاصی هدایت کند که اگر بقیه URL یکسان باشد، HTTP:// را تایپ میکنند.
-
HTTPS یک عامل رتبهبندی برای گوگل است: فقط صفحاتی که شهرت خوبی دارند و HTTPS:// در URLهایشان ممکن است در صفحه اول جستجوهای Google رتبهبندی شوند. این می تواند به ترافیک بیشتر و تجارت بیشتر تبدیل شود.
مطالب مرتبط: سئو چیست؟
یک پاسخ
پروتکل های برای HTTPS:
۱. TLS (Transport Layer Security): TLS پروتکل استاندارد برای برقراری ارتباط امن بین کلاینت و سرور است. محرمانه بودن، یکپارچگی و صحت داده های مبادله شده بین دو طرف را تضمین می کند.
۲. SSL (Secure Sockets Layer): SSL یک پروتکل قدیمی تر و کمتر ایمن در مقایسه با TLS است. با این حال، هنوز به طور گسترده در برخی از برنامه ها و سیستم ها استفاده می شود. این یک اتصال امن برای انتقال داده از طریق اینترنت فراهم می کند.
۳. HSTS (HTTP Strict Transport Security): HSTS یک ویژگی امنیتی است که تضمین می کند که یک وب سایت فقط از طریق HTTPS قابل دسترسی است. این کمک می کند تا از حملات انسان در میانه و سایر اشکال رهگیری داده ها جلوگیری شود.
۴. OCSP (Online Certificate Status Protocol): OCSP برای بررسی اعتبار گواهی SSL سرور استفاده می شود. این کمک می کند تا اطمینان حاصل شود که گواهی ارائه شده توسط سرور هنوز معتبر است و باطل نشده است.
۵. HPKP (Pinning کلید عمومی HTTP): HPKP یک ویژگی امنیتی است که با اطمینان از اینکه مرورگر تنها مجموعه خاصی از کلیدهای عمومی یک وب سایت را می پذیرد، به جلوگیری از حملات انسان در وسط کمک می کند. این به محافظت در برابر گواهیهای سرکش که برای جعل هویت یک وبسایت استفاده میشوند، کمک میکند.
۶. ALPN (Application-Layer Protocol Negotiation): ALPN یک برنامه افزودنی برای TLS است که به مشتری و سرور اجازه می دهد تا در مورد پروتکل لایه برنامه در طول یک اتصال ایمن مذاکره کنند. این امر با اطمینان از اینکه هر دو طرف از پروتکل مشابهی استفاده می کنند، به بهبود عملکرد و امنیت کمک می کند.
۷. DANE (DNS-Based Authentication of Named Entities): DANE یک پروتکل امنیتی است که از رکوردهای DNS برای احراز هویت گواهی های TLS استفاده می کند. این به جلوگیری از حملات man-in-the-middle کمک می کند و تضمین می کند که گواهی ارائه شده توسط سرور معتبر است.
۸. Certificate Transparency: شفافیت گواهی پروتکلی است که با درخواست از مقامات گواهی برای ثبت عمومی همه گواهینامه های صادر شده به شناسایی و جلوگیری از جعلی بودن گواهینامه های SSL کمک می کند. این به صاحبان وب سایت اجازه می دهد تا گواهی های غیرمجاز را کنترل کنند و در صورت لزوم اقدام کنند.