هنگام گشت و گذار در اینترنت یا بررسی یک وب سایت، احتمالا با اصطلاحاتی مانند "URI" و "URL" مواجه شدهاید. تفاوت میان URI و URL قطعا برای شما نیز جای سوال است. این دو، از مفاهیم مهم در وب هستند و ممکن است به جای یکدیگر استفاده شوند. با این حال، آنها مشابه یکدیگر نیستند. تفاوت اصلی میان URI و URL در این است که URI می تواند URL و URN (یک آدرس ثابت و دائمی می باشد) یک منبع را به طور همزمان نشان دهد، در حالی که URL تنها آدرس آن منبع را در اینترنت مشخص می کند. در این مقاله، URI و URL به صورت جداگانه بررسی و تفاوت های بین آنها ذکر شده است.
URI چیست؟
Uniform Resource Identifier به اختصار URI، یک شناسه است که منبعی در اینترنت را آدرسدهی میکند. این شناسه، رشتهای از کاراکترها میباشد که برای شناسایی هر نوع منبع در اینترنت از طریق مکان، نام یا هر دو، مورد استفاده قرار میگیرد. URI شامل دو زیر مجموعه به نام URL (Uniform Resource Locator) و URN (Uniform Resource Number) می شود. اگر آدرس تنها شامل یک نام باشد بدان معنا خواهد بود که URL نیست.
تصویر(1)
یک URI شامل scheme، authority، path، query و یک fragment است. برخی از رایج ترین scheme های URI عبارتند از:
- HTTP
- HTTPs
- ftp
- Idap
- telnet
- و غیره.
نحوه نگارش URI
در خصوص تفاوت میان URI و URL لازم است تا با نوشتن هر کدام از این موارد آشنا شوید. نحوه نگارش یک URI، به صورت زیر است:
scheme:[//authority]path[?query][#fragment]
- Scheme: اولین جزء URI، یک scheme میباشد که شامل دنباله ای از کاراکترها است. این دنباله، میتواند ترکیبی از حروف، ارقام و علائمی مانند جمع (+) یا خط فاصله (_) باشد که در انتهای آنها دو نقطه (:) قرار میگیرد. برخی scheme های محبوب عبارتند از http، file، ftp، data و irc که در IANA ثبت شده اند.
- Authority: مؤلفه Authority اختیاری است و قبل از آن دو اسلش (//) قرار می گیرد. این بخش شامل سه جزء فرعی زیر می شود:
1. userinfo: ممکن است شامل یک نام کاربری و یک رمز عبور باشد که با دو نقطه از یکدیگر جدا شده اند. بعد از userinfo علامت @ قرار میگیرد.
2. host: شامل یک نام دامنه ثبت شده یا یک آدرس IP است. آدرس IP باید در داخل براکت ( [] ) قرار داده شود.
3. پورت: اختیاری
- Path: شامل سلسله مراتب مسیر است که با علامت اسلش (/) از یکدیگر جدا شده اند. این بخش همواره در URI وجود خواهد داشت. با این حال، مسیر مشخص شده ممکن است خالی یا با 0 (عدد صفر) نمایش داده شود.
- Query: یک بخش اختیاری بوده و قبل از آن، علامت سوال (?) قرار می گیرد. Query شامل یک رشته از داده ها بدون سلسله مراتب است.
- Fragment: این بخش نیز اختیاری بوده و قبل از آن یک علامت هشتگ (#) قرار میگیرد. شناسه Fragment، محل قرارگیری منبع ثانویه را مشخص می کند.
چند نمونه از URI در زیر آورده شده است:
mailto:mail@example.com
news:comp.infosystems.www.example.unix
urn:oasis:example:specification:docbook:dtd:xml:4.1.2
URL چیست؟
URL مخفف عبارت Uniform Resource Locator است که برای یافتن مکان منبع در وب، از آن استفاده می شود. URL راهی برای ارجاع و دسترسی به آن منبع می باشد. این آدرس همواره یک منبع منحصر به فرد را نشان میدهد و میتواند شامل یک صفحه HTML، یک فایل CSS، یک تصویر و غیره شود. هر URL از پروتکلی برای دسترسی به منبع استفاده می کند که می تواند HTTP، HTTPS، FTP و غیره باشد. URL عموما به عنوان آدرس وب سایت شناخته می شود که کاربر می تواند آن را در نوار آدرس خود مشاهده کند. نمونه ای از URL در تصویر زیر آورده شده است:
تصویر(2)
توجه کنید که همه URL ها میتوانند URI هم باشند اما عکس این مورد صادق نیست. به این دلیل که یک URI هم شامل URL و هم URN است و می تواند صرفا یکی از آنها را شامل شود.
تصویر(3)
نحوه نگارش URL
هر HTTP URL، از نگارش URI خود پیروی می کند. از این رو چیدمان URL نیز مشابه URI خواهد بود. نمونه ای از آن در ادامه آورده شده است:
scheme:[//authority]path[?query][#fragment]
URL فوق از اجزای زیر تشکیل شده است:
- Scheme: اولین جزء URL، یک Scheme است که نشان دهنده پروتکل مرورگر برای درخواست منبع می باشد. پروتکل های رایج برای وب سایت ها، HTTP یا HTTPS هستند.
- Authority: این بخش دارای دو جزء فرعی، شامل نام دامنه و پورت می باشد که با دو نقطه از یکدیگر جدا شده اند. پورت شماره 80 برای HTTP و 443 برای HTTPS استفاده می شود.
- Path: این گزینه، مسیر کامل منبع را در وب سرور، نشان می دهد. مانند:
/software/htp/index.html
- رشته Query: رشته ای است که شامل نام و مقدار تخصیص داده شده به آن می باشد. اگر در URL استفاده شود، مسیر را دنبال کرده و اطلاعات را نمایش می دهد. مانند:
"?key1=value1&key2=value2"
- Fragment: این بخش نیز اختیاری است که قبل از آن یک علامت هشتگ (#) قرار می گیرد.
بررسی تفاوت میان URI و URL
- URI شامل URL و URN برای شناسایی نام و مکان یا هر دو است. در مقابل، URL زیرمجموعه ای از URI می باشد و تنها مکان منبع را مشخص می کند.
- برای URI می توان مثال urn:isbn:0-476-27557-4 را عنوان نمود. نمونه ای از URL نیز https://example.com می باشد.
- از URI می توان برای یافتن منابع HTML، XML و فایل های دیگر نیز استفاده کرد، در حالی که از URL صرفا برای مکان یابی یک صفحه وب استفاده می شود.
- هر URL می تواند یک URI محسوب شود، در حالی که همه URI ها نمی توانند URL باشند.
تفاوت های میان URI و URL
URI |
URL |
URI مخفف Uniform Resource Identifier است. |
URL مخفف Uniform Resource Locator است. |
URI شامل دو زیر مجموعه است. URN نام و URL مکان منابع را نمایش می دهد. |
URL زیرمجموعه ای از URI است که تنها مکان منبع را نشان می دهد. |
همه URI ها URL نیستند، زیرا می توانند نام و مکان را شامل شوند. |
همه URL ها URI هستند، زیرا هر URL تنها حاوی یک مکان است. |
هدف URI شناسایی یک منبع و تمایز آن از سایرین، توسط نام منبع یا مکان آن است. |
هدف یک URL یافتن مکان یا آدرس یک منبع در وب است. |
نمونه ای از URI می تواند ISBN 0-486-35557-4 باشد. |
نمونه ای از URL آدرس https://www.example.com است. |
معمولا در XML و تگ فایل های کتابخانه ای مانند JSTL و XSTL برای شناسایی منابع و باینری ها استفاده می شود. |
عمدتاً برای جستجوی صفحات وب در اینترنت استفاده می گردد. |
scheme یک URI می تواند پروتکل، مشخصات یا هر مورد دیگری باشد. |
scheme یک URL معمولاً یک پروتکل مانند HTTP، HTTPS، FTP و غیره است. |
جدول(1)
نتیجه
با مطالعه این مقاله، به تفاوت میان URI و URL پی خواهید برد. URI دنباله ای از کاراکترها است که یک منبع وب را بر اساس مکان، نام یا هر دو مورد، مشخص می کند. در حالی که URL، مجموعه ای از کاراکترها بوده و تنها مکان یک منبع موجود در اینترنت را تعیین می نماید.