الگوی دادهای یوآرآی، یک الگوی یوآرآی یا به عبارتی الگوی نشانی وب است که راهیست برای وارد کردن داده با قالبی خاص در داخل یک صفحه وب، بهصورتی که انگار آنها منابع خارجی مانند تصاویر هستند. این روش به ما اجازه میدهد برای فراخوانی یک صفحه وب، بجای ارسال چند بار درخواست اچتیتیپی، برای احضار چند منبع (مثلاً احضار و فراخوانی فایلهای تصاویر، سیاساس، جاوااسکریپت و ...) تنها یکبار دستور درخواست اچتیتیپی را ارسال نماییم، که میتواند به بهرهبری بالاتری منجر گردد.
گاه یوآرآی علیرغم اینکه به محلی در خارج اشاره نمیکنند، با نشانی وب (به انگلیسی:Uniform Resource Locator یا URL) اشتباه گرفته میشوند. الگوی یوآرآی در استاندارد RFC2397 تعریف گردیده است.
پشتیبانی در مرورگرهای وب
از فروردین ۱۳۹۱ مرورگرهای زیر الگوی دادهای یوآرآی را پشتیبانی میکنند:
اینترنت اکسپلورر ۸، مایکروسافت پشتیبانی از محتویات غیرقابل پیمایش را با ادعای نگرانیهای امنیتی، محدود نموده است. یکی از دلایل این ادعا را نگرانیها، در خصوص محتویات صفحات وب دارای جاوااسکریپت عنوان نموده که قابل ترجمه توسط فیلترینگ کلاینتهای پستالکترونیکی مانند Outlook نیستند. در نسخه ۸ این مرورگر دادههای یوآرآی باید از ۳۲ کیلوبایت کمتر باشند. دادههای یوآرآی در اینترنت اکسپلورر تنها برای موارد زیر پشتیبانی میشوند:
شیء (فقط تصویر)
img
input type=image
link (داده یوآرآی باید در حالت base64 کد شده باشد)
دستورهایی از برگههای سبک آبشاری یا CSS که URL را قبول میکنند، مانند background-image, background, list-style-type, list-style و مشابه اینها
پشتیبانی در برنامههای مدیریت پست الکترونیک یا کلاینت ایمیل
برنامههای زیر دادههای یوآرآی که برای تصویر باشند را پشتیبانی میکنند:
Apple Mail 4
BlackBerry Curve
HTC HD7
iPad 2
iPhone 3GS
LG Optimus
Lotus Notes 8
Me.com
Nokia N96
Outlook 2003
Thunderbird 3
Yahoo! Mail
مزایا
درخواست اچتیتیپی و ترافیک Header برای این نوع داده وجود ندارد.
برای انتقال تعداد زیادی از فایلهای کوچک، این روش میتواند سریعتر باشد. انتقال میتواند با سرعت کمتری صورت پذیرد اگر هر فایل به صورت جداگانه درخواست اچتیتیپی خود را ارسال نمایند.
برای مرور صفحات امنی که از پروتکل امن انتقال ابرمتن یا HTTPS استفاده میکنند، همیشه استفاده از ترکیبی از منابع امن و غیرامن یک نگرانی بودهاست. بنابراین با استفاده از این روش بیشتر عناصر یک صفحه را بدون نیاز به فراخوانی از منابع غیرامن میتوان انتقال داد. به اضافه اینکه، در یک سرور امن با تنظیمات بد، فشار یک درخواست HTTPS همیشه بیشتر از HTTP معمولی است و با قرار دادن دادههای یوآرآی در یک صفحه، نیاز به ارسال تعداد زیادی درخواست HTTPS امن به سرور را از بین برده و سرعت را افزایش میدهیم.
مرورگرها اصولاً بهصورتی تنظیم گردیدهاند که تعداد مشخصی از ارتباطات HTTP همزمان را با یک دامنه ایجاد مینمایند. پس با اینکار نیاز به استفاده بیش از حد از ارتباطات همزمان برای دامنه هدف را از بین میبریم و باعث افزایش بهرهبری خواهد شد.
از این روش میتوان در محیطهایی که دارای محدودیت یا جلوگیری از دسترسی به منابع خارجی دارند در زمانی که اجازه دسترسی به خارج وجود ندارد میتوان استفاده نمود. بهطور مثال یک مؤسسه ویرایشگر پیشرفته HTML به منظور مخفی کردن پیچیدگی منابع خارجی برای کاربر، میتواند یک تصویر را گرفته و به داده یوآرآی تبدیل نموده و در صفحه وب مورد نظر قرار دهد.
این روش استفاده از تنها یک صفحه را برای ایجاد صفحات چندرسانهای امکانپذیر مینماید.
الگوی پیام رایانامه میتواند محتوی تصاویری (برای پشتصحنه و امضاء) باشد بدون اینکه فایل پیوستی به پیام قابل دید باشد.[۱]
معایب
معایبی نیز برای این روش ذکر میگردد مانند:
عدم پشتیبانی یا پشتیبانی کم در برخی مرورگرها خصوصاً اینترنت اکسپلرر مایکروسافت
عدم قرار گرفتن در حافظه کش این نوع داده به صورت جداگانه از فایلی (فایل CSS یا HTML) که محتوی آن است
افزایش ۱/۳ حجم اطلاعات با کد شدن بر اساس Base64 در مقیاس با شکل دودویی آن دادهها (هرچند این افزایش حجم میتواند به اندازه ۲-۳٪ کل آن کاهش پیدا کند اگر وب سرور، پاسخهای ارسالی را با استفاده از جیزیپ یا gzip فشرده نماید.)
نیاز به ارجاع دادن به یک داده یوآرآی یکسان در یک صفحه، منجر به کپی کردن چندین بار آن کد در آن صفحه میشود. در حالیکه با استفاده از یک منبع خارجی، ما تنها یکبار آن منبع را فراخوانده و یکبار هم آن در Decode میکنیم.
تشخیص دادههای یوآرآی توسط نرمافزارها و دستگاههای امنیتی برای فیلتر کردن محتویات مخرب بسیار دشوارتر میگردد
در کد زیرین یک نقطه قرمز رنگ مانند به کد تبدیل شده است که اگر کد داخل علامت نقل قول که بعد از src آمده است را در قسمت آدرس مرورگری که داده یوآرآی را پشتیبانی میکند کپی نماییم این نقطه قرمز رنگ را با قالب تصویری PNG نمایش میدهد: