§

URL

§

URL کے حصے

مکمل URL (href)
پروٹوکول
یوزرنیم
پاس ورڈ
ہوسٹ
ہوسٹ نیم
پورٹ
پاتھ نیم
سرچ (خام)
ہیش (فریگمنٹ)
اوریجن
§

کوئری پیرامیٹرز

کلید قدر (خام) ڈیکوڈ شدہ قدر

اس URL میں کوئی کوئری پیرامیٹر نہیں

PTA کے Prevention of Electronic Crimes Act (PECA 2016) کے تحت قائم سائبر کرائم رپورٹنگ سینٹرز میں تفتیش کاروں کو مشکوک .gov.pk URLs کو اجزاء میں تقسیم کرنا پڑتا ہے — پاتھ، کوئری سٹرنگ اور فریگمنٹ الگ الگ دیکھ کر phishing کا پیٹرن فوری سامنے آتا ہے۔ NCERT-PK کے سائبر ریسپانس ورک فلو میں بھی URL parsing ایک لازمی قدم ہے۔ NTC کی fintech رہنمائی پر عمل کرنے والے ٹیم لیڈر UTM اور gclid پیرامیٹرز کا جائزہ اسی طریقے سے لیتے ہیں، اور اس ٹول کی خاصیت یہ ہے کہ مشکوک لنک کسی بیرونی سرور پر نہیں جاتا — سب کچھ مقامی براؤزر میں ہوتا ہے۔

URL پارسنگ کیسے کام کرتی ہے

پارسر WHATWG URL معیار پر چلتا ہے، وہی الگورتھم جو براؤزر کسی بھی href کے لیے استعمال کرتا ہے۔ ہم سٹرنگ کو مقامی URL کنسٹرکٹر کو دیتے ہیں اور ہر جزو کو پراپرٹی کے طور پر واپس پڑھتے ہیں۔

  1. ان پٹ کی جانچ. خالی سٹرنگ پر خالی ان پٹ کا پیغام ظاہر ہوتا ہے۔ بصورتِ دیگر ہم متن کو new URL(text) پر بھیجتے ہیں؛ TypeError کا مطلب ہے کہ سٹرنگ درست absolute URL نہیں ہے۔
  2. ساختی اجزاء پڑھنا. ہم URL آبجیکٹ سے protocol، username، password، host، hostname، port، pathname، search، hash اور origin پڑھتے ہیں۔ ہر ایک اپنی قطار میں دکھتا ہے تاکہ آپ اسے الگ کاپی کر سکیں۔
  3. کوئری سٹرنگ کا جائزہ. ہم url.searchParams.entries() پر چکر لگاتے ہیں اور ہر کلید کے لیے ایک ٹیبل قطار بناتے ہیں۔ خام قدر decodeURIComponent(value) کے ساتھ رکھی جاتی ہے تاکہ پرسنٹ انکوڈڈ مواد (خالی جگہیں، پلس نشانات، Unicode) سادہ متن میں پڑھا جا سکے۔
  4. مانگ پر تعمیرِ نو. کسی سیل کو تبدیل کریں، قطار حذف کریں، یا نیا پیرامیٹر شامل کریں، پھر Build URL پر کلک کریں۔ ٹول آپ کی ترامیم سے نیا URL آبجیکٹ بناتا ہے اور نتیجہ ان پٹ باکس میں لکھتا ہے۔
  5. لائیو موڈ. لائیو موڈ چالو کریں اور ہر کی اسٹروک پر 150 ms debounce کے ساتھ URL دوبارہ پارس ہو جائے گا۔ یہ اس وقت مفید ہے جب آپ لاگ سے ٹکڑے paste کر کے فوری نتیجہ چاہتے ہوں۔

اپنے براؤزر میں URL کیوں پارس کریں

  • ٹیب سے کچھ باہر نہیں جاتا. URLs میں ٹوکن، سیشن IDs، OAuth state اور دستخط شدہ کوئری پیرامیٹرز ہوتے ہیں جو آپ کسی تھرڈ پارٹی سروس کو نہیں دینا چاہتے۔ یہ پارسر وہی URL الگورتھم استعمال کرتا ہے جو آپ کا براؤزر مقامی طور پر چلاتا ہے — کوئی اپلوڈ نہیں، کوئی نیٹ ورک کال نہیں۔
  • آپ کے کوڈ جیسا نتیجہ. Node.js، Deno، جدید براؤزر اور Cloudflare Workers سب WHATWG URL implementation کے ساتھ آتے ہیں۔ یہاں URL کا معائنہ وہی اجزاء دیتا ہے جو پروڈکشن میں new URL(input) کال دیتی ہے۔
  • کوئری سٹرنگز انسانوں کی طرح پڑھتا ہے. خام اور ڈیکوڈ شدہ قدریں ساتھ ساتھ دکھتی ہیں، اس لیے q=hello%20world جوڑا wire bytes اور پڑھنے کے قابل hello world دونوں ایک نظر میں دکھاتا ہے۔ ذہنی URL ڈیکوڈنگ کی ضرورت نہیں۔
  • راؤنڈ ٹرپ ترمیم. ٹریکنگ پیرامیٹر ہٹائیں، پاتھ میں ٹائپو ٹھیک کریں، پورٹ بدلیں — اور URL دوبارہ بنائیں۔ آؤٹ پٹ URL کنسٹرکٹر سے گزرتا ہے اس لیے کوئی بھی غلط چیز کاپی کرنے سے پہلے سامنے آ جاتی ہے۔

عام استعمال

URL پارسنگ ڈویلپرز، سیکیورٹی اور اینالیٹکس کے روزمرہ کام میں تب سامنے آتی ہے جب URL محض ایک لنک سے زیادہ ہو۔

  • API اینڈ پوائنٹس ڈیبگ کرنا: curl یا Postman درخواست بھیجنے سے پہلے base URL، پاتھ اور کوئری پیرامیٹرز تصدیق کریں۔
  • ٹریکنگ پیرامیٹر آڈٹ: لینڈنگ پیج URL پر ہر UTM، gclid، fbclid یا کیمپین کلید کی فہرست بنائیں اور فیصلہ کریں کہ کون سی رکھنی ہے۔
  • الحاق اور پارٹنر لنکس کی جانچ: ڈیپ لنک paste کریں، منزل ہوسٹ اور اندر موجود ری ڈائریکٹ ہدف کی اشاعت سے پہلے تصدیق کریں۔

ایک عملی مثال

https://example.com/search?q=hello%20world&lang=en کو ان پٹ میں paste کریں۔ پروٹوکول https:، ہوسٹ نیم example.com، پاتھ نیم /search، اور سرچ ?q=hello%20world&lang=en دکھتا ہے۔ کوئری ٹیبل دو قطاریں دکھاتا ہے: q کی خام قدر hello%20world اور ڈیکوڈ شدہ قدر hello world، پھر lang کی خام اور ڈیکوڈ شدہ دونوں قدریں en۔ lang قطار پر Remove کلک کریں، پھر Build URL — ان پٹ https://example.com/search?q=hello%20world پر اپ ڈیٹ ہو جاتا ہے۔

FAQ

URL پارسر کیا ہے؟

URL پارسر ایک URL سٹرنگ لے کر اسے نام زدہ اجزاء میں تقسیم کرتا ہے: پروٹوکول (https)، یوزر انفو (یوزرنیم، پاس ورڈ)، ہوسٹ (ہوسٹ نیم اور اختیاری پورٹ)، پاتھ، کوئری سٹرنگ اور فریگمنٹ۔ یہ ہر کوئری پیرامیٹر کو بھی ڈیکوڈ کرتا ہے تاکہ پرسنٹ انکوڈڈ قدریں (جیسے %20 بطور خالی جگہ) پڑھی جا سکیں۔ یہاں موجود پارسر WHATWG URL معیار استعمال کرتا ہے، وہی جو براؤزر صفحہ لوڈ کرنے کے لیے استعمال کرتا ہے۔

host اور hostname میں کیا فرق ہے؟

Hostname صرف ڈومین (یا IP ایڈریس) ہے — example.com:8080 کے لیے hostname example.com ہے۔ Host، hostname کے ساتھ پورٹ بھی شامل کرتا ہے جب غیر ڈیفالٹ پورٹ موجود ہو، اس لیے اسی URL کا host example.com:8080 ہے۔ ڈیفالٹ پورٹ (https کے لیے 443، http کے لیے 80) پر URLs میں host اور hostname ایک جیسے ہوتے ہیں۔

کیا ڈیکوڈنگ خودکار ہوتی ہے؟

ساختی اجزاء (پروٹوکول، ہوسٹ نیم، پورٹ، پاتھ نیم) URL آبجیکٹ سے براہِ راست پڑھے جاتے ہیں بغیر اضافی ڈیکوڈنگ کے — URL کنسٹرکٹر انہیں پہلے سے معمول پر لا چکا ہوتا ہے۔ کوئری قدریں دو بار دکھائی جاتی ہیں: خام پرسنٹ انکوڈڈ سٹرنگ جیسی search میں دکھتی ہے، اور decodeURIComponent سے حاصل ڈیکوڈ شدہ قدر۔ اس طرح آپ جو بھی شکل چاہیں کاپی کر سکتے ہیں۔

کیا میں URL تبدیل کر کے دوبارہ بنا سکتا ہوں؟

جی ہاں۔ ہر حصے کا سیل اور ہر کوئری پیرامیٹر سیل قابلِ ترمیم ہے۔ Add اور Remove بٹنوں سے کوئری قطاریں شامل یا ہٹائیں، پھر Build URL from parts پر کلک کریں۔ ٹول آپ کی ترامیم کو URL کنسٹرکٹر میں واپس چلاتا ہے اور نتیجہ ان پٹ میں لکھتا ہے — اگر ترامیم غلط URL بنائیں تو وہی خطا پیغام ملتا ہے جو آپ کے اپنے کوڈ میں new URL() دیتا ہے۔

URL پارسنگ انہی چھوٹے کاموں میں سے ہے جو ہر ویب ڈویلپر ہر ہفتے کرتا ہے۔ براؤزر میں، اسی الگورتھم کے ساتھ جو پروڈکشن کوڈ استعمال کرتا ہے، یہ کام تیز اور ڈیٹا آپ کی مشین پر محفوظ رہتا ہے۔