به دلیل آن که اینترنت در دنیای رایانه تعریف شده است و رایانه نیز چیزی جز الفبای دیجیتال را درک نمیکند برای آن زبانهای گوناگون و متنوعی طراحی شده است که هر کدام با داشتن یک سری ویژگیها، امکاناتی در اختیار برنامهنویسان و کاربران قرار میدهد. این زبانها علاوه بر این که هر یک خصوصیات خود را دارند، در برخی ویژگیها مشابه هستند. به عنوان مثال اکثریت قریب به اتفاق زبانهای مبتنی بر وب زبانهایی هستند که از مفسر جهت تبدیل کدهای زبان مبدا به زبان قابل فهم ماشین بهره میبرند و برای آنها نمیتوان از کامپایلر استفاده کرد. دلیل این امر آن است که کامپایلر کدهای زبان را به زبان ماشین و فایل اجرایی تبدیل میکند و چون در سرتاسر دنیا، رایانههای مختلف با پردازندههای متنوع و همچنین سیستم عاملهای گوناگون داریم، وجود یک فایل اجرایی مخصوص یک ماشین و یک سیستم عامل عملا به هیچ دردی نخواهد خورد. ضمن این که یکی از چیزهایی که در دنیای اینترنت مطرح است، سرعت است. بنابراین اگر قرار بود با استفاده از کامپایلر برنامههای تحت وب پیادهسازی شوند، آنگاه هرگز نمیتوانستیم سایتهای بزرگ با حجم انبوه اطلاعات داشته باشیم زیرا دریافت فایل اجرایی مربوط به آنها به مدت زیادی زمان نیاز داشت. دریافت جزء به جزء برنامه نیز امکانپذیر نبود. زیرا میدانیم که کامپایلر کل برنامه را به یکباره خوانده و در نهایت فایل اجرایی را تولید میکند. اجرای تکه به تکه برنامه خصوصیت مفسرهاست و در واقع یک دلیل به کارگیری آنها نیز همین خصوصیت است.
با توجه به این که کاربران اینترنت، از رایانههای مختلف و سیستم عاملهای گوناگون استفاده میکنند بهترین راه آن است که متن اصلی برنامه نوشته شده به رایانه کاربر منتقل شود و هر کاربر با توجه به امکانات و شرایط خود، آن برنامه را تفسیر و اجرا کند. مفسر مربوط به زبانهای تحت وب در واقع همین مرورگرها هستند. یک سایت یا صفحه وب با یک زبان نوشته میشود. سپس هر کاربر با توجه به پردازنده و سیستم عامل مورد استفاده خود مرورگری را در رایانه خود نصب و اجرا میکند. سپس با استفاده از آن مرورگر به آن سایت مراجعه کرده و از محتوای آن استفاده میکند. به عبارتی برای برنامهنویس وب تفاوتی ندارد که شخص با چه سیستم عامل و مرورگری قرار است از صفحه وی بازدید کند. او وظیفه دارد برنامه را طوری طراحی کند که هر فرد از هر کجا با هر شرایط سیستمی بتواند از برنامه او بهرهمند شود.
استفاده از کد میانی
در برنامههای تحت وب و بهکارگیری مفسرها و کامپایلرها، استثناهایی نیز وجود دارد. زبان جاوا یک زبان کامپایلری است، اما این زبان یک محیطی تحت عنوان ماشین مجازی برای اجرای برنامههای خود فراهم میکند و برنامههای خود را به زبان آن ماشین ترجمه و کامپایل میکند. زبان آن ماشین نیز کاملا مستقل از ماشین حقیقی است.
بنابراین هر سیستم با نصب ماشین مجازی زبان جاوا که مخصوص خود آن ماشین حقیقی طراحی شده است، میتواند برنامههای جاوا را اجرا کند. در نتیجه این زبان ازجمله زبانهای مستقل از ماشین محسوب میشود.
وجود این خاصیت باعث میشود که بتوان از این زبان نیز در برنامههای تحت وب استفاده کرده و از قدرت آن بهره برد. اما استفاده از این زبان نیز به طور مستقل در وب امکانپذیر نیست. تمام زبانهای تحت وب امروزی بر پایه یک زبان ساده، تحت عنوانHTML بنا شدهاند. برنامههای تحت وب یا همگی فرزندان این زبان هستند یا اگر این طور نباشد باید با استفاده از این زبان و فرزندان آن در برنامههای تحت وب به کار گرفته شوند.
HTML
این کلمه برگرفته از حروف اول عبارت HyperText Markup Language است. این زبان پایه و اساس وب است و یک زبان نشانهگذاری برای طراحی صفحههای وب است. باید توجه داشت کهHTML یک زبان برنامهنویسی نیست. بلکه یک زبان نشانهگذاری است و برای ساختمند کردن اطلاعات و تفکیک اجزای منطقی یک سند نظیر عناوین، تصاویر، فهرستها، پاراگرافها، جداول و... به کار میرود.
دستورالعملهای این زبانTag نام دارند که محتوای یک صفحه وب به وسیله آنها نشانهگذاری شده و به این ترتیب نحوه نمایش آن صفحه برای مرورگرهای وب توصیف میشود. مرورگرهای وب نیز با خواندن هر کلمه از یک سندHTML بلافاصله آن را تفسیر کرده و به شکل معادل آن نمایش میدهند. زبان HTML صرفا برای نمایش است و به تنهایی هیچ عملی انجام نمیدهد. برای آن که بتوان صفحههای وب پویا و تعاملی داشت حتما باید با یک یا چند زبان برنامهنویسی دیگر که مخصوص وب طراحی شدهاند، ترکیب شود.
هر یک از برچسبهای HTML، معنا و مفهوم خاصی دارند و تاثیر مشخصی بر محتوا میگذارند. مثلا برچسبهایی برای تغییرشکل ظاهری متن، نظیر درشت و ضخیم کردن یک کلمه یا برقراری پیوند به صفحات دیگر تعریف شدهاند. یک سندHTML یک فایل متنی است که معمولا پسوند*.htm یا*.html دارد.
این زبان بسیار ساده بوده و میتوان طی چند ساعت، اصول آن را فرا گرفت. هر کس باید پیش از شروع برنامهسازی وب حتما با این زبان آشنایی داشته باشد و قادر به درک کدهای آن باشد.