به گزارش دریچه فناوری اطلاعات باشگاه خبرنگاران؛ در آغاز شکلگیری اینترنت و دسترسی عموم به آن، وبسایتهای اینترنتی ساختار بسیار سادهای داشت. در آن دوران بیشتر وبسایتها با کدهای HTML نوشته میشدند. اچ.تی.ام.ال مخفف عبارت «زبان نشانهگذاری ابرمتنی» است. این زبان نشانهگذاری در واقع مجموعهای از برچسبهای ساده بود که امکان چیدمان متن و نیز متریالهای دیگری نظیر تصاویر را در صفحات وب فراهم میکرد، اما امروزه افزایش سرعت دسترسی به اینترنت، افزایش تنوع نیاز و کاربردهای وبسایتهای مختلف سبب شده وبسایتها از عناصر دیگری در کنار اچ.تی.ام.ال استفاده کنند.
سی.اس.اس (مخفف عبارت شیوهنامه آبشاری) که برای چیدمان و جلوههای تصویری نظیر اندازه قلم یا رنگ آنها به کار میرود، ایکس.ام.ال (مخفف زبان نشانهگذاری گسترشپذیر) شیوهای مستقل از نرمافزار و سختافزار برای تبادل داده، توابع جاوااسکریپت و نیز سرورهای بانک اطلاعاتی از مهمترین اجزای تشکیلدهنده وبسایتهای مختلف در دنیای امروز هستند. اکنون بسیاری از وبسایتها از همه این عناصر بهرهمند هستند، بههمیندلیل، تیم طراحی سایت نه تنها باید بخشهایی مبتنی بر آنها را ایجاد کند، بلکه باید هماهنگی بین این بخشهای مختلف را نیز در نظر بگیرد.
هماهنگی و امنیت
یکی از مهمترین مسائلی که سبب میشود فرآیند طراحی وب بسیار وقتگیر باشد، ایجاد هماهنگی میان این بخشهای مختلف است. در بیشتر موارد، چارهای جز تست هر یک از آنها نداریم و بهدلیل تعدد بخشهای مختلف موجود در یک وبسایت، این کار وقت زیادی میگیرد. دومین مسالهای که مطرح میشود، به امنیت وبسایت باز میگردد. همه ما بارها اخباری درباره هک شدن وبسایتهای مختلف شنیدهایم. یکی از رایجترین شیوههای هک کردن یک وبسایت این است که هکر با وارد کردن چند خط کد در یک فرم ساده ورود اطلاعات و ارسال آن، موجب ارسال کد مخرب به بانک اطلاعاتی شده و همین به بر هم خوردن کارکرد معمول سایت و حتی از دسترس خارج شدن آن میانجامد.
زبانی جدید
بتازگی گروهی از پژوهشگران موسسه فناوری ماساچوست (ام.آی.تی) از طراحی نوعی زبان جدید برای طراحی صفحات وب خبر دادهاند. این زبان جدید Ur/Web نام دارد. یور/ وب علاوه بر اینکه امنیت بالایی را برای وبسایتهای طراحی شده بههمراه میآورد، میتواند با انواع مختلفی از فناوریهای وب نیز هماهنگی داشته باشد. حتی برخی کارشناسان، یور/ وب را همرده با زبانهایی نظیر سی پلاس پلاس یا جاوا میدانند.
گروهی از پژوهشگران موسسه فناوری ماساچوست موفق به طراحی نوعی زبان برنامهنویسی جدید شدهاند که میتواند ضمن کاهش زمان لازم برای طراحی وبسایتهای مختلف، امنیت آن را نیز بهطور قابل توجهی افزایش دهد این زبان برنامهنویسی جدید مجموعهای گسترده از کدها را در خود دارد. کامپایلر این زبان (یعنی بخشی که دستورات را به زبان ماشین تبدیل میکند) میتواند بهصورت خودکار کدهای ایکس.ام.ال، سی.اس.اس و جاوااسکریپ را تولید کرده و در بخش مناسب در مجموعه کدهای صفحه وب قرار دهد. این برنامه میتواند چنین کدهای درخواستی بانک اطلاعاتی را نیز تولید و در وبسایت قرار دهد.
امنیت و هماهنگی
یکی از اصلیترین دلایلی که سبب به خطر افتادن امنیت سایت و حتی هک شدن آن میشود، ارتباط ناخواسته بین بخشهای مختلف آن است. برای نمونه فرض کنید میخواهید یک ویجت تقویم را روی وبسایت قرار دهید و قصد دارید از کدهای موجود در کتابخانه برای طراحی آن استفاده کنید. در آن صفحه از وبسایت همچنین یک مستطیل برای درج تبلیغات نیز وجود دارد که کدهای دستور برای نمایش آگهی را بهصورت مستقیم از وبسایتی دیگر (مثلا یک شرکت واسطه تبلیغاتی) میگیرد. بیتردید شما به هیچوجه نمیخواهید کدهای وارد شده برای آگهی بتواند تاریخ تقویمتان را تغییر دهد یا اینکه کدهای تقویم بر آگهی تاثیر بگذارد. اصلیترین کارکرد یور/وب را باید در جلوگیری از چنین تداخلی دانست.
همرده با زبانهای مطرح
توانایی یور/وب در ایجاد سطح بالایی از امنیت و نیز هماهنگی بین فناوریهای مختلف وب را باید به خاطر شباهت آن با زبانهای مهمی همچون سیپلاسپلاس یا جاوا دانست. یکی از اصلیترین ویژگیهای این زبانها این است که هر متغیری که از سوی برنامهنویس تعریف میشود، فقط به یک نوع خاص از اطلاعات محدود میشود. بهاینترتیب احتمال تداخل در متغیرها و در نتیجه کاهش امنیت کدها بهطور محسوسی کاهش مییابد. همچنین برای هر نوع تابع جدیدی که تعریف میکنیم، باید نوع ورودی و خروجی را هم مشخص کنیم.
در برخی مواقع، توابع برای بازگرداندن جواب باید متغیرهای جدیدی ایجاد کنند. برای نمونه تابعی که میزان میانگین چند عدد در پایگاه داده را بررسی میکند، باید ابتدا مجموع این اعداد را در یک متغیر جای دهد. در بسیاری از زبانهای برنامهنویسی، این متغیر در دیگر بخشهای برنامه نیز در دسترس است، اما در زبانهای پیشرفتهای نظیر سی پلاس پلاس و البته یور/ وب، این متغیرها فقط به همان تابع محدود میشوند و در واقع، دسترسی به آنها فقط در خود تابع امکانپذیر است.
هماهنگی سریعتر
فرض کنید یک بخش از کد جاوااسکریپت باید دادهای را از پایگاه داده گرفته و نتیجه را در صفحه وب و در جایی که با کد ایکس.ام.ال تعیین میشود، قرار دهد. ایجاد هماهنگی در حالت معمول بین این چند عنصر تا حدی زمانبر است، اما اگر برنامهنویس یور/وب، کد جاوااسکریپت را به گونهای بنویسد که نتواند اطلاعات مورد نظر را از پایگاه داده بهدست آورد یا جاوااسکریپت دادهای تولید کند که کد ایکس.ام.ال نتواند آن را بخواند، آن بخش از کد صفحه به شکلی متفاوت برای برنامهنویس نمایش داده میشود و بهاینترتیب، برنامهنویس میتواند متوجه وجود اشکال در آن شود.
منبع: Click