HTTPS — HTTP امن روی TLS

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

  • لایهٔ OSI: 7 (کاربرد)
  • انتقال: TCP
  • پورت: 443
  • استاندارد: RFC 2818 / 9110
  • سطح: مقدماتی · حدود 7 دقیقه

نکته‌های کلیدی

  • HTTPS همان HTTP روی TLS است: محرمانگی، یکپارچگی و احراز هویت سرور.
  • گواهی دیجیتال ثابت می‌کند کلید عمومی واقعاً متعلق به ikral.app است.
  • SNI نام دامنه را آشکار می‌کند؛ ECH (Encrypted Client Hello) آن را هم پنهان می‌کند.

مراحل شبیه‌سازی (6 بسته)

  1. SYN :443: ابتدا یک اتصال TCP به پورت ۴۴۳ ساخته می‌شود (دست‌دهی سه‌مرحله‌ای).
  2. ClientHello: مرورگر الگوریتم‌های پشتیبانی‌شده و کلید عمومی موقت خود را می‌فرستد. نام سایت در افزونهٔ SNI هنوز رمز نشده است.
  3. ServerHello: سرور الگوریتم را انتخاب و کلید موقت خود را ارسال می‌کند. از این لحظه هر دو طرف کلید مشترک دارند و ادامهٔ دست‌دهی رمز می‌شود.
  4. گواهی (رمزشده): گواهی سرور و امضای آن داخل رکوردهای رمزشده می‌رسد. مرورگر زنجیرهٔ گواهی را تا یک مرجع معتبر بررسی می‌کند.
  5. GET رمزشده: درخواست HTTP داخل رکورد Application Data می‌رود. ناظر شبکه فقط اندازه و زمان بسته را می‌بیند.
  6. پاسخ + HSTS: پس از رمزگشایی در مرورگر، پاسخ با سرآیند HSTS می‌رسد تا مرورگر از این به بعد این سایت را هرگز با HTTP ساده باز نکند.

درس‌های مرتبط

  • HTTP/1.1 — پروتکل انتقال ابرمتن
  • WebSocket — سوکت وب دوطرفه
  • HTTP/2 — نسل دوم HTTP