شبکه و امنیت

تفاوت HTTP و HTTPS چیست؟ هر پروتکل چگونه کار می‌کند؟

این سوال بسیاری از افرادی است که تا کنون از پروتکل HTTP استفاده کرده‌ و حالا که قصد مهاجرت به HTTPS را دارند. احتمالا تا به حال دقت کرده‌اید که در url اکثر سایت‌ها یک علامت قفل کوچک که نشان‌دهنده HTTPS است وجود دارد. درصورتی که این علامت وجود نداشته باشد، مرورگرهای مختلف مانند کروم و موزیلا قبل از ورود به سایت، به شما هشداری مانند تصویر زیر می‌دهند:

اعلان https در گوگل کروم

قطعا مدیران سایت‌ها هرگز علاقه ندارند که از کاربرانشان قبل از ورود به سایت، چنین استقبال گرمی بشود! پس متوجه شده‌اید که HTTPS از واجبات یک وب‌سایت و فروشگاه اینترنتی است.

اما HTTP و HTTPS به چه معنا هستند، چگونه کار می‌کنند و چه تفاوتی با یکدیگر دارند؟ در ادامه با ماهان همراه باشید تا این اصطلاحات را به ساده‌ترین شکل ممکن بررسی کنیم.

فهرست مطالب

تفاوت HTTP و HTTPS چیست؟

HTTPS از TLS ( SSL ) برای رمزگذاری درخواست‌های HTTP (HTTP request) و پاسخ‌های HTTP (HTTP response) معمولی استفاده می‌کند. بنابراین،HTTPS از HTTP ایمن‌تر بوده و امکان سرقت اطلاعات را کاهش می‌دهد. URL وب‌سایتی که از HTTP استفاده می‌کند، باhttp:// شروع شده و URL وب‌سایتی که از HTTPS استفاده می‌کند، باhttps:// شروع می‌شود.

اما منظور از پاسخ‌ها و درخواست‌های HTTP چیست؟

منظور از HTTP request و HTTP response چیست؟

HTTP مخفف hypertext transfer protocol و به معنای پروتکل انتقال ابرمتن است. صفحات وب روی سرورها که در اصلاح به آن‌ها سرویس‌دهنده می‌گوییم، ذخیره می‌شوند. سرویس‌گیرنده‌ها که عموما مروگرها (کروم، سافاری و …) و گاهی اوقات نرم‌افزارها هستند، با ارسال درخواست به سرورها، ارتباطات در دنیای وب را شکل می‌دهند. این ارتباط از طریق ارسال درخواست HTTP به سرویس‌دهنده و دریافت پاسخ HTTP صورت می‌گیرد. مراحل این ارتباط به شرح زیر است:

  • سرویس گیرنده‌ (مثلاً یک مرورگر) یک درخواست http به وب می‌فرستد
  • سرور درخواست را دریافت می‌کند.
  • سرور یک نرم‌افزار را برای پردازش درخواست دریافت شده اجرا می‌کند.
  • سرور پاسخ درخواست را از طریق پروتکل http به همان سرویس‌گیرنده می‌فرستد.
  • سرویس‌گیرنده پاسخ را دریافت می‌کند.

به عنوان مثال، اگر کاربر روی یک لینک کلیک کند، مرورگر یک سری درخواست “HTTP GET” را برای محتوایی که در آن صفحه ظاهر می‌شود ارسال می‌کند. اگر شخصی در گوگل جستجو کند “HTTP چیست؟” و این مقاله در نتایج جستجو نشان داده می‌شود، هنگامی که روی پیوند کلیک می‌کند، مرورگر یک سری درخواست HTTP را ایجاد و ارسال می‌کند تا اطلاعات لازم برای ارائه صفحه (که این مقاله باشد) را به دست آورد.

این درخواست‌های HTTP همگی به یک سرور مبدا (origin server) یا یک سرور کش پروکسی (proxy caching server) می‌روند و آن سرور یک پاسخ HTTP ایجاد می‌کند. پاسخ‌های HTTP پاسخ‌هایی به درخواست‌های HTTP هستند.

یک درخواست HTTP ساده به چه شکل است؟

درخواست HTTP فقط یک سری از خطوط متنی است که از پروتکل HTTP پیروی می‌کند. یک درخواست GET ممکن است به شکل زیر باشد:

GET /hello.txt HTTP/1.1
User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11
Host: www.example.com
Accept-Language: en

در این صورت هر کسی که بر اتصال نظارت می‌کند می‌تواند متن درخواست را بخواند (برای کسانی که با پروتکل HTTP آشنایی ندارند ممکن است درک این متن سخت باشد، اما هرکسی که اطلاعاتی اولیه از دستورات و نحوه کار این پروتکل داشته باشد، می‌تواند به راحتی آن را بخواند).

اهمیت استفاده از HTTPS زمانی که کاربران داده‌های حساس مانند رمز عبور یا مشخصات کارت اعتباری را از طریق یک وب سایت یا یک برنامه وب ارسال می‌کنند، پررنگ‌تر می شود.

هنگامی که یک سرور اصلی (origin server) یک درخواست HTTP دریافت می‌کند، یک پاسخ HTTP مشابه زیر ارسال می‌کند:

HTTP/1.1 200 OK
Date: Wed, 30 Jan 2019 12:14:39 GMT
Server: Apache
Last-Modified: Mon, 28 Jan 2019 11:17:01 GMT
Accept-Ranges: bytes
Content-Length: 12
Vary: Accept-Encoding
Content-Type: text/plain

Hello World!

اگر وب‌سایتی به جای HTTPS از HTTP استفاده می‌کند، تمام درخواست‌ها و پاسخ‌ها به راحتی می‌توانند مورد استفاده قرار بگیرند. اما متن یک درخواست یا پاسخ HTTPS به چه شکل است و چرا ایمنی بالایی دارد؟

پروتکل HTTPS چیست؟

پروتکل امن انتقال ابرمتن (HTTPS) نسخه ایمن HTTP است که از پروتکل SSL/TLS برای رمزگذاری و احراز هویت استفاده می کند. HTTPS به منظور افزایش امنیت انتقال داده‌ها رمزگذاری شده است. 

اهمیت این رمزگذاری زمانی پررنگ‌تر می‌شود که کاربران داده‌های حساسی را جابجا می‌کنند؛ اطلاعاتی مانند مشخصات حساب بانکی، اطلاعات حساب ایمیل و … . بنابراین، HTTPS برای ایمن‌سازی فعالیت‌های آنلاین مانند خرید و بانکداری اهمیت ویژه‌ای دارد.

در حال حاضر فارغ از اینکه سایت‌ها داده‌های حساس کاربران را مبادله می‌کنند یا خیر، HTTPS به سرعت در حال تبدیل شدن به پروتکل استاندارد برای همه وب سایت‌ها است.

اما راجع به تاثیر HTTPS بر سئو سایت‌ها چه می‌دانید؟ آیا استفاده از HTTPS به جای HTTP می‌تواند به بهبود رتبه سایت در موتورهای جستجو کمک کند یا صرفا به بهبود امنیت کاربران در سایت کمک می‌کند؟ با دریافت گواهی SSL می‌توانیم به صفحه اول گوگل صعود کنیم؟ پاسخ تمام این سوال‌ها را در مقاله‌ای که تحت عنوان تاثیر HTTPS در سئو نوشته‌ایم، بررسی کرده‌ایم.

HTTPS چگونه کار می‌کند؟

HTTPS از یک پروتکل رمزگذاری برای رمزگذاری ارتباطات استفاده می‌کند. این پروتکل Transport Layer Security (TLS)نامیده می‌شود، اگرچه قبلاً به عنوان Secure Sockets Layer (SSL) شناخته می‌شد . HTTPS با استفاده از چیزی که به public key infrastructure (کلید عمومی نامتقارن) شناخته می‌شود، ارتباطات را ایمن می‌کند. این نوع سیستم امنیتی از دو کلید مختلف برای رمزگذاری ارتباطات بین دو طرف استفاده می‌کند:

  • کلید خصوصی: این کلید توسط مدیر یک وب سایت کنترل می‌شود و به صورت خصوصی نگه داشته می‌شود. این کلید روی وب سرور سایت قرار دارد و برای رمزگشایی اطلاعات رمزگذاری شده توسط کلید عمومی، استفاده می‌شود.
  • کلید عمومی: این کلید در دسترس همه کسانی است که می‌خواهند با سرور به روشی امن تعامل داشته باشند. اطلاعاتی که توسط کلید عمومی رمزگذاری شده‌اند، فقط با کلید خصوصی قابل رمزگشایی هستند. کلید عمومی مورد نیاز برای شروع ارتباط امن در گواهی SSL وب‌سایت قرار دارد و هنگامی که مرورگر از یک صفحه وب درخواست ارتباط HTTPS می‌کند، وب‌سایت گواهینامه SSL را به مرورگر ارسال می‌کند.

با HTTPS، ترافیک به گونه‌ای رمزگذاری می‌شود که حتی اگر بسته‌های داده شنود شوند یا به شکل دیگری رهگیری شوند، به شکل کاراکترهای بی‌معنی نمایش داده خواهند شد و تا زمانی که فرد به کلید خصوصی دسترسی نداشته باشد، امکان استفاده از آن‌ها را نخواهد داشت. به مثال زیر نگاه کنید:

متن درخواست:

GET /hello.txt HTTP/1.1

User-Agent: curl/7.63.0 libcurl/7.63.0 OpenSSL/1.1.l zlib/1.2.11

Host: www.example.com

Accept-Language: en

چیزی که مهاجم می‌بیند:

t8Fw6T8UV81pQfyhDkhebbz7+oiwldr1j2gHBB3L3RFTRsQCpaSnSBZ78Vme+DpDVJPvZdZUZHpzbbcqmSW1+3xXGsERHg9YDmpYk0VVDiRvw1H5miNieJeJ/FNUjgH0BmVRWII6+T4MnDwmCMZUI/orxP3HGwYCSIvyzS3MpmmSe4iaWKCOHQ==

کلام پایانی

حالا که تفاوت HTTP و HTTPS را بررسی کرده‌ایم، قطعا متوجه شده‌اید که چرا بر روی گرفتن گواهینامه SSL تاکید می‌‌شود. HTTPS تنها موجب افزایش امنیت کاربران سایت‌ها نمی‌شود، بلکه با جلب اعتماد آن‌ها و البته جلب اعتماد گوگل، می‌تواند بر فرآیندهای بازاریابی شما نیز تاثیر مثبتی داشته باشد. آیا شما به خاطر دارید که از وب‌سایتی بدون داشتن HTTPS خرید کرده یا اطلاعات مهم خود را در فرم‌های آن وارد کرده باشید؟

درباره نویسنده این مقاله

اشتراک گذاری این مقاله

اشتراک گذاری در twitter
Twitter
اشتراک گذاری در linkedin
LinkedIn
اشتراک گذاری در telegram
Telegram
اشتراک گذاری در whatsapp
WhatsApp
اشتراک گذاری در email
Email

خواندن این مطالب توصیه می‌شود

تفاوت HTTP و HTTPS


تفاوت HTTP و HTTPS چیست؟ هر پروتکل چگونه کار می‌کند؟

تفاوت HTTP و HTTPS چیست؟ هر پروتکل چگونه کار می‌کند؟ تفاوت HTTP و HTTPS چیست؟ …

تاثیر https در سئو سایت


تاثیر https در سئو سایت

تاثیر https در سئو سایت تاثیر https در سئو سایت چقدر است؟  این سوالی است …

سیستم پیشگیری از نفوذ IPS


سیستم پیشگیری از نفوذ (IPS) چیست و چرا باید استفاده شود؟

سیستم پیشگیری از نفوذ (ISP) چیست و چرا باید از آن استفاده کرد؟ سیستم پیشگیری …

سگمنت در آنالیتیکس


سگمنتیشن در گوگل آنالیتیکس

سگمنتیشن در گوگل آنالیتیکس وقتی وارد آنالیتیکس می‌شوید با دنیایی از داده مواجه هستید. هر …

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا