یک منبع یاب یکنواخت ( URL )، که به صورت محاوره ای به عنوان آدرس در وب شناخته می شود ، [1] ارجاع به منبعی است که مکان آن را در یک شبکه کامپیوتری و مکانیزمی برای بازیابی آن مشخص می کند. URL یک نوع خاص از Uniform Resource Identifier (URI) است، [2] [3] اگرچه بسیاری از مردم از این دو اصطلاح به جای یکدیگر استفاده می کنند. [4] [a] URL ها معمولاً برای صفحات وب مرجع ( HTTP / HTTPS ) رخ می دهند، اما برای انتقال فایل ( FTP )، ایمیل ( mailto )، دسترسی به پایگاه داده ( JDBC )، و بسیاری از برنامه های کاربردی دیگر نیز استفاده می شوند.
اکثر مرورگرهای وب URL یک صفحه وب را در بالای صفحه در نوار آدرس نمایش می دهند . یک URL معمولی می تواند شکلی داشته باشد http://www.example.com/index.html
که یک پروتکل ( http
)، نام میزبان ( www.example.com
) و نام فایل ( index.html
) را نشان می دهد.
مکان یاب های یکنواخت منبع در RFC 1738 در سال 1994 توسط تیم برنرز لی ، مخترع شبکه جهانی وب ، و گروه کاری URI گروه کاری مهندسی اینترنت (IETF) تعریف شد ، [7] به عنوان یک نتیجه از همکاری آغاز شده در جلسه IETF Living Documents Birds of a Feather در سال 1992. [7] [8]
این فرمت سیستم از قبل موجود نام دامنه (ایجاد شده در سال 1985) را با نحو مسیر فایل ترکیب می کند ، که در آن از اسلش برای جدا کردن فهرست و نام فایل استفاده می شود . قراردادهایی قبلاً وجود داشت که در آن نام سرورها میتوانستند برای تکمیل مسیرهای فایل پیشوند شوند، قبل از آن یک اسلش دوتایی ( //
). [9]
برنرز لی بعداً از استفاده از نقطهها برای جدا کردن قسمتهای نام دامنه در URI ابراز پشیمانی کرد ، و آرزو داشت که از اسلشها در سراسر URI استفاده میکرد، [9] و همچنین گفت که با توجه به دو نقطه بعد از اولین جزء یک URI، این دو اسلش قبل از نام دامنه غیر ضروری بود. [10]
همکاران اولیه WorldWideWeb از جمله Berners-Lee در ابتدا استفاده از UDIs: Universal Document Identifiers را پیشنهاد کردند. یک پیش نویس اولیه (1993) از مشخصات HTML [11] به مکان یاب های منبع "جهانی" اشاره داشت. مدتی بین ژوئن 1994 ( RFC 1630) و اکتبر 1994 (draft-ietf-uri-url-08.txt) حذف شد. [12] برنرز لی در کتاب خود بافی وب بر ترجیح خود برای گنجاندن اصلی کلمه "جهانی" در بسط به جای کلمه "یکنواخت" که بعداً به آن تغییر یافت، تأکید می کند و شرح مختصری از آن ارائه می دهد. اختلافاتی که منجر به تغییر شد.
هر URL HTTP با نحو یک URI عمومی مطابقت دارد. نحو عمومی URI شامل پنج جزء است که به صورت سلسله مراتبی به ترتیب کاهش اهمیت از چپ به راست سازماندهی شده اند: [13] : §3
URI = طرح ":" ["//" مرجع] مسیر ["?" پرس و جو] [قطعه "#"]
اگر یک جزء دارای یک جداکننده مرتبط باشد و جداکننده در URI ظاهر نشود، تعریف نشده است. اجزای طرح و مسیر همیشه تعریف می شوند. [13] : §5.2.1 یک جزء در صورتی خالی است که هیچ کاراکتری نداشته باشد. جزء طرح همیشه خالی نیست. [13] : §3
مؤلفه اقتدار از اجزای فرعی تشکیل شده است :
Authority = [userinfo "@"] host [":" port]
این در یک نمودار نحوی به صورت زیر نمایش داده می شود:
URI شامل:
:
)، متشکل از دنباله ای از کاراکترها که با یک حرف شروع می شود و با هر ترکیبی از حروف، رقم، به اضافه (+
)، نقطه (.
)، یا خط فاصله (-
) همراه می شود. اگرچه طرحها به حروف بزرگ و کوچک حساس نیستند، شکل متعارف آن حروف کوچک است و اسنادی که طرحها را مشخص میکنند باید این کار را با حروف کوچک انجام دهند.هاییاز طرح های محبوب عبارتند ازhttp
,https
,ftp
,,و.سازمان شمارههای اختصاص داده شده اینترنتی (IANA)ثبت شوند، اگرچه طرحهای ثبت نشده در عمل استفاده میشوند.[ب]mailto
file
data
irc
//
) که شامل:@
)، که ممکن است شامل یکنام کاربریو یکرمز عبورکه قبل از آن یک دونقطه (:
) قرار دارد. استفاده از قالبusername:password
در زیرمجموعه اطلاعات کاربر به دلایل امنیتی منسوخ شده است. برنامهها نباید هیچ دادهای را بعد از اولین کولون (:
) موجود در زیرمجموعه اطلاعات کاربر به صورت متن واضح ارائه کنند، مگر اینکه دادههای بعد از دو نقطه، رشته خالی باشد (که نشان دهنده عدم وجود رمز عبور باشد).[]
.[13] : §3.2.2 [c]:
)، متشکل از ارقام اعشاری قرار دارد./
) از هم جدا شده اند. یک مسیر همیشه برای یک URI تعریف می شود، اگرچه مسیر تعریف شده ممکن است خالی باشد (طول صفر). همچنین ممکن است یک قطعه خالی باشد که منجر به دو اسلش متوالی (//
) در جزء مسیر شود. یک جزء مسیر ممکن است دقیقاً شبیه یکمسیر سیستم فایل، اما همیشه به ارتباطی با یکی دلالت نمی کند. اگر یک مؤلفه اقتدار تعریف شده باشد، مؤلفه مسیر یا باید خالی باشد یا با یک اسلش (/
) شروع شود. اگر یک جزء مرجع تعریف نشده باشد، مسیر نمی تواند با یک بخش خالی شروع شود - یعنی با دو اسلش (//
) - زیرا کاراکترهای زیر به عنوان یک جزء مرجع تفسیر می شوند.[16] : §3.3 "http://www.example.com/questions/3456/my-document"
"/questions"
اولین قسمت مسیر است ( یک ماژول یا برنامه اجرایی) و "/3456/my-document"
قسمت دوم مسیر با نام pathinfo"/questions"
است که برای انتخاب سند درخواستی به ماژول یا برنامه اجرایی نامگذاری شده ارسال می شود .?
)، متشکل از یکرشته پرس و جواز داده های غیر سلسله مراتبی است. نحو آن به خوبی تعریف نشده است، اما طبق قرارداد اغلب دنباله ای ازجفت های ویژگی-مقدارکه توسط یکجداکننده.#
). قطعه حاوی یکشناسه قطعهکه جهت یک منبع ثانویه را فراهم می کند، مانند عنوان بخش در یک مقاله که توسط بقیه URI شناسایی می شود. هنگامی که منبع اصلی یکHTML، قطعه اغلب یکid
ویژگیاز یک عنصر خاص است و مرورگرهای وب این عنصر را به نمایش میگذارند.یک مرورگر وب معمولاً با انجام یک درخواست HTTP به میزبان مشخص شده، به طور پیشفرض در پورت شماره 80، یک URL را ارجاع نمیدهد . URLهایی که از این طرح استفاده میکنند نیاز دارند که درخواستها و پاسخها از طریق یک اتصال امن به وبسایت انجام شود .https
کاربران اینترنت در سراسر جهان با استفاده از زبانها و الفبای بسیار متنوعی توزیع شدهاند و انتظار دارند که بتوانند URLهایی را با الفبای محلی خود ایجاد کنند. شناسه منابع بین المللی ( IRI) شکلی از URL است که شامل کاراکترهای یونیکد است. همه مرورگرهای مدرن از IRI پشتیبانی می کنند. بخشهایی از URL که برای حروف مختلف نیاز به رفتار ویژه دارند، نام دامنه و مسیر هستند. [18] [19]
نام دامنه در IRI به عنوان یک نام دامنه بین المللی (IDN) شناخته می شود. نرم افزار وب و اینترنت به طور خودکار نام دامنه را به کد پونی قابل استفاده توسط سیستم نام دامنه تبدیل می کند . به عنوان مثال، URL چینی http://例子.卷筒纸
تبدیل می شود http://xn--fsqu00a.xn--3lr804guic/
. نشان xn--
می دهد که شخصیت در اصل ASCII نبوده است . [20]
نام مسیر URL نیز می تواند توسط کاربر در سیستم نوشتن محلی مشخص شود. اگر قبلاً کدگذاری نشده باشد، به UTF-8 تبدیل میشود و هر کاراکتری که بخشی از مجموعه کاراکترهای URL اصلی نیست، با استفاده از درصد رمزگذاری بهعنوان هگزادسیمال فرار میکند . به عنوان مثال، URL ژاپنی تبدیل می شود . کامپیوتر هدف آدرس را رمزگشایی می کند و صفحه را نمایش می دهد. [18] http://example.com/引き割り.html
http://example.com/%E5%BC%95%E3%81%8D%E5%89%B2%E3%82%8A.html
پیوندهای مرتبط با پروتکل (PRL)، همچنین به عنوان URL های مرتبط با پروتکل (PRURL) شناخته می شوند، آدرس هایی هستند که هیچ پروتکل مشخصی ندارند. به عنوان مثال، //example.com
از پروتکل صفحه فعلی، معمولا HTTP یا HTTPS استفاده می کند. [21] [22]
http://www.example.com
یک URL است، در حالی www.example.com
که نیست. [6].0
بخش هایی از نمادهای اعشاری نقطه ای حذف شوند یا از آدرس های IP اعداد صحیح خام استفاده شود. [15]