The Four HTTP Security Headers Every Site Should Send
2026-09-02 · 6 min
When a browser loads your site, the first line of defense is not in your JavaScript - it is in a handful of response headers your server sends before any HTML arrives. Four of them matter more than the rest combined, and a surprising number of production sites - including large ones - still send none of them.
These four headers are exactly what NetChecks' HTTP Header Inspector grades, so this guide doubles as the manual for reading its verdict: what 'critical' means there, and what to do about it.
2008
nosniff appears
Internet Explorer 8 introduces the X-Content-Type-Options header to stop browsers from guessing a file's type when the server declares it wrongly - the quiet end of a whole class of content-confusion attacks.
2009
Clickjacking gets a fence
X-Frame-Options is deployed by the major browsers after clickjacking demonstrations show that invisible frames can trick users into clicking things they never saw.
2012
HSTS becomes RFC 6797
HTTP Strict Transport Security lets a site tell the browser 'never come back to this domain over plain HTTP', closing the downgrade and cookie-hijacking window that HTTPS alone left open.
2012
CSP arrives
Content Security Policy reaches version 1.0 at the W3C, giving sites an allowlist mechanism that turns reflected XSS from 'possible' into 'blocked by policy'.
Strict-Transport-Security: remember to be HTTPS
HTTPS without HSTS has a hole: the very first request a visitor makes can still be plain HTTP (a typed address, an old bookmark, a link without https), and an attacker in control of that network can answer it before the redirect to HTTPS ever happens. HSTS closes this by instructing the browser to remember - for the max-age you declare - that this domain speaks HTTPS only.
Deploy it conservatively: start with a small max-age, make sure every subdomain serves valid HTTPS before adding the includeSubDomains directive, and treat the preload directive as a one-way door - it is submitted to a public list and very hard to walk back.
The other three, in one breath
X-Content-Type-Options: nosniff stops the browser from second-guessing the Content-Type you declared - a user-uploaded file served as text cannot be reinterpreted as an executable script. X-Frame-Options: SAMEORIGIN (or its CSP grandchild frame-ancestors) forbids other sites from embedding your pages in invisible frames, which is what clickjacking needs to work.
Content-Security-Policy is the deepest of the four: a policy like script-src 'self' tells the browser which script sources are legitimate, so an attacker who manages to inject markup into your page still cannot make their payload execute. It takes the most care to deploy - start in report-only mode, watch the violations, then enforce.
Security headers travel with every response and instruct the browser before any of your code runs - which is why they must come from the server, not from the page itself.
How to adopt them without breaking anything
Add the easy two first - X-Content-Type-Options and X-Frame-Options rarely break anything - then HSTS with a short max-age, then CSP last and incrementally. A header you deploy in report-only mode gives you a violation log you can act on instead of a broken page users will report for you.
Verify each step with an inspector rather than trusting the deployment: a header set on HTML pages but not on API responses, or set only on some virtual hosts, is a gap you cannot see from the outside - except with exactly this kind of tool.
Reading a verdict like 'critical: missing headers'
When a checker reports three or four missing security headers as critical, it does not mean the site has been compromised - it means the browser is being asked to improvise where it could have been instructed. The severity reflects the size of the gap, not the certainty of an attack.
The fix is mechanical: add each header at the reverse proxy or application level, re-run the check, and watch the verdict move from critical to warning to good as the list empties. It is the highest ratio of security gained per hour spent in all of web hardening.
خلاصہ
Four headers, one afternoon, and an entire attack surface quietly closes. Check your own site's headers, fix what is missing, and let the browser do the rest of the work on every page load.
آپ کا عوامی IP ایڈریس اور نیٹ ورک محل وقوع، خودکار طور پر معلوم کیا گیا۔
NetChecks کھولتے ہی خودکار طور پر لوڈ ہو جاتا ہے — کچھ درج کرنے کی ضرورت نہیں۔ نیٹ ورک یا VPN تبدیل کرنے کے بعد ریفریش بٹن استعمال کریں۔
آپ کا براؤزر
آل ان ون اسکین
ایک IP یا ہوسٹ نیم پر ایک ہی مرتبہ میں تمام متعلقہ چیکس چلاتا ہے: DNS، whois، ping، traceroute، معروف پورٹس اسکین (1-1024)، HTTP ہیڈرز اور SSL سرٹیفکیٹ۔
ایک ڈومین یا IP پتہ درج کریں اور چلائیں تاکہ DNS، whois، ping، traceroute، عام پورٹس، HTTP ہیڈرز اور SSL سرٹیفکیٹ ایک ساتھ چیک ہو سکیں۔
زیادہ تر چیکس بیک وقت چلتی ہیں - عام طور پر تقریباً 30 سیکنڈ میں مکمل ہو جاتی ہیں، اگر ہدف سست یا ناقابل رسائی ہو تو زیادہ وقت لگ سکتا ہے۔
پورٹ اسکین کا مرحلہ صرف اس وقت چلتا ہے جب اوپر دیا گیا رضامندی کا چیک باکس چیک کیا گیا ہو - باقی تمام چیکس بہرحال چلتے ہیں۔
پنگ (Ping)
کسی ہوسٹ کی رسائی اور تاخیر جانچنے کے لیے ICMP ایکو درخواستیں بھیجتا ہے۔
ایک ہوسٹ نیم یا IP پتہ درج کریں اور ICMP ایکو درخواستیں بھیجنے اور راؤنڈ ٹرپ تاخیر ناپنے کے لیے Ping دبائیں۔
کے بارے میں مزید جانیں پنگ (Ping)
یہ کیا ہے
پنگ کسی ہوسٹ کو ICMP Echo Request پیکٹس بھیجتا ہے اور یہ ماپتا ہے کہ ICMP Echo Reply پیکٹس واپس آنے میں کتنا وقت لگتا ہے۔ یہ سب سے بنیادی نیٹ ورک کنیکٹیویٹی ٹیسٹ ہے: یہ بالکل ایک سوال کا جواب دیتا ہے، "کیا یہ مشین قابل رسائی ہے، اور کتنی تیزی سے؟" ICMP پروٹوکول (RFC 792) 1981 میں خاص طور پر IP نیٹ ورکس پر کنٹرول اور تشخیصی پیغامات لے جانے کے لیے ڈیزائن کیا گیا تھا، کسی بھی ایپلیکیشن ٹریفک سے آزادانہ طور پر - اور پنگ اس کا سب سے مشہور اور سب سے زیادہ عالمی سطح پر دستیاب نفاذ ہے، عملی طور پر ہر آپریٹنگ سسٹم اور نیٹ ورک ڈیوائس میں اپنے قدیم ترین ورژن سے موجود۔
یہ کیسے کام کرتا ہے
ہر ICMP پیکٹ ایک TTL (Time To Live) فیلڈ لے جاتا ہے جو ہر راؤٹر سے گزرنے پر ایک کم ہو جاتا ہے؛ اگر یہ منزل تک پہنچنے سے پہلے صفر تک پہنچ جائے تو پیکٹ گرا دیا جاتا ہے اور بھیجنے والے کو ایک ایرر بھیجا جاتا ہے۔ ملی سیکنڈز میں ماپا گیا راؤنڈ ٹرپ ٹائم (RTT) پورے سفر میں مجموعی نیٹ ورک ردعمل کے وقت کی عکاسی کرتا ہے، نہ کہ صرف منزل کے قریب آخری حصے کی - یہ اکثر غلط سمجھا جانے والا نکتہ ہے، کیونکہ سست پنگ نتیجے کی اصل وجہ راستے کے کسی بھی مقام پر ہو سکتی ہے، لازمی طور پر ٹیسٹ کیے گئے سرور کے قریب نہیں۔ ایک پنگ عام طور پر ایک کے بجائے کئی پیکٹس یکے بعد دیگرے بھیجتا ہے، جو ایک عارضی ردعمل کے وقت میں اضافے اور ایک بار بار ہونے والے مسئلے کے درمیان فرق کرنے اور نمونے میں پیکٹ لاس کی شرح کا حساب لگانے دیتا ہے۔
نتائج کی تشریح
کم اور مستحکم ردعمل کا وقت - مقامی نیٹ ورک پر چند ملی سیکنڈز، ایک ہی ملک کے اندر منزل کے لیے 10 سے 50 ملی سیکنڈز، بین البراعظمی کنکشن کے لیے کہیں زیادہ - ایک صحت مند کنکشن کی نشاندہی کرتا ہے۔ حتیٰ کہ معمولی پیکٹ لاس (1-2% سے اوپر) VoIP یا حقیقی وقت کے انٹرایکٹو سیشنز جیسے تاخیر کے لیے حساس استعمالات کے لیے خاص طور پر نقصان دہ ہے، جہاں ہر کھویا ہوا پیکٹ ایک قابل سماعت خرابی یا کٹاؤ کے طور پر ظاہر ہوتا ہے۔ پیکٹ سے پیکٹ میں ردعمل کے وقت میں نمایاں فرق (جٹر) اکثر انہی استعمالات کے لیے مکمل طور پر مستحکم لیکن زیادہ ردعمل کے وقت سے بڑا مسئلہ ہوتا ہے۔ "ریکویسٹ ٹائم آؤٹ" کا مطلب ہے کہ مقررہ وقت میں کوئی جواب نہیں آیا - ہوسٹ واقعی بند ہو سکتا ہے، ایک فائر وال خاموشی سے ICMP کو بلاک کر سکتا ہے، یا راستے میں کہیں ایک ٹوٹا ہوا روٹ ہو سکتا ہے؛ "ڈسٹینیشن ان ریچ ایبل" مختلف اور زیادہ معلوماتی ہے: ایک درمیانی راؤٹر نے واضح طور پر بتایا کہ وہ پیکٹ آگے نہیں بھیج سکا، جو مسئلے کو زیادہ درست طریقے سے تلاش کرنے میں مدد کرتا ہے۔
عام غلطیاں
سب سے عام تشریحی غلطی یہ ہے کہ پنگ ناکام ہوتے ہی یہ نتیجہ اخذ کر لیا جائے کہ ہوسٹ "بند" ہے، جبکہ حقیقت میں بہت سے سرورز اور ڈیوائسز - خاص طور پر ایک اچھی طرح ترتیب دیے گئے فائر وال کے پیچھے، یا بڑے کلاؤڈ فراہم کنندگان کے پاس ہوسٹ کیے گئے - پالیسی کے طور پر جان بوجھ کر آنے والے ICMP کو بلاک کرتے ہیں، جبکہ ان کی اصل سروسز (HTTP، ڈیٹا بیس، وغیرہ) مکمل طور پر فعال اور قابل رسائی رہتی ہیں۔ اس لیے پنگ ردعمل کی عدم موجودگی صرف دوسرے اشارات کے ساتھ مل کر ڈاؤن ٹائم کا ایک درست ثبوت ہے، جیسے کہ ایپلیکیشن خود بھی جواب نہ دے۔ اس کے برعکس، ایک کامیاب پنگ کبھی بھی اس بات کی ضمانت نہیں دیتا کہ اس مشین پر ہوسٹ کی گئی ایپلیکیشن سروس صحیح طریقے سے کام کر رہی ہے - یہ نیٹ ورک اسٹیک میں دو مکمل طور پر آزاد تہیں ہیں۔
کب استعمال کریں
کسی ٹکٹ کو آگے بڑھانے سے پہلے سب سے پہلے چیک کرنے والی چیز: کیا ڈیوائس مزید تحقیقات سے پہلے بالکل جواب دے رہا ہے؟ فائر وال رول یا روٹنگ ٹیبل میں تبدیلی کے بعد کنیکٹیویٹی کی تصدیق کرنا، تاکہ یقینی بنایا جا سکے کہ تبدیلی نے رسائی نہیں توڑی۔ VoIP رول آؤٹ یا پرووائیڈر لنک فیل اوور سے پہلے ردعمل کے وقت کی بیس لائن قائم کرنا، تاکہ بعد میں کال کوالٹی کی شکایات آنے پر ایک معروضی موازنہ پوائنٹ فراہم کیا جا سکے۔ کئی کلائنٹ سائٹس کو بیک وقت مانیٹر کرنے والے ایم ایس پی کے لیے باقاعدہ، ہلکا صحت چیک، ہمیشہ گہری ایپلیکیشن سطح کی نگرانی کی تکمیل کے طور پر - کبھی متبادل کے طور پر نہیں۔
ٹریس روٹ (Traceroute)
منزل ہوسٹ تک نیٹ ورک کا راستہ (ہاپ بہ ہاپ) ٹریس کرتا ہے۔
ایک ہوسٹ نیم یا IP پتہ درج کریں اور چلائیں تاکہ اس سرور اور منزل کے درمیان ہر نیٹ ورک ہاپ، اس کی تاخیر کے ساتھ، دیکھا جا سکے۔
DNS لُک اپ (Nslookup)
DNS ریکارڈز کی تلاش کریں: A، AAAA، MX، TXT، NS، CNAME، SOA، PTR، SRV، CAA۔
ایک ڈومین درج کریں، ایک ریکارڈ قسم منتخب کریں (A، AAAA، MX، TXT، NS، CNAME، SOA، PTR، SRV، یا CAA)، پھر تلاش کریں۔
Whois
کسی ڈومین یا IP ایڈریس کی رجسٹریشن معلومات دیکھیں۔
کسی ڈومین یا IP پتے کی رجسٹریشن تفصیلات دیکھنے کے لیے اسے درج کریں — رجسٹرار، مالک تنظیم اور اہم تاریخیں۔
بلیک لسٹ چیک
چیک کرتا ہے کہ آیا کوئی IP پتہ یا ڈومین عوامی سپیم/بدسلوکی بلیک لسٹس (DNSBL) میں شامل ہے۔
ایک IPv4 پتہ یا ڈومین درج کریں اور چلائیں تاکہ ایک ساتھ 7 عوامی DNSBL/RBL بلیک لسٹس چیک ہو سکیں - ہر ایک کو شامل، غیر شامل، یا چیک ناکام کے طور پر دکھایا جاتا ہے۔
TCP پورٹ اسکین
جانچیں کہ کسی ہوسٹ یا IP پر TCP پورٹس کھلے ہیں: عام پورٹس، حسب ضرورت فہرست، یا مکمل 1-65535 رینج۔
ایک ہوسٹ یا IP درج کریں، عام پورٹس، اپنی فہرست، یا مکمل رینج منتخب کریں، پھر اسکین کریں کہ کون سے TCP پورٹس جواب دیتے ہیں۔
مکمل رینج اسکین میں تقریباً 100 سیکنڈ تک لگ سکتے ہیں۔ بڑے اسکین (100 سے زیادہ پورٹس، حسبِ ضرورت رینج/فہرستوں سمیت) فی زائر فی منٹ 1 بار تک محدود ہیں۔
کھلی پورٹس (0)
HTTP ہیڈر انسپیکٹر
کسی URL کے لیے HTTP جوابی حیثیت اور ہیڈرز حاصل کریں۔
کسی URL کا HTTP جواب کا اسٹیٹس کوڈ اور سرور کی طرف سے بھیجے گئے تمام جواب ہیڈرز حاصل کرنے کے لیے اسے درج کریں۔
SSL / TLS سرٹیفکیٹ چیکر
کسی ہوسٹ کے TLS سرٹیفکیٹ کا معائنہ کریں: جاری کنندہ، درستگی کی تاریخیں، اور باقی دن۔
کسی ہوسٹ نیم کا TLS سرٹیفکیٹ جانچنے کے لیے اسے درج کریں — جاری کنندہ، درستگی کی تاریخیں، اور میعاد ختم ہونے تک باقی دن۔
Geo-IP لُک اپ
کسی IP ایڈریس کا جغرافیائی محل وقوع اور نیٹ ورک معلومات دیکھیں۔ اپنا عوامی IP دیکھنے کے لیے خالی چھوڑ دیں۔
کوئی بھی IP پتہ درج کریں، یا اپنا پتہ دیکھنے کے لیے خالی چھوڑیں، تاکہ اس کا تخمینی مقام اور نیٹ ورک/ISP معلومات دیکھی جا سکیں۔
مکمل طور پر آپ کے براؤزر میں شمار کیا جاتا ہے — سرور کو کوئی ڈیٹا نہیں بھیجا جاتا۔
فوری طور پر نیٹ ورک رینج، براڈکاسٹ پتہ، اور قابل استعمال ہوسٹس کی تعداد شمار کرنے کے لیے ایک IP پتہ اور CIDR پریفکس درج کریں (مثلاً 192.168.1.0/24)۔
اسپیڈ ٹیسٹ
اس سرور کے ساتھ بنیادی ڈاؤن لوڈ/اپ لوڈ رفتار کا ٹیسٹ (درستگی سرور کے اپنے کنکشن پر منحصر ہے)۔
اس سرور کے مقابلے میں ڈاؤن لوڈ اور اپ لوڈ رفتار ناپنے کے لیے Start دبائیں۔ درستگی اس سرور کے اپنے کنکشن پر منحصر ہے۔
ملکی کوڈ لغت
ISO 3166-1 alpha-2 ملکی کوڈز — مکمل طور پر آپ کے براؤزر میں تلاش کیے جاتے ہیں۔
ISO 3166-1 alpha-2 ملکی کوڈز کی فہرست تلاش کریں یا براؤز کریں، جو مکمل طور پر آپ کے براؤزر میں تلاش کی جاتی ہے۔
ملک
ISO کوڈ
فون ڈائلنگ کوڈ لغت
ملک کے لحاظ سے بین الاقوامی کالنگ کوڈز — مکمل طور پر آپ کے براؤزر میں تلاش کیے جاتے ہیں۔
ملک کے لحاظ سے بین الاقوامی ڈائلنگ کوڈز تلاش کریں یا براؤز کریں، جو مکمل طور پر آپ کے براؤزر میں تلاش کیے جاتے ہیں۔
ملک
کوڈ
عالمی گھڑی
موجودہ وقت دیکھنے کے لیے ٹائم زون منتخب کریں — گلوب گھمانے کے لیے گھسیٹیں۔
فہرست سے ایک ٹائم زون منتخب کریں، یا گلوب کو گھمائیں، تاکہ وہاں کا موجودہ وقت دیکھا جا سکے۔
آپ کا وقت
--:--:--
—
—
منتخب وقت
--:--:--
—
—UTC±00:00
آپ سے وقت کا فرق—
—
گلوب گھمانے کے لیے گھسیٹیں۔
فرانس موبائل نیٹ ورک کی صورتحال
فرانس میں آپریٹر کے مطابق (Orange، Free، SFR، Bouygues Telecom) خراب یا زیرِ دیکھ بھال موبائل اینٹینا سائٹس، Arcep کے عوامی ڈیٹا سے۔ دن میں ایک بار اپ ڈیٹ ہونے والا سنیپ شاٹ - منٹ بہ منٹ فیڈ نہیں۔
فرانسیسی آپریٹر کے لحاظ سے موبائل اینٹینا اور فائبر بندش کا ڈیٹا براؤز کریں — کچھ درج کرنے کی ضرورت نہیں، ARCEP کے عوامی ڈیٹا سے خودکار طور پر اپ ڈیٹ ہوتا ہے۔
ماخذ: Arcep، "Sites indisponibles" ڈیٹاسیٹ، Licence Ouverte / Etalab 2.0 کے تحت شائع - تجارتی دوبارہ استعمال کی واضح اجازت ہے، پہلے استعمال ہونے والے IODA/CAIDA ڈیٹا کے برعکس۔ Normal/Watch/Alert بیج ایک اندرونی تخمینہ ہے (آج کی خرابیوں کی تعداد بمقابلہ گزشتہ دنوں کا اوسط)، Arcep کی سرکاری درجہ بندی نہیں۔ ماخذ لنکس نیچے۔
سب سے زیادہ متاثرہ محکمے
فی الوقت خراب یا زیرِ دیکھ بھال سائٹس کی تعداد، محکمے کے لحاظ سے۔ فلٹر کے لیے اوپر کسی آپریٹر پر کلک کریں۔
آپریٹر کے مطابق فائبر (FTTH) نیٹ ورک کا معیار: رپورٹ شدہ خرابی کی شرح اور کنکشن ناکامی کی شرح، Arcep کے عوامی ڈیٹا سے۔ ماہانہ اشاریے، 6 ماہ کا اوسط - موبائل سیکشن کی طرح لائو فیڈ نہیں۔
ماخذ: Arcep، "Qualité des réseaux en fibre optique" ڈیٹاسیٹ، Licence Ouverte / Etalab 2.0 کے تحت شائع - تجارتی دوبارہ استعمال کی واضح اجازت ہے۔ ماخذ لنکس نیچے۔
آپریٹر کے مطابق (بنیادی کمپنی)
گزشتہ 6 دستیاب مہینوں کا اوسط، انفراسٹرکچر آپریٹر کی بنیادی کمپنی کے مطابق۔
NetChecks صرف جائز نیٹ ورک تشخیص اور تعلیمی مقاصد کے لیے فراہم کیا گیا ہے، صرف ان سسٹمز، ڈومینز اور IP ایڈریسز پر جن کے آپ مالک ہیں یا جن کی جانچ کے لیے آپ کو واضح طور پر اجازت دی گئی ہے۔
بغیر اجازت کے تیسرے فریق کے سسٹمز کے خلاف پورٹ اسکین، DNS/whois لُک اپ، ٹریس روٹ یا دیگر جانچ چلانا آپ کے دائرہ اختیار میں کمپیوٹر کے غلط استعمال کے قوانین کی خلاف ورزی ہو سکتی ہے (مثلاً امریکہ میں Computer Fraud and Abuse Act، فرانس میں "Loi Godfrain"، یا مساوی مقامی قانون سازی)۔ یہ یقینی بنانا مکمل طور پر آپ کی ذمہ داری ہے کہ آپ کے پاس یہاں درج کیے گئے کسی بھی ہدف کو جانچنے کا حق ہے۔
یہ سائٹ اور اس کے نتائج "جیسے ہیں ویسے ہی" فراہم کیے جاتے ہیں، کسی بھی قسم کی ضمانت کے بغیر۔ اس سائٹ کا آپریٹر اس سائٹ کے استعمال سے پیدا ہونے والے کسی بھی براہ راست، بالواسطہ یا نتیجہ خیز نقصان، قانونی نتائج، یا غلط استعمال کی کوئی ذمہ داری قبول نہیں کرتا۔
بدسلوکی کو روکنے کے لیے درخواستوں کی شرح محدود کی جاتی ہے۔ اس انسٹینس کا آپریٹر اختیاری طور پر درخواست کی سرگرمی لاگ کرنے کو فعال کر سکتا ہے - اگر ایسا ہو، تو ہر ٹول درخواست (آپ کا آئی پی ایڈریس، ٹائم اسٹیمپ، استعمال شدہ ٹول، اور درج کردہ ہدف/سوال) سیکیورٹی، بدسلوکی کی روک تھام اور استعمال کے تجزیے کے مقاصد کے لیے ڈیٹا بیس میں ریکارڈ کیا جا سکتا ہے۔ یہ بطور ڈیفالٹ غیر فعال ہے۔ اس سائٹ کو استعمال کرکے آپ ان شرائط سے اتفاق کرتے ہیں؛ اگر آپ متفق نہیں ہیں تو براہ کرم اس سائٹ کو استعمال نہ کریں۔
اس سائٹ کا پروگرام ایبل (API) استعمال بھی انہی شرائط کے تابع ہے، بشمول اوپر دی گئی اجازت کی شرط۔
رائے بھیجیں
کوئی مسئلہ بتائیں، تبصرہ کریں، یا نئی خصوصیت تجویز کریں۔
یہ سائٹ اشتہارات دکھاتی ہے اور، اگر آپ اتفاق کریں، ہوسٹنگ کی مالی معاونت کے لیے اشتہاری پارٹنر کوکیز استعمال کرتی ہے۔ آپ انکار کر سکتے ہیں اور تمام ٹولز کو اشتہارات کے بغیر استعمال جاری رکھ سکتے ہیں۔