دانستن تفاوت بین URI و URL می تواند مسیر توسعه وب سایت شما را ساده تر کند. به عنوان مثال، میتوانید راحتتر یک REST API طراحی کنید، یک URI یا یک URL هر منبع را در وب شناسایی میکند.
یک URL شناسه ای است که فقط مکان یک صفحه وب را نشان می دهد. به آدرس وب و HTTP، FTP و mailto اشاره دارد.
یک URI رشته ای از کاراکترها است که به طور کلی هر منبع وب را با استفاده از نام، مکان یا هر دو شناسایی می کند. یک URL و یک (uniform resource name) URN دو نوع URI هستند.
به طور خلاصه، تفاوت اصلی بین URI و URL این است که اولی می تواند یک نام، یک مکان یا هر دو باشد، در حالی که دومی فقط مکان یک resource را ارائه می دهد.
پروتکل های وب مانند HTTP و HTTPS از URI برای برقراری ارتباط با resources در اینترنت استفاده می کنند. معماری URI ها رشته ای از کاراکترها است که نشان دهنده آدرس یک منبع وب است که معمولاً ترکیبی از نام و آدرس منبع است.
protocol://[authority]path[?query][#fragment]
۱. پروتکل: قبل از اینکه یک URI بتواند به یک منبع دسترسی پیدا کند، باید نوع پروتکل مشخص شود.
این پروتکل پرکاربردترین پروتکل در اینترنت است. مخفف عبارت HyperText Transfer Protocol است که برای دسترسی به منابع در اینترنت استفاده می شود.
این شبیه به http است، اما دادههای در حال انتقال را با استفاده از یک ارتباط امن (SSL/TLS) رمزگذاری میکند.
این پروتکل برای ارسال و دریافت ایمیل استفاده میشود.
این پروتکل که مخفف «پروتکل انتقال فایل» است، فایلها را داخل یک شبکه انتقال میدهد.
2. authority
۳. آدرس/path: مکان/آدرس منبع را در ساختار دایرکتوری سرور مشخص می کند. میبایست خالی باشد یا با یک " / " از سایر بخشها جدا شود. برای مثال
۴. کوئری/Query string: این جز اختیاری است و اطلاعات اضافی را مشخص می کند که هنگام درخواست منبع، به سرور ارسال شود.
5. Fragment Component:
این جز اختیاری شامل یک شناسه قطعه (fragment identifier) است که یک منبع دوم را مشخص میکند. این جز به بخش دیگری از منبع اولیه اشاره دارد. قبل از یک قطعه یک نماد هشتگ وجود دارد و با پایان یک URI خاتمه می یابد.
https://example.ir/test/test1?search=test-question#part2
Interoperability
یکURI نسبت به URL قابلیت استفاده بیشتری دارد زیرا میتواند در سیستمها و پروتکلهای مختلف استفاده شوند. از سوی دیگر، URLها مختص اینترنت هستند و فقط توسط مرورگرهای وب و سایر برنامههای مبتنی بر اینترنت استفاده میشوند.
برای مثال ISAN یک سریال برای شناسایی آثار صوتی/تصویری مانند فیلمها و مستندها و ... است. با استفاده از urn: scheme یک URI میتواند سریال ISAN را بدون استفاده از پروتکل شناسایی کند. برای مثال urn:isan:0000-0000-2CEA-0000-1-0000-0000-Y فیلم سینمای اسپایدر من است.
Namespace independence
یک URL مختص اینترنت است و از یک DNS استفاده می کند، در حالی که URIها به یک طرح نامگذاری خاص یا DNS متصل نیستند. این بدان معناست که URI ها می توانند منابع را در هر سیستم نام گذاری ای شناسایی کنند، در حالی که URL ها فقط می توانند منابع موجود در فضای نام اینترنت را شناسایی کنند.
Identify abstract and physical resources
در واقع URI میتوانند هر منبعی، مانند شماره تلفن، مکانها، کتابها و افراد را مشخص کنند. این منبع لزوما محدود به صفحات وب نیست که از طریق اینترنت قابل دسترسی هستند.
Multiple URIs can be linked with one resourc
به عنوان مثال، داده های http://www.example.com/abc/2022/Q1
ممکن است در http://www.example.com/abc/Q12022 در دسترس باشد.
این باعث می شود client-server بهتر به یک منبع اشاره کند.
URIs should be permanent
هنگامی که یک URI ایجاد کردید، تغییر آن می تواند به وب سایت شما آسیب برساند.
Not compatible with all browsers
اگرچه URI ها را می توان در بسیاری از مرورگرهای محبوب مانند Google Chrome و Mozilla Firefox استفاده کرد، برخی از مرورگرهای نسخه قدیمی مانند Internet Explorer 5،6،7 یا Safari 5 و 6 توسط URIs پشتیبانی نمی شوند.
Referring to an email address
Retrieving web pages
Redirecting a resource
می توانید از یک URL برای هدایت یک سورس قدیمی به آدرس جدید استفاده کنید. معمولاً برای جابجایی یک صفحه وب استفاده می شود. به عنوان مثال، اگر آدرس وب سایت خود را از https://www.blog.example.com به https://www.example.com/blog تغییر دهید، می توانید 301 redirect را پیاده سازی کنید. انجام این کار بازدیدکنندگان را از دریافت HTTP status code مانندخطای 404 جلوگیری می کند.
Referring to an internal page
یک URL را می توان بدون پروتکل و نام دامنه نمایش داد، اما فقط یک مسیر را نشان می دهد. از آن برای پیوند دادن یک فایل خاص در همان دامنه استفاده می شود که می توان آن را URL نسبی نامید. به عنوان مثال،
URL = https://www.example.com/news/business/
elative URL = /news/business/
درک تفاوت بین URI یا URL و استفاده از آنها ضروری است. به عنوان مثال، ساختن یک REST API با استفاده از یک URI یا یک URL می تواند عملکرد REST API را بهبود بخشد
یک URI مخفف یک شناسه منبع یکنواخت است، یک رشته کاراکتر که به طور کلی یک منبع را با نام، مکان یا هر دو، در اینترنت شناسایی می کند. همچنین، یک URI می تواند انواع فایل ها و منابع دیگر را متمایز کند.
از سوی دیگر، URL رشته ای از کاراکترها است که آدرس منبع و نحوه دسترسی به آن را در صفحه وب نشان می دهد. از آنجایی که URL بخشی از یک URI است، آنها از ساختار مشابهی پیروی می کنند.
https://refine.dev/blog/uri-vs-url/
https://www.hostinger.com/tutorials/uri-vs-url