HTTPS اور SSL کیا ہیں؟ محفوظ ویب سائٹس کیسے کام کرتی ہیں، سادہ وضاحت
HTTPS، HTTP کا محفوظ ورژن ہے، وہ پروٹوکول جسے براؤزر ویب سائٹس سے بات کرنے کے لیے استعمال کرتے ہیں۔ یہ ہر request اور response کو TLS (Transport Layer Security) کے ذریعے ایک خفیہ کنکشن میں لپیٹتا ہے، تاکہ وزیٹر اور ویب سائٹ کے درمیان کوئی شخص بھیجی گئی چیز نہ پڑھ سکے اور نہ اس سے چھیڑ چھاڑ کر سکے۔ SSL اسی خیال کا پرانا نام ہے، یعنی وہ اصل پروٹوکول جسے TLS نے بدلا، اور اسی لیے لوگ اب بھی “SSL certificate” کہتے ہیں۔
AI کے ساتھ بناتے وقت HTTPS کیوں اہم ہے
ہر وہ ایپ جو آپ شائع کریں اسے HTTPS پر پیش کیا جانا چاہیے۔ یہ صرف اچھی روایت نہیں ہے:
- براؤزر اسی کی توقع کرتے ہیں۔ عام HTTP پر موجود سائٹس پر “Not secure” کا لیبل لگتا ہے، اور کچھ براؤزر فیچرز، جیسے لوکیشن تک رسائی، کیمرا اور مائیکروفون، اور آف لائن ایپس کے لیے service workers، عموماً صرف محفوظ (HTTPS) صفحات پر کام کرتے ہیں۔
- لاگ اِن اور فارمز۔ HTTPS کے بغیر پاس ورڈ، session cookies اور فارم کا ڈیٹا قابلِ پڑھ متن میں سفر کرتے ہیں۔ کیفے کے وائی فائی پر موجود کوئی بھی شخص انہیں ممکنہ طور پر حاصل کر سکتا ہے۔
- ادائیگیاں اور تیسرے فریق۔ ادائیگی فراہم کنندگان، OAuth sign-in اور بہت سی APIs کو HTTPS redirect اور callback URLs درکار ہوتے ہیں۔
- اعتماد اور سرچ۔ وزیٹرز وارننگ دیکھتے ہیں، اور Google کہہ چکا ہے کہ وہ HTTPS کو ranking signal کے طور پر دیکھتا ہے۔
اچھی خبر یہ ہے کہ زیادہ تر جدید ہوسٹنگ پلیٹ فارمز پر HTTPS خودکار طور پر سیٹ ہو جاتا ہے۔ آپ کو زیادہ تر یہ سمجھنا ہوتا ہے کہ اس کے اجزا کیا ہیں، تاکہ جب کسٹم domain یا mixed-content وارننگ میں مسئلہ ہو تو آپ اسے ٹھیک کر سکیں۔
ایک روزمرہ کی مثال
عام HTTP پر ڈیٹا بھیجنا ایسا ہے جیسے پوسٹ کارڈ بھیجنا: ڈاک کا ہر کارکن اسے پڑھ سکتا ہے، اور کوئی شخص پیغام بھی بدل سکتا ہے۔
HTTPS ایسا ہے جیسے ایک بند، چھیڑ چھاڑ کا پتا چلانے والا لفافہ بھیجنا، اور پہلے وصول کنندہ کا سرکاری شناختی کارڈ چیک کرنا۔ سرٹیفکیٹ وہ شناختی کارڈ ہے، جو ایک قابلِ اعتماد ادارے (certificate authority) نے جاری کیا ہوتا ہے، جس نے جانچا ہوتا ہے کہ ویب سائٹ واقعی اس domain کی مالک ہے۔ خفیہ کاری بند لفافہ ہے۔ شناختی کارڈ ثابت کرتا ہے کہ آپ صحیح پتے پر لکھ رہے ہیں؛ لفافہ مواد کو نجی رکھتا ہے۔
HTTPS سادہ الفاظ میں کیسے کام کرتا ہے
جب براؤزر https://shop.example.com کھولتا ہے:
- ہیلو۔ براؤزر کنکشن کرتا ہے اور بتاتا ہے کہ وہ کون سے خفیہ کاری کے طریقے سپورٹ کرتا ہے۔
- سرٹیفکیٹ۔ سرور اپنا سرٹیفکیٹ بھیجتا ہے، جو کہتا ہے “یہ کلید
shop.example.comکی ہے” اور اس پر ایک certificate authority کے دستخط ہوتے ہیں۔ - جانچ۔ براؤزر دستخط کو ان اداروں کے مقابلے میں جانچتا ہے جن پر وہ پہلے سے اعتماد کرتا ہے، دیکھتا ہے کہ سرٹیفکیٹ ختم تو نہیں ہوا، اور domain میل کھاتا ہے یا نہیں۔
- کلیدیں۔ براؤزر اور سرور اس session کے لیے ایک نئی خفیہ کلید پر متفق ہوتے ہیں، اور وہ کلید کبھی کھلے میں نہیں بھیجی جاتی۔
- خفیہ گفتگو۔ اب تمام requests اور responses، یعنی صفحات، فارم کا ڈیٹا اور cookies، خفیہ شکل میں سفر کرتے ہیں۔
یہ TLS handshake چند ملی سیکنڈ لیتا ہے اور خودکار طور پر ہوتا ہے۔ وزیٹر کو صرف padlock آئیکن نظر آتا ہے (یا کچھ براؤزرز میں سائٹ کی معلومات کا ایک غیر جانبدار آئیکن)۔
HTTPS کیا تحفظ دیتا ہے اور کیا نہیں
| تحفظ دیتا ہے | تحفظ نہیں دیتا |
|---|---|
| براؤزر اور سرور کے درمیان سفر کرتا ہوا ڈیٹا | ڈیٹا جب وہ آپ کے سرور یا ڈیٹا بیس میں پہنچ جائے |
| عوامی وائی فائی پر جاسوسی کے خلاف | کسی بدنیت یا scam ویب سائٹ کے خلاف |
| راستے میں صفحات بدلنے کے خلاف | آپ کی ایپ کی غلطیوں کے خلاف، جیسے permission checks کی کمی |
| بھیجے جاتے وقت cookies اور پاس ورڈ | کمزور پاس ورڈز یا لیک شدہ API keys کے خلاف |
HTTPS requests کے مواد کو خفیہ کرتا ہے، بشمول صفحے کا راستہ اور query string۔ لیکن وہ domain نام جس پر آپ جاتے ہیں عموماً راستے کے نیٹ ورکس کو نظر آتا رہتا ہے۔ یہی ایک وجہ ہے کہ URLs میں کبھی ذاتی ڈیٹا نہ ڈالیں، کیونکہ وہ لاگز اور براؤزر کی تاریخ میں بھی جاتے ہیں۔
ایک عملی مثال: کسٹم domain جوڑنا
فرض کریں آپ ایک booking ایپ شائع کرتے ہیں اور اسے book.myyogastudio.com پر چاہتے ہیں:
- آپ ایک DNS record شامل کرتے ہیں جو
book.myyogastudio.comکو آپ کے ہوسٹ کی طرف اشارہ کرے۔ دیکھیں domains اور DNS کیسے کام کرتے ہیں۔ - ہوسٹ ایک certificate authority کو ثابت کرتا ہے کہ وہ اس نام کا کنٹرول رکھتا ہے، عموماً اسی domain پر ایک challenge کا جواب دے کر، اور ایک سرٹیفکیٹ حاصل کرتا ہے۔
- ہوسٹ اسے انسٹال کرتا ہے اور ختم ہونے سے پہلے خودکار طور پر renew کرتا ہے۔ سرٹیفکیٹس جان بوجھ کر مختصر مدت کے ہوتے ہیں، اس لیے خودکار renewal اہم ہے۔
http://book.myyogastudio.comکے وزیٹرز کوhttps://پر redirect کیا جاتا ہے۔
اگر مرحلہ 1 غلط ہو، یعنی ریکارڈ کہیں اور اشارہ کرے، یا درمیان میں کوئی proxy ہو، تو مرحلہ 2 ناکام ہو سکتا ہے اور وزیٹرز کو سرٹیفکیٹ کی غلطی نظر آتی ہے۔ کسٹم domain جوڑتے وقت لوگوں کو عموماً یہی سب سے عام HTTPS مسئلہ پیش آتا ہے۔
اہم اصطلاحات
| اصطلاح | مطلب |
|---|---|
| TLS | Transport Layer Security، وہ خفیہ کاری کا پروٹوکول جو HTTPS کے پیچھے ہے۔ |
| SSL | Secure Sockets Layer، TLS کا پرانا جانشین۔ نام اب بھی رائج ہے۔ |
| Certificate | ایک دستخط شدہ فائل جو domain کو ایک public key سے جوڑتی ہے۔ |
| Certificate authority (CA) | ایک ادارہ جس پر براؤزرز اعتماد کرتے ہیں کہ وہ سرٹیفکیٹ جاری کرے، جیسے Let's Encrypt۔ |
| Domain validation (DV) | ایک سرٹیفکیٹ جو domain کے کنٹرول کو ثابت کرتا ہے، یہی تقریباً تمام سائٹس استعمال کرتی ہیں۔ |
| Wildcard certificate | ایک سطح گہرائی تک کے تمام subdomains کو ڈھانپتا ہے، جیسے *.example.com۔ |
| Mixed content | ایک HTTPS صفحہ جو کچھ وسائل سادہ HTTP پر لوڈ کرے۔ براؤزرز اس کو روکتے یا اس پر وارننگ دیتے ہیں۔ |
| HSTS | ایک header جو براؤزرز کو بتاتا ہے کہ اس وقت سے آپ کی سائٹ کے لیے ہمیشہ HTTPS استعمال کریں۔ |
| Port 443 | HTTPS کا معیاری port (HTTP port 80 استعمال کرتا ہے)۔ |
عام غلط فہمیاں
- “padlock کا مطلب ہے کہ سائٹ قابلِ اعتماد ہے۔” اس کا مطلب ہے کہ کنکشن نجی ہے اور domain میل کھاتا ہے۔ Scammers کے پاس بھی سرٹیفکیٹ ہوتے ہیں۔
- “HTTPS صرف ادائیگی والے صفحات کے لیے ضروری ہے۔” جس صفحے پر login، فارم یا cookie ہو اسے اس کی ضرورت ہے، اور یہ تقریباً ہر ایپ ہے۔ اسے ہر جگہ استعمال کریں۔
- “سرٹیفکیٹ مہنگے ہوتے ہیں۔” مفت اور قابلِ اعتماد سرٹیفکیٹ معیاری ہیں، اور زیادہ تر ہوسٹس انہیں آپ کے لیے سنبھالتے ہیں۔
- “HTTPS میری ایپ کو محفوظ بناتا ہے۔” یہ کنکشن کو محفوظ کرتا ہے۔ آپ کی ایپ کو پھر بھی سرور کی طرف permission checks، محفوظ secrets کے انتظام اور input validation کی ضرورت ہے۔ دیکھیں AI سے بنی ایپس کے لیے سیکیورٹی چیک لسٹ۔
- “HTTPS سائٹس کو سست کر دیتا ہے۔” جدید TLS بہت کم اضافی بوجھ ڈالتا ہے، اور HTTP/2 جیسے فیچرز جو سائٹ کو تیز کرتے ہیں، عموماً براؤزرز میں HTTPS کا تقاضا کرتے ہیں۔
عام HTTPS مسائل کا حل
| علامت | ممکنہ وجہ |
|---|---|
| “Your connection is not private” | سرٹیفکیٹ اس بالکل درست domain کو نہیں ڈھانپتا، ختم ہو چکا ہے، یا ابھی جاری نہیں ہوا |
www. پر کام کرتا ہے مگر خالی domain پر نہیں (یا برعکس) | صرف ایک نام کا DNS اور سرٹیفکیٹ موجود ہے |
| padlock غائب، کچھ صفحات پر “Not secure” | Mixed content: کوئی تصویر، script یا font http:// کے ذریعے لوڈ ہو رہا ہے |
| domain جوڑنے کے فوراً بعد سرٹیفکیٹ کی غلطی | DNS ابھی propagate ہو رہا ہے، یا سامنے کی proxy سرٹیفکیٹ چیک کو روک رہی ہے |
اپنے AI بلڈر سے کیا پوچھیں
- “یقینی بنائیں کہ ہر تصویر، script اور font HTTPS یا relative URL سے لوڈ ہو، کوئی
http://لنک نہ ہو۔” - “تمام HTTP ٹریفک کو HTTPS پر redirect کریں۔”
- “session cookies کو
SecureاورHttpOnlyflags کے ساتھ سیٹ کریں۔” - “ہر OAuth، ادائیگی اور webhook callback URL کے لیے
https://استعمال کریں۔” - “میرے کسٹم domain پر سرٹیفکیٹ کی غلطی آ رہی ہے، ہوسٹ کو کون سا DNS ریکارڈ چاہیے؟”
Mythex میں HTTPS
Mythex پر جب آپ کسٹم domain جوڑتے ہیں (یہ ایک Pro فیچر ہے)، تو آپ ایک CNAME ریکارڈ شامل کرتے ہیں جو Mythex کے دکھائے گئے slug.mythex.ai ہدف کی طرف اشارہ کرے، Verify پر کلک کرتے ہیں، اور Mythex domain کے لیے HTTPS خودکار طور پر جاری کر دیتا ہے۔ docs میں دو عام رکاوٹیں درج ہیں: اگر آپ کا DNS Cloudflare پر ہے تو ریکارڈ کو “DNS only” (گرے کلاؤڈ) پر رکھیں، proxied پر نہیں، تاکہ Mythex سرٹیفکیٹ جاری کر سکے؛ اور DNS HTTPS مکمل طور پر سیٹ ہونے سے پہلے تصدیق ہو سکتا ہے، اس لیے چند منٹ انتظار کریں اور دوبارہ verify کریں۔ دیکھیں کسٹم domains docs میں، اور کسٹم domain جوڑنے کی ہماری گائیڈ۔
سوالات
HTTP اور HTTPS میں کیا فرق ہے؟
HTTP براؤزر اور ویب سائٹ کے درمیان ڈیٹا قابلِ پڑھ متن کے طور پر بھیجتا ہے۔ HTTPS وہی HTTP ہے جو ایک خفیہ TLS کنکشن کے ذریعے بھیجا جاتا ہے، اس لیے ایک ہی نیٹ ورک پر یا راستے میں موجود لوگ نہ بھیجی گئی چیز پڑھ سکتے ہیں اور نہ اس میں تبدیلی کر سکتے ہیں، اور براؤزر یہ جانچ سکتا ہے کہ وہ اصل سائٹ سے بات کر رہا ہے۔
کیا SSL اور TLS ایک ہی چیز ہیں؟
TLS، SSL کا جدید جانشین ہے۔ SSL کے تمام ورژن پرانے اور غیر محفوظ ہیں، اور آج کی محفوظ ویب سائٹس TLS استعمال کرتی ہیں۔ لوگ عادت کے طور پر اب بھی “SSL certificate” کہتے ہیں، لیکن سرٹیفکیٹ TLS کے ساتھ استعمال ہوتے ہیں۔
کیا padlock کا مطلب ہے کہ ویب سائٹ محفوظ ہے؟
نہیں۔ padlock کا مطلب ہے کہ کنکشن خفیہ ہے اور سرٹیفکیٹ domain سے میل کھاتا ہے۔ ایک scam سائٹ کے پاس بھی درست سرٹیفکیٹ ہو سکتا ہے۔ یہ بتاتا ہے کہ کنکشن میں کوئی جھانک نہیں سکتا، یہ نہیں بتاتا کہ سائٹ کا مالک قابلِ اعتماد ہے۔
کیا SSL سرٹیفکیٹ کے لیے ادائیگی کرنی پڑتی ہے؟
عموماً نہیں۔ Let's Encrypt جیسی مفت، خودکار certificate authorities ایسے سرٹیفکیٹ جاری کرتی ہیں جن پر براؤزر اعتماد کرتے ہیں، اور زیادہ تر ہوسٹنگ پلیٹ فارمز ان کو خود حاصل اور renew کرتے ہیں۔ ادا شدہ سرٹیفکیٹ زیادہ تر مدد یا اضافی شناختی جانچ کے لیے ہوتے ہیں۔
میری سائٹ پر “Not Secure” کیوں لکھا آتا ہے؟
عام وجوہات یہ ہیں: سائٹ کو https:// کے بجائے http:// پر کھولنا، ایسا سرٹیفکیٹ جو ختم ہو چکا ہو یا اس بالکل درست domain کو نہ ڈھانپتا ہو، یا کسی صفحے کا عام http:// پر تصاویر یا scripts لوڈ کرنا (mixed content)۔