سرعت در وب

نگرانی موجود در مورد ازدحام اطلاعات روی زیر ساختار اینترنت و تأخیر زیاد در دسترسی به داده‌ها به باعث شده است که نام World Wide Web به "World Wide Wait" تغییر کند! افزایش سرعت اینترنت مسأله‌ای مهم در بحث‌های مربوط به استفاده از همتا سازی و کیفیت خدمات (QOS) است. راه حل‌های ممکن برای کاهش انتظار برای مشاهده صفحات وب در سایت W3C ارائه شده است.






راهنمای استانداردهای موجود برای پاسخ زمانی ایده‌آل صفحات وب (مطابق کتاب نیلسن، چاپ 1999، صفحه 42) عبارتند از:

1/0 ثانیه (یک دهم ثانیه). زمان ایده‌آل پاسخ کاربر هیچ گونه تأخیری را حس نمی‌کند.
1 ثانیه. حداکثر زمان قابل قبول. زمان دانلود بیش از 1 ثانیه کاربر را خسته می‌کند.
10 ثانیه. زمان غیر قابل قبول. کاربر خسته شده و دوست دارد سایت را ترک کند. این اعداد برای طراحی ظرفیت سرور کاربرد زیادی دارند.








www در نام‌های وب‌سایت‌ها

از لحاظ فنی هیچ دلیلی وجود ندارد که نام سایت حتماً با www آغاز شود و اولین سرور وب در "info.cern.ch" قرار داشت. استفاده از پیشوند www یک توافق است که بین سازمان‌های ارائه دهنده خدمات وب انجام شده است تا تمامی نام‌های میزبان از یک پروتکل تبعیت کنند؛ برای مثال، بسیاری از سازمان‌ها نام سرور اصلی پروتکل گوفر خرد را به صورت gopher.wherever.edu تعریف می‌کنند و از پیشوندهای دیگری استفاده می‌کنند تا بتوان از چندین سرور وب استفاده کنند. برخی از مرورگرها به صورت خودکار www را به ابتدا و ".com" را به انتهای URL تایپ شده اضافه می‌کنند. در مرورگرهای اینترنت اکسپلورر و فایرفاکس موزیلا با فشردن همزمان کلیدهای ctrl و Enter پیشوند "http://www." و پسوند "com." به انتهای URL اضافه می‌شوند.







تلفظ "www

در زبان انگلیسی، WWW طولانی‌ترین تلفظ ممکن تور جهان گستر است که یک سرواژه سه حرفی است که به نه سیلاب نیاز دارد. داگلاس آدامز اظهار داشت: World Wide Web تنها عبارتی است که تلفظ شکل مختصر آن سه برابر بیشتر از تلفظ خود آن طول می‌کشد.

نسخه‌های کوتاه‌تر عبارتنداز "triple double 'u'"، "triple dub"، "dub dub dub"، "wuh wuh wuh" و "all the 'double u's". در زبان‌های دیگر "WWW" را اغلب "VVV" تلفظ می‌کنند. در زبان چینی، World Wide Web را به صورت wàn wéi wǎng تلفظ می‌کنند (به چینی: 万维网) که به معنای "شبکه ده هزار بعدی" است.





تاریخچه وب جهان گستر

تیم برنرزلی در سال ۱۹۸۹ وقتی که اولین طرح پیشنهادی و طرح خود را به موسسهٔ سرن (پروهشگاه فیزیک هسته‌ای و انرژی‌های سطح بالا) در سویس بوردر فرانسه می‌فرستاد؛ اینترنت را اختراع کرد.








خصوصیات نسخه‌های مختلف وب

وب نسخهٔ یک: مستندات (توسط پیوندها-لینکها-) به هم مرتبط شده‌اند.
وب نسخهٔ دو: محتویات توسط کاربران ایجاد می‌شود و اطلاعات بصورت پویا تولید و رشد پیدا می‌کنند.
وب نسخه سه: ارتباط داده‌ها، ابزار، و مردم در سراسر جهان(به وقوع می‌پیوندد).

این اختراع مثل تمام اخترعات بنیادی وب بر پایه سه تکنولوژی اصلی شکل گرفته:

آدرس یاب یا شناسه آدرس واحد (معروف URL یا URI) منبع مستندات یا اطلاعات در وب برای پیدا کردن آن مستند در کل وب.
زبان نشانه گذاری متن هوشمند (HTML) برای ارائه محتویات صفحات وب و برقراری پیوندها(لینک‌ها).
پرتکل انتقال متن هوشمند (HTTP) برای انتقال اطلاعات وبی در سرتاسر اینترنت.

همان اوایل کار، خیلی زود تیم برنزلی متوجه شد که وب برای موفق بودن نیاز به عامل چهارمی و آن آزاد بودن و بازبودن (دسترسی‌ها در) وب است. این تصمیم موثر، راه را برای رسید وب به وضعیت موجود امروز باز کرد که(باعث شد اینترنت:) جهانی، باز و آزاد، سازگار با سیستم‌های عامل و سخت افزارهای متفاوت، یک مجموعه مرتبط با هم، آموزشی، تجاری، سرگرم کننده، رفاه آور برای مردم شده‌است.







وب ۱٫۰

در ابتدا داستان با شبکه‌ای از مقالات و متن‌ها شروع شد.

و مطمئناً در سال ۱۹۹۸ ارائه شدن گوگل با پیشنهاد الگوریتم جدید، بواسطه سادگی و توانایی خود در جستجو در اینترنت، بهبودی و پیشرفت قابل توجهی برای وب بود. موتور جستجوی گوگل انتظارات بعدی مصرف کنندگان که به دنبال پیدا کردن اطلاعات، محصولات و سرویس‌ها و دیگر مردم بودند را بالا برد. همچنین گوگل سطح پذیرش راهبرد تجارت پیچیده تر و برنامه فروش آنلاین برای شرکت‌ها را ارتقا داد(با این بهانه) که بتوانند رتبه خود را در گوگل بیشتر کنند (تا در اولین نتایج جستجوی گوگل قرار گیرند). این کار گوگل انقلاب جدیدی در بوجود آمدن کسب و کارهای آنلاین (حاضر در همه جا و همه وقت) و مدلهای جدید تبلیغات و همچنین بازارهای جدید را باعث شد.

بدین ترتیب وبلاگ‌ها دارای شخصیتی خواص برای خود شدند که این شخصیت را مستقیماً از مولف خود به ارث می‌برند (شما با مطالعه دفترچه خاطرات شخصی هر فرد می‌توانید با ابعاد متفاوت شخصیتی وی نیز تا اندازه‌ای مه امکان دارد آشنا شوید







وب ۲٫۰

این اتفاقات ما را به وب ۲٫۰ رساند. در حالی که تجارت‌ها و کسب و کارها داشتند از روش‌های قبل به روشهای جدید وب مهاجرت می‌کردند یک نسل جدیدی از کاربران و برنامه نویسان وب شروع به همکاری فعالی کردند. در سال ۲۰۰۴ تیم اوریلی وب ۲٫۰ را با عنوان انقلاب تجارت در صنعت کامپیوتر بوسیله مهاجرت به روی بستر وب" را (به جهان)معرفی کرد. اصل قضیه وب ۲٫۰ این است که کاربرانی مثل خود مصرف کنندگان محتویات را ایجاد می‌کنند. و به این ترتیب اطلاعات خیلی پویاتر از اطلاعات در وب ۱٫۰ می‌باشد.

جامعه ویکی‌پدیا مفهوم همکاری و خرد جمعی جوامع مردمی وب ۲٫۰ را ارتقا داد. ویکی‌پدیا وب ۲٫۰ را اینگونه تعریف می‌کند:«عنوانی که روند استفاده از وب جهانگستر (www)و تکنولوژی‌ها و طراحی‌های آن که هدفش رسیدن به افزایش خلاقیت، اشتراک گذاشتن اطلاعات و مهمتر از همه همکاری کاربران است را توصیف می‌کند.».

(در محدوده وب ۲٫۰) شرکت‌ها باید تصمیم بگیرند که برای کارشان وبلاگ بسازند یا نسازند!، و اینکه به هر حال می‌خواهند نظر مشتریانشان در مورد محصولاتشان را به دیگران نشان بدهند یا خیر. شرکت‌ها به سمت و سوی فعال سازی و کاربردی تر کردن نظرات مشتریانشان در کسب و کارشان هستند، تا بتوانند نیازمندیهای مشتریانشان و توقعات نحوه تعامل خرید و فروششان را بهتر برآورده سازند.

یوتیوب خیلی خوب به تعریف همکاری اجتماعات در وب ۲٫۰ کمک کرد. در آوریل ۲۰۰۸ موتور جستجوی یوتیوب ۸۰ میلیون پاسخ ارائه کرده که حدود ۴ میلیون از آنها کانالهای ایجاد شده توسط کاربران است.

به گفته شرکت بین‌المللی اطلاعات(IDC)، ویدئوهای تولید شده توسط کاربران و آپلود شده در روز در تمام سایتهای فیلم بیش از ۵۰۰ هزار قطعه فیلم در سال ۲۰۰۷ بوده و در چهار سال بعد از آن به حدود ۵ میلیون (ویدئو در روز)خواهد شد.

چیزهای شگفت انگیزی در اینترنت اتفاق افتاده‌است. به هر حال در موارد متعددی وب ۲٫۰ باز هم بصورت محدوده بسته‌ای (به حساب می‌آید)، که در آن معمولاً پیوند دادن‌ها داخل آن (برای نگه داشتن مصرف کنندگان و مشتریان)ساده نیست و هنوز در خارج از سایت مربوطه یا بین چند سایت مختلف باید صورت گیرد و بعضی اوقات نیر استفاده اختصاصی از راه حلها و ضمیه‌های بعد مانع همکاری و ارتباط می‌شود.







وب ۳٫۰

اگر نخواهیم بگوییم انقلاب، تحول بعدی در وب ارتباط سخت افزار(مثل موبایل، لپ تاپ، و سایر دستگاههای سخت افزاری)به اینترنت بود. راه جدیدی برای یکپارچه سازی و هموار کردن راههای بدست آوردن اطلاعات و دید جدیدی که قبلاً اصلاً امکان پذیر نبود. و راه جدیدی برای ارتباط به اینترنت از طریق دستگهای متنوعی که قابلیت و توانایی پیداکردن و تجزیه و تحلیل و شسته رفته کردن اطلاعات را دارند.

کنسرسیوم وب جهانگستر (w۳c)تکنولوژی‌های جدیدی را برای به وقوع پیوستن وب ۳٫۰ استاندارد سازی کرد. که شامل عناوین: وب مفهومی، ویدئو روی وب، وب سیار و همراه و وب در همه جا و تمام شرایط می‌باشند.







وب مفهومی

وب مفهومی چارچوبی مشترک مبتنی بر آدرسهای اینترنتی بوجود آورد که اجازه می‌دهد در سرتاسر برنامه‌ها، برنامه‌های بزرگ و محدوده‌های اجتماعی، اطلاعات به همدیگر مرتبط شوند، به اشتراک گذاشته شوند و قابلیت استفاده مجدد پیدا کنند. با استفاده از تکنولوژی‌های کنسرسیوم جهانگستر(w۳c) در وب مفهومی افراد یا دستگاها می‌توانند با استفاده از یک نمونه از اطلاعات از یک مجموعه به مجموعه بی انتهایی از اطلاعات مرتبط به آن مطلب که در پایگاهای اطلاعاتی سرتاسر جهان دستیابی کند. این پایگاها از طریق شبکه سخت افزاری و کابل کشی به هم مرتبط نشده‌اند بلکه این اطلاعات پراکنده در مناطق مختلف جغرافیایی بوسیله پارامترهای مشترکی مانند: یک شخص خاص، یک مکان خاص، یک ایده و نظریه خاص، یک مفهوم خاص و.... به هم پیوند داه می‌شوند.







اهداف اصلی وب مفهومی

وب مفهومی، شبکه‌ای از اطلاعات به هم مرتبط است. خیلی از اطلاعاتی که در طول روز آنها را از اینترنت استفاده می‌کنیم در یک جا نیستند. برای مثال شما صورتحساب بانکی خود را در اینترنت در سایت بانک مربوطه و عکسهای خود را در آلبوم اینترنتی در سایتی دیگر و قرار ملاقاتهای خود را باز در جایی دیگر می‌بینید. اما آیا می‌توانید عکس‌های خودتان را در تقویم خودتان ببینید و بفهمید کی آن عکس را گرفته‌اید و در آن وقت چه می‌کردید؟ آیا می‌توانید گزارشهای بانکی خود را در تقویم خود ببینید؟ چرا نه؟! چون شبکه‌ای ازاطلاعات به هم مرتبط شده ندارید. چون هرکدام از اطلاعات شما بوسیله برنامه‌ای خاص کنترل می‌شوند و در سایت خاصی نگهداری می‌شوند.

دیدگاه وب مفهومی این است که مبانی وب را از تکیه بر مستندات و فایلها به پایه ریزی بر اساس اطلاعات گسترش دهیم. اطلاعات یک مطلب باید بتوانند به مستندات مورد استفاده در معماری عمومی وب دسترسی داشته باشند، مثلاً آدرس‌های اینترنتی باید قابلیت اتصال به مستند دیگر یا قسمت از آن را که در رابطه با همین موضوع است در حال حاضر ارتباط داشته باشند. این یعنی اینکه ایجاد یک چارچوب مشترکی که اجازه بدهد اطلاعات قابلیت اشتراک گذاری و استفاده مجدد در سرتاسر برنامه‌ها، برنامه‌های خیلی بزرگ و محدوده‌های ارتباطی و اجتماعی بصورت اتوماتیک و خودکار با کیفیت و درستی ابزارهای دستی، که شامل قابلیت ایجاد ارتباطات جدید و قابل نمایش در میان اطلاعات باشد.







فضای مجازی مجتمع یا مجتمع فضای مجازی (محاسبات ابری-رایانش ابری)
مجتمع فضای مجازی یا فضای مجازی مجتمع چیست؟

تصورکنید کامپیوتر و تمام دستگاههای قابل حملتان (مثل موبایل و لپ تاپ و کتاب خوان و...) در تمام اوقات با هم همسان سازی شده باشند(sync سنکرون باشند). تصورکنید هر وقت که اراده کردید به تمام اطلاعات شخصی خودتان دسترسی پیدا کنید. تصورت کنید توانایی دسته بندی و سازماندهی و جستجوی تمام اطلاعاتتان را روی اینترنت داشته باشید. تصور کنید که بتوانید تمام اطلاعات خود را از قبیل عکس، فیلم، مطلب، ایمیل، فایلها و مدارک، و... را برای دوستان، فامیل، همکاران بصورت فوری به اشتراک بگذارید. همه اینها وعدهای مجتمع فضای مجازی شخصی است.

این مطلب را درک و باور کنید یا نه، به هر حال احتمالاً همین الآن در حال استفاده از یک سرویس مبتنی بر فضای مجازی مجتمع هستید. و تقریباً همه کسانی که با کامپیوتر کار می‌کنند. gmail و google docs دو نمونه اولیه از مجتمع فضای مجازی هستند که ما حتی فکرش را هم نمی‌کردیم که بر پایه همین نوع سرویس باشند.

بطور خلاصه، فضای مجازی مجتمع شخصی به این معنی است که: همه بخشهای اطلاعاتی که در طول زندگی و راجع به هرجنبه از زندگیتان در هروقت که نیاز داشته باشید دم دست شما و آماده برای استفاده شما هستند. اطلاعات باید سیار و همراه، قابل انتقال و در هر لحظه قابل دستیابی باشد. شاه کلید امکان پذیر شدن، قابلیت حمل و تعاملی شدن اطلاعاتتان همسان و به روز بودن اطلاعات شما در میان دستگاهها مورد استفاده شما(مانند لپ تاپ، موبایل و...)مثل اطلاعات به اشتراک گذاشته شده باشند. اطلاعات به اشتراک گذاشته شده، اطلاعاتی هستند که در هرجاکه اراده کنیم به آنها دسترسی پیدا می‌کنیم، مثل هر شبکه‌های اجتماعی مجازی، بانکها، وبلاگها، اتاقهای خبری، اجتماعات اقتصادی و غیره. نهایتاً، فضای مجازی مجمتمع شخصی که شامل همه اطلاعاتتان از دفترچه تلفن و آدرسهایتان گرفته تا کلکسیون آهنگها و صداها و مدارک و گزارشهای کاری و اقتصادی و.... به فضای مجازی مجتمع عمومی و فضای مجازی مجتمع دیگران متصل خواهد شد. همه چیز به هم متصل خواهد شد. این یعنی اینکه در هر جای اینترنت که با آن سرو کله دارید، مانند کار کردن با افراد دیگر، می‌توانید به آن اطلاعات مورد نظرتان اتصال برقرار کنید. این قضیه شامل، شبکه‌های اجتماعی، بانکها، دانشگاهها، محلهای کاری، فامیل و دوستان خودتان هم می‌شود. مطمئناً، شما خواهید توانست که چه قسمتی از اطلاعات شما عمومی و چه قسمتی بصورت خصوصی بماند. دسته‌ای از فضای مجازی مجتمع شخصی، شکل جدیدی از شبکه‌های اجتماعی مجازی را شکل خواهند داد که تنظیمات حریم شخصی بیشتری از امثال فیس بوک خواهند داشت، و ویژه تر خواهند شد اگر این دسته بندی‌ها فامیل محور یا تجارت گرا باشند.(حریم شخصی مسئله بزرگ آمار جرم در فضای مجازی مجتمع افراد خواهد شد). سرانجام، ابزارها ودستگاههای شما(در فضای مجازی مجتمع)، درباره شما یاد می گیرند و می فهمند شما چه کار می‌کنید، به کجا می‌روید و قصد انجام چه کاری را دارید و قتی شما به سراغ آنها می‌روید. ممکنه این نظرات شبیه داستانهای علمی تخیلی به نظر برسد، اما مطمئناً ما را به سمتی فضای مجازی مجتمع سوق خواهد داد. هرچند هنوز کاملاً وجود ندارد. ما در حال ایجاد فضای مجازی مجتمع شخصیمان هستیم.







فضای مجازی مجتمع شخصی شما

فضای مجازی مجتمع شخصی راهی برای ارتباط تجربه‌های کاربران، همگرایی(و متمرکزشدن و یکی شدن) تکنولوژها با دستگاهها و سخت افزارهایی که از سیستم عاملهای مشابهی استفاده می‌کنند، شبکه‌های به هم مرتبط (مانندشبکه‌های رادیویی)است. اما با وجود همگرایی تکنولوژی‌ها، سخت افزارها به سمت تنوع و واگرایی بیشتر میل می‌کنند. چالش بعدی این است که بفهمیم چگونه در سرتاسر این تنوع دستگاهها بصورت مستمر ارتباط برقرار کنیم. مجتمع سازی(محاسبات ابری) امروزی در میان کل تولیدات یک شرکت بخصوص بصورت خیلی خوبی سنکرون اطلاعات(همسان سازی و همزمان سازی)و مطالب صورت گرفته‌است. با پیش زمینه فضای مجازی مجتمع شخصی، مصرف کنندگان می‌توانند پخش کنند: آهنگ، تصاویر، محصولات و چیزهای خیلی زیادتری از هر مطلبی که امکان دسترسی به آن را دارند و از هر دستگاه سخت افزاری که دارند و هرجا که اتفاق می‌افتد، را داشته باشند.
سرویس‌های «فضای مجازی مجتمع»از چه چیزیهای تشکیل می‌شوند

راه تولید کنندگان و تحلیل گران نشان می‌دهد که فضای مجازی مجتمع در تمام نقاط جهان بصورت پراکنده‌است. برخی از ابهامات در جو تجارت و برخی در هنگام مشخص شدن برخی اشکالات فنی است. وقتی (الکی)به هرچیزی برچسب فضای مجازی مجتمع بچسبانند، این اصطلاح معنی خودش را از دست می‌دهد و به عبارت دیگر لوث می‌شود.

شرکت بین‌المللی اطلاعات کامپیوتر(IDC) با لیست دم دستی بدرد بخوری آمده تا تعیین کند چه چیزهای را می‌شود برچسب فضای مجازی مجتمع زد و چه چیزهای را نه؟!







مشخصات کلیدی سرویس‌های «فضای مجازی مجتمع

اطلاعات بوسیله شخص ثالث، خارج از محدوده سایت ایجاد شده باشد.
بوسیله اینترنت قابلیت دسترسی داشته باشد.
حداقل یا هیچ فرد ماهر در زمینه فناوری اطلاعات برای پیاده سازی آن نباشد.
تامین کننده باشد: یعنی خودش تامین کننده نیازهای درخواستها باشد، تقریباً همزمان استقرار پیدا کند(همزمان در اینترنت و دستگاههای متصل به آن، لپ تاپ و پخش کننده‌ها و کامپیوتر هیا شخصی و...)، بصورت پویا و خوب دسته بندی شود
مدل قیمت گذاری داشته باشد: بصورت خوب دسته بندی شود، کاربردی باشد(مبتنی براستفاده کاربر باشد)(حداقل قابلیت انتخاب داشته باشد).
رابط کاربر خوب داشته باشد(قابلیت نمایش در مرورگر و جانشین داشته باشد. به قول معروف Userfriendly باشد).
رابط سیستم داشته باشد: توابع کتابخانه‌ای وب سرویسی داشته باشد.
قابلیت اشتراک گذاری منابع یا نسخه‌های مشترک را داشته باشد(قابلیت سفارشی کردن در حیطه سرویس‌های اشتراک گذاری).






وب‌گاه

وب‌گاه،، تارگاه، تارنما، سایت یا وب‌سایت مجموعه‌ای از صفحات وب است که دارای یک دامنه اینترنتی یا زیردامنه اینترنتی مشترک‌اند و به صورت مجموعه‌ای از صفحات مرتبط که داده‌هایی نظیر متن، صدا، تصویر و فیلم، روی آن ها ارائه می‌شود، روی تار جهان‌گستر شبکهٔ اینترنت قرار می‌گیرد.

صفحهٔ وب سندی است که معمولاً به صورت اچ‌تی‌ام‌ال نوشته می‌شود و همواره با استفاده از پروتکل اچ‌تی‌تی‌پی می‌توان به آن دسترسی پیدا کرد. پروتکل اچ‌تی‌تی‌پی اطلاعات را از کارساز وب‌گاه به مرورگر وب کاربر منتقل می‌کند تا این اطلاعات برای کاربر نمایش داده شوند.

همهٔ وب‌گاهها در کنار هم یک تار جهان‌گستر بزرگ از اطلاعات را درست می‌کنند.

دسترسی به صفحات وب‌گاه از طریق یک ریشهٔ مشترک یوآرال با نام صفحه اصلی امکان پذیر است که این صفحهٔ اصلی از لحاظ فیزیکی روی همان کارساز قرار می‌گیرد. یوآرال‌های صفحات آن‌ها را به صورت هرمی سازمان‌دهی می‌کنند اگرچه ابرپیوندهای موجود میانشان تعیین می‌کنند که چگونه کاربر اطلاعات را ببینند و چگونه ترافیک وب، بین بخش‌های مختلف وب‌گاه پخش شود.

برای دسترسی به اطلاعات برخی از سایت‌های وب می‌بایست حق اشتراک داشته باشید. از میان وب‌گاههایی که برای ورود به آن‌ها به اشتراک نیاز دارید، می‌توان به وب‌گاههای پورنوگرافی اینترنتی، بخش‌هایی از وب‌گاههای خبری، وب‌گاههای بازی، میزگردهای اینترنتی، خدمات رایانامه، وب و سایت‌های ارایه‌کنندهٔ داده‌های بلادرنگ بهابازار اشاره کرد.







مرور

وب‌گاه می‌تواند محصول تلاش یک فرد یا یک گروه باشد که با هدف خاصی تهیه می‌شود. هر وب‌گاه می‌تواند ابرپیوندهایی به بقیهٔ وب‌گاهها داشته‌باشد و بنابراین گاهی اوقات کاربر نمی‌تواند میان سایت‌های مختلف تمایز آشکاری قایل شود.

وب‌گاهها را به زبان اچ‌تی‌ام‌ال می‌نویسند و یا پس از آنکه در زبان دیگری نوشته می‌شوند به زبان اچ‌تی‌ام‌ال تبدیلشان می‌کنند و دسترسی به آن‌ها از طریق یک نرم‌افزار با نام مرورگر وب یا مشتری HTTP امکان‌پذیر است. دست‌رسی به وب‌گاهها از طریق رایانه‌های موجود روی شبکهٔ اینترنت یا وسایل مرتبط با اینترنت شامل رایانه‌های رومیزی، رایانه‌های کیفی و روپایی، رایانه‌های دستیار (PDA) و تلفن‌های همراه امکان‌پذیر است.

یک سامانهٔ رایانه‌ای که با عنوان کارساز وب و همچنین سرور HTTP شناخته می‌شود میزبان وب‌گاه است. اصطلاحات سرور وب و HTTP می‌توانند به نرم‌افزاری اشاره کنند که روی این سامانه‌های رایانه‌ای اجرا می‌شوند و داده‌های مربوط به صفحات وب را بازیابی می‌کنند، و در مقابل درخواست کاربران وب‌گاه، اطلاعات را تحویل می‌دهند. کارساز اچ‌تی‌تی‌پی آپاچی معروف‌ترین نرم‌افزار کارساز وب موجود است. بر اساس آمارهای نت‌کرفت و همچنین IIS از شرکت ماکروسافت هم کاربرد بسیار زیادی دارد.

وب‌گاه ایستا، وب‌گاهی است که اطلاعات آن به ندرت تغییر می‌کنند و تغییر اندک اطلاعات در آن با نرم‌افزارهای ویرایش شخصی صورت می‌گیرد. نرم‌افزارهای ویرایش‌گر مهم که کاربرد شخصی فراوانی دارند عبارت اند از:

ویرایش‌گرهای متن مانند Notepad یا برنامه‌های ویرایش‌گر متنی که درشان می‌توان پروندهٔ HTML را مستقیماً ویراست.
ویرایش‌گرهای چاپ‌نما (WYSIWYG) مانند Microsoft FrontPage و Macromedia Dreamweaver که در آن‌ها اطلاعات سایت را یک واسط GUI می‌ویراید و پروندهٔ HTML با نرم‌افزار ویرایش‌گر خودکار تولید می‌شود.
ویرایش‌گرهای الگومحور مانند Rapidweaver و iWeb که به کاربران اجازه می‌دهند به سرعت حتی بدون هیچ آشنایی با HTML و تنها با انتخاب الگوی مورد نظر خود از میان الگوهای موجود، سایت وب مورد نظرشان را ایجاد کرده و آنرا روی سرور وب قرار دهند. افزودن رنگ و تصویر و متن به الگو با استفاده از یک نشر رومیزی (DTP) صورت می‌گیرد که در این صورت نیازی به آشنایی با کد HTML وجود ندارد.

وب‌گاه پویا وب‌گاهی است که دایماً با کاربران اطلاعات دادوستد می‌کند و اطلاعاتش به سرعت تغییر می‌کند. ارتباط با کاربر با متغیرهای پایگاه داده مانند متغیرهای نشست، متغیرهای بخش سرور (داده‌های محیطی و...) یا کوکی‌های HTTP صورت می‌پذیرد و گاهی هم این ارتباط به مستقیماً رخ می‌دهد(مثلا از راه حرکت نشانگر موش‌واره بر روی برخی قسمت‌های صفحه). هنگامی که وب‌گاه درخواست کاربر برای اتصال به یک صفحه را دریافت می‌کند، صفحه مورد نظر به خودکار توسط نرم‌افزار از انبار ذخیرهٔ موجود برداشته می‌شود و فرد می‌تواند به اطلاعات دست یابد. مثلاً وب‌گاه می‌تواند وضعیت ارتباط فعلی بین کاربر و گفت‌وگو را نشان دهد، وضعیت جدید را نمایش دهد و یا اطلاعات شخصی کاربر را در اختیار وی بگذارد.

سامانه‌های نرم‌افزاری تنوع بسیار زیادی دارند و از میان آن‌ها می‌توان به صفحات کارساز فعال (ASP)، صفحات کارساز جاوا (JSP) و زبان برنامه نویسی ابرمتن‌پرداز (PHP) اشاره کرد که در تولید وب‌سایت‌های پویا کاربرد بسیاری دارند. ممکن است اطلاعات وب‌گاه از یک یا چند دادگان بازیابی شوند و یا در بازیابی آن‌ها از فناوری‌های گسترش‌پذیرنویسی (XML) محور مانند چکیدهٔ وب‌گاه (RSS) استفاده کنیم. محتویات ایستا را می‌توان پویا تولید کرد، که این فراوری اطلاعات می‌تواند موقتی بوده یا بر اساس وقوع رخ‌داد خاصی صورت پذیرد. در این صورت برای استفاده از موتار پویای اختصاص یافته به هر کاربر یا هر اتصال کارآیی سامانه کاهش نمی‌یابد.

اپلتها می‌توانند توانایی‌های مرورگرهای وب را بیفزایند و از آن‌ها برای نمایش «محتویات فعال» استفاده کنند. از میان این نرم‌افزارها می‌توان به Flash یا اپلت‌های نوشته شده به زبان جاوا اشاره کرد. زبان‌های ابرمتن‌نویسی پویا(DHTML) در به‌روزآوری بی درنگ صفحات وب کاربرد زیادی دارند (در صورت استفاده از این فن، برای اعمال تغییرات به اطلاعات موجود لازم نیست به بارگذاری بپردازید)، که در آن‌ها از الگوی شیءگرای سند(DOM) و جاوااسکرپیت استفاده شده‌است، که در مرورگرهای نوین وب به صورت پیش‌ساخته دیده می‌شوند.







شیوهٔ نگارش و گویش

«وب» فارسی نیست و شکل مختصر عبارت «وب (تار) جهان‌گستر» است. البته فرهنگستان فارسی واژهٔ وب را به عنوان واژهٔ دخیل پذیرفته‌است و تارنما جایش را به وب‌گاه داده‌است. به هر حال ممکن است تا یک‌نواخت شدن شیوه نگارش این کلمه مدت زمان زیادی طول بکشد. این اختلاف دیدگاه در مورد مشتقات این کلمه مانند «وبنوشت»/«وب‌نوشت» نیز وجود دارد. در مطبوعات و گفتاری مردم از «وب‌سایت» و «سایت» به عنوان شیوه نگارش مطلوب یاد شده‌است. هم‌چنین در برخی جاها از ترکیبات لفظ «پایگاه» مانند «پایگاه اینترنتی» استفاده می‌کنند.برخی اوقات به آن تارنما هم گفته می شود.







انواع وب‌گاهها

وب‌گاههای گوناگون با محتویات و کاربردهای مختلف بر روی اینترنت به چشم می‌خورند که در طبقه‌بندی آنها روش‌های متعددی وجود دارد. برخی از این طبقه بندی‌ها عبارتند از:

وب‌گاههای وابسته: یک درگاه وب که علاوه بر CMS خود، اطلاعات بقیهٔ ارایه‌دهندگان خدمات را به ازای دریافت مبلغی در اختیار کاربران قرار می‌دهند. معمولاً سه ارتباط اصلی قابل تصور است. موسسات وابسته مانند cj.com، دفترهای تبلیغاتی هم‌چون ebay.com و مصرف‌کنندگان مثل یاهو.
وب‌گاههای بایگانی: که در نگه‌داری از اطلاعات با ارزش کاربرد دارند. برای نمونه: Internet Archive که از سال ۱۹۹۶ میلیاردها وب‌صفحهٔ کهنه (و نو) را در خود جای داده‌است و Google Groups که تا اوایل سال ۲۰۰۵ بیش از هشت‌صدوپنجاه‌وچهارمیلیون پیام فرستاده به گروه‌های بحث و خبر شبکهٔ کاربران را در خود اندوخته‌است.
وب نوشت دهنده ها: وب‌گاههایی اند که درشان افراد اطلاعات روزانهٔ خود را نگهداری می‌کنند و گاهی هم میزگردهای مختلف را دربرمی‌گیرند. برای مثال می‌توان به blogger.com و wordpress.com اشاره کرد.
وبگاههای میزبانیهاست:میزبانی وب یا وب هُستینگ (به انگلیسی: Web Hosting) به مفهوم فراهم ساختن فضایی است که کاربر می‌تواند فایل‌های وب‌گاه خود را در آن قرار دهد.
وب‌گاه بازرگانی: که در بهبود خدمات یا رونق بازرگانی کاربرد دارند.
وب‌گاه تجاری یا سایت تجارت الکترونیک: که برای خرید کاملاً مورد استفاده قرار می‌گیرد، مانند: amazon.com
وب‌گاه ارتباطییا شبکه اجتماعی: وب‌گاهی که در آن افراد با علایق مشترک به دادوستد اطلاعات می‌پردازند، معمولاً از طریق گفتگو یا بردهای پیام، برای مثال:مای‌اسپیس.
وب‌گاههای دادگان: وب‌گاهی که کاربرد اصلی‌اش در جست‌وجو و نمایش محتویات پایگاه‌های داده خاص مانند IMDB(بانک اطلاعات اینترنتی فیلم‌ها).
وب‌گاه نرم‌افزارسازی: سایتی که هدفش ارایهٔ اطلاعات و منابع مربوط به تولید نرم‌افزار، مهندسی نرم‌افزار، طراحی وب و مواردی از این قبیل است.
وب‌گاه راهنمای دادگان: سایتی که حاوی مطالب مختلفی است که به صورت منظم طبقه‌بندی شده‌است مانند راهنمای یاهو، راهنمای گوگل.
وب‌گاههای دریافت: مشخصاً در دانلودکردن اطلاعات مثلاً نرم‌افزارها،آهنگ ها نسخه‌های نمایشی بازی‌ها یا پس‌زمینه‌های رایانه‌ای کاربرد دارند که معمولا در کشور هایی که قانون کپی رایت را رعایت می کنند و به آن اهمیت می دهند این سایت ها غیر مجاز هستند و با آن ها برخورد قانونی می شود.ولی کشور هایی مانند ایران،سایت های دانلود بسیاری دارند.
وب‌گاههای استخدامی: به کارفرمایان این امکان را می‌دهند که نیازهای کاری خود را با اینترنت در اختیار کاربران بنهند. فرد جویای کار هم می‌تواند برگهٔ درخواست همکاری را پر کرده و یا اطلاعات شخصی خود را در اختیار کارفرما بگذارد.
وب‌گاه بازی: سایتی که افراد با مراجعه به آن همانند مراجعه به «زمین بازی» به بازی می‌پردازند مانند pogo.com.
وب‌گاههای دامنهٔ جغرافیایی: به نام‌های دامنه‌ای اشاره دارد که مشابه نام‌های مناطق جغرافیایی هستند مانند شهرها و کشورها برای مثال Richmond.com با آدرس اینترنتی www.richmond.com نام دامنهٔ جغرافیایی ریچموند در ایالت ویرجینا است.
وب‌گاههای خنده و سرگرمی: حاوی لطیفه و نغز و مطالب سرگرم‌کننده هستند.
وب‌گاههای اطلاعاتی: نقش خبررسانی را بر عهده دارند و لزوماً با اهداف اقتصادی طراحی نشده‌اند مانند: RateMyProfessors.com و داش‌نامهٔ آزاد ویکی‌پدیا. اغلب موسسات دولتی، آموزشی و غیرانتفاعی یک وب‌گاه خبررسانی هم دارند.
وب‌گاههای جاوا اپلت: حاوی نرم‌افزار مورد نیاز برای اجرای برنامه خوب روی وب است.
وب‌گاههای آینه ای: نسخه معادل یک وب‌گاه است.
وب‌گاههای خبری: همانند پایگاه اینترنتی اطلاعاتی است اما تنها اخبار و تفاسیر خبری را ارایه می‌دهد.
صفحهٔ اصلی شخصی: یک فرد یا یک گروه کوچک (مانند یک خانواده) هدایتش می‌کنند و حاوی اطلاعاتی است که فرد به سلیقه‌اش روی تار جهان‌گستر قرار می‌دهد.
وب‌گاههای برگه: وب‌گاهی که برای کسب اطلاعات مهم و امنیتی مانند رمزهای گذر و اطلاعات مربوط به کارت‌های اعتباری طراحی شده‌است و می‌تواند با گمراه کردن فرد اطلاعات شخصی وی مانند کد سرپرستی امنیت اجتماعی وی یا اطلاعات کارت‌اعتباری وی را به دست آورد. (فیشینگ را ببینید).
وب‌گاههای سیاسی: پایگاهی اینترنتی که افراد بر روی آن دیدگاه‌های سیاسی خود را مطرح می‌کنند.
وب‌گاههای نمره‌دهی: سایتی که در آن افراد یک موضوع خاص را ستایش کرده و یا از آن انتقاد می‌کنند. مانند ratemycar.com، ratemygun.com، ratemypet.com، hotornot.com.
وب‌گاههای مرور: وب‌گاهی که در آن افراد نظرات خود را راجع به انواع محصولات و خدمات با یکدیگر مطرح می‌کنند.
وب‌گاههای جستجوگر: سایتی که در آن اطلاعات کلی و دروازه‌هایی برای دستیابی به اطلاعات بقیه وب‌گاهها و جستجو در وب ارایه شده‌است. نمونهٔ بارز این سایت‌ها، وب‌گاه گوگل و پرکاربردترین وب‌گاههای از این نوع، سایت یاهو است.
وب‌گاههای ترسناک: وب‌گاهی که حاوی تصاویر یا مطالبی ترسناک است. مانند rotten.com و ratemypoo.com.
وب‌گاههای شکوائیه: sucks.com یک سایت وب معروف است که در آن افراد به انتقاد از اشخاص، مکان‌ها، شرکت‌ها، دولت‌ها و سازمان‌ها می‌پردازند.
وب‌گاههای درگاه وب: وب‌گاه که دروازه یا پورتالی را به سوی بقیهٔ منابع موجود روی شبکه اینترنت یا اینترانت باز می‌کند.
ود سایت: وب‌گاه که در آن جزئیات یک مراسم ازدواج مانند خاطرات، تصاویر، اطلاعات مربوط به آن ارایه می‌شود.

برخی از وب‌گاهها را می‌توان در چندین طبقه‌بندی ارایه‌شده جای داد. مثلاً یک پایگاه اینترنتی تجاری می‌تواند ضمن ارایهٔ محصول، اسناد اطلاعاتی مختلف مانند مقالات سفید را ارایه کند. همچنین هر یک از رده‌بندی‌های ارایه‌شده دارای زیرطبقه‌بندی‌هایی نیز هستند. برای مثال، یک وب‌گاهمستهجن نوعی وب‌گاه تجارت الکترونیک یا سایت بازرگانی است(چرا که تلاش دارد حق عضویت خود را به کاربران بفروشد). یک وب‌گاهها طرف‌داری می‌تواند پایگاه اینتنتی‌ای افتخاری باشد که در آن سرپرست سامانه به یک شخصیت معروف ادای احترام می‌کند.

بسیاری از وب‌گاههای تجاری شکل و شمایلی شبیه دفترک (بروشور)ی wikitionary دارند و در آن‌ها تبلیغات تجاری فراوانی وجود دارند. برخی از سایت‌ها هم وسیلهٔ ارتباطی افراد با یکدیگر از طریق گفت‌وگوی وب هستند.

وب‌گاهها دارای محدودیت‌های معماری هستند (مثلاً توان محاسباتی اختصاص یافته وب‌گاه محدود است). وب‌گاههای بسیار بزرگ مانند یاهو، مایکروسافت، گوگل کارسازهای زیادی را به خدمت می‌گیرند و به تجهیزات بارگذاری پیشرفته‌ای نیاز دارند (مانند خدمات محتوای سامانه‌های سیسکو و کلیدهای شبکه).







واژه‌گزینی

«وب‌گاه» واژه مصوب گروه واژه‌گزینی فرهنگستان زبان و ادب فارسی برای واژه «وب‌سایت» (Website) در زبان انگلیسی می‌باشند.





خدمات وب
با کمک فناوری خدمات وب (Web services) می‌شود سرویس‌ها و خدمتهای گوناگون را در روی اینترنت پراکنده کرد. منظور از خدمت، واحدی کوچک یا بزرگ از نرم‌افزار آماده به کار است که می‌تواند کار یا خدمتی را برای مشترکان خود انجام دهد.







میزبانی صفحات وب

میزبانی در واقع فضای مورد نیاز شما را برای ساخت وب‌گاه در اختیار شما قرار می‌دهد.
مزایای مربوط به خدمات وب'

بزرگ‌ترین مزیت روش نو از ناحیهٔ حضور اکس‌ام‌ال در اکثر ساختارهای مربوط به خدمات وب می‌آید. نیاز به آنهمه اکس‌ام‌ال به خاطر غلبه بر عدم مقیاس‌پذیری (scalability) شیوه‌های پیشین در مهندسی و ساخت اینترنت است. از آنجا که اکس‌ام‌ال متن گراست text-based، شمه‌ای از نرمی و انعطاف پذیری شگفت آوری که در زبان انسان موجود است با سختی و شکنندگی روشهای ماشینی ترکیب شده و ما را به ساخت سامانه‌های بسیار گسترش‌پذیر توانا می‌گرداند.







استانداردهای خدمات وب
پروتکل دسترسی ساده به شیء (SOAP)

بر اساس پروتکل دستیابی ساده به شیء است که تمامی خدمات وب به گردش در می‌آید. منظور از پروتکل، مجموعه شرح قواعد و فرمت‌های مربوط به ارسال پیامهای مخابراتی از یک ماشین به ماشین دیگر است. SOAP پروتکل ساده‌ای ست که به منظور سازگاری (compatibility) با سکوهای (platforms) مختلف و نیز سیستم‌های عامل (operating systems) گوناگون نوشته شده است. هدف اساسی این پروتکل را باید امکان پذیری مخابرات ماشین به ماشین در محیط‌های محاسباتی نامتجانس (heterogeneous) ذکر کرد.







زبان توصیف خدمات وب (WSDL)

هر چه بیشتر پرتکل‌های مخابراتی و فرمت پیامها بر روی وب به سمت استاندارد شدن پیش می‌رود، امکان و اهمیت توصیف مخابرات و امور تبادل یافته، به شیوه‌های ساختارپذیر (structured) نیز فزونی می‌یابد. زبان توصیف خدمات وب درست به منظور برآورده نمودن همین نیاز ابداع گردیده است، و این مهم را با تعریف یک گرامر اکس‌ام‌ال انجام می‌دهد. این گرامر به خصوص، خدمات موجود در شبکه را به صورت مجموعه‌هایی از نقاط پایانی مخابراتی بیان می‌نماید که قادرند به تبادل پیام‌های مخابراتی بپردازند مبادرت ورزند.







شرح، کشف، و یکپارچه‌سازی جهانی (UDDI)

به وسیله فناوری شرح، کشف، و یکپارچه‌سازی فراگیر (Universal Description، Discovery، and Integration) می‌توان به انتشار و نیز جستجوی خدمات وب اقدام کرد. این فناوری، خدمات وب را سامان داده، و پس از شرح آن ها، اطلاعات بدست آمده را در یک جایگاه مرکزی قرار می‌دهد.

دراینجا بیشتر تاکیدمان برتعامل با منابعی است که حالتپذیر(Statefull) هستند به جای استفاده از پیغامها و یا عملیاتها.







انواع سبک‌های استفاده از وب سرویسها
روش فراخوانی از راه دور - RPC

وب سرویس‌های این نوع، توابع توزیع شده ای رااجرا می کنند که فراخوانی شان بسیار برای تولیدگرها آشناست، بطور معمول ساده‌ترین واحد این مدل فراخوانی یک عملیاتی است که یک wsdl در پی دارد روشهای دیگری که با کارکرد مشابه به عنوان شی RPC می توان نام برد، Object Management Group's (OMG) و Common Object Request Broker Architecture (CORBA) و Microsoft's Distributed Component Object Model (DCOM) و یا سان مایکروسیستم جاوا ست که همان (RMI)نامیده میشود.
معماری سرویس گرا - Service-oriented architecture

وب سرویس‌ها را برای پیاده سازی معماری با رویکرد به مفاهیم معماری سرویس گرا (SOA) می توان اجرا کرد که مبتنی است بر ساده‌ترین واحدهای ارتباطی که همان پیغام‌ها میباشند در تقابل با اعمال (operation)، به همین دلیل است که غالباً با نام سرویس‌های پیغام گرا نامیده میشوند . این دست از وب سرویسها توسط اکثر تولیدکنندگان نرم‌افزار عمده در دنیا پشتیبانی می گردد، بر خلاف RPC در این مدل امکان اتصالات سست(loose coupling ) محقق تر است بدلیل اینکه تاکید بر روی CONTRACT ی است که WSDL تولید کرده به جای اینکه بروی جزئیات زمینه اجرا باشد.
نمایانگر حالت انتقال - (Representational state transfer (REST)

این مدل تلاشی است در جهت توصیف و یا ساخت معماری هایی که از http و یا پروتکل‌های مشابه ای استفاده می کنند که هدفشان محدود کردن واسطه(interface) هاست به استفاده از اعمال شناخته شده واستاندارد (مثل GET، POST، PUT، DELETE بروی HTTP) دراینجا بیشتر تاکیدمان برتعامل با منابعی است که حالتپذیر(State-full) هستند به جای استفاده از پیغامها و یا عملیاتها. یک معماری مبتنی بر REST که REST-full نامیده می‌شود می تواند برای تعریف یک پیغام سوپ از WSDL بروی HTTP استفاده کند یا می تواند یک کلاس انتزاعی باشد که صرفاً بروی سوپ بنا شده باشد، یا می تواند تماماً بدون هیچ استفاده ای از سوپ ساخته شود. WSDL ۲ نه تنها اتصال به همه متدهای ورژن یک را امکانپذیر می‌کند بلکه تمامی متدهای اتصال به http را پشتیبانی می‌کند، بنابراین به نظر می رسد که برای وب سرور هایی از نوع REST این اجرا بهترین باشد، هر جند که پشتیبانی از این مشخصات فنی معماری، درون کیت‌های برنامه نویسی روز دنیا هنوز ضعیف می باشد. این برنامه‌ها معمولاً به سمت تولید ابزارهایی برای WSDL ۱ تمایل دارند.





برنامه کاربردی وب

برنامه کاربردی وب (به انگلیسی: web application) یک برنامه‌است که می‌توان به آن از طریق اینترنت یا اینترانت دسترسی داشت. همچنین به معنی یک برنامه‌ایست که توسط یک مرورگر پشتیبانی می‌شود.(همانند افزونه جاوا) یا درون یک زبان برنامه‌نویسی نوشته شده‌است که توسط مرورگر پشتیبانی می‌شود؛ همانند جاوا اسکریپت که با زبان اچ‌تی‌ام‌ال ترکیب شده‌است.

برنامه‌های وبی معمولا از مرورگرها به عنوان بستر فعالیت استفاده می‌کنند. یک مرورگر همانند یک کارخواه یا به عبارت بهتر یک کارخواه مختصر است که کاربر را قادر به به روزرسانی و استفاده از برنامه می‌کند، بدون این که احتیاج باشد کاربر برنامه را بر روی دستگاه خود نصب کند.

سیستم‌های خرید و فروش(همچون آمازون)، مزایده‌های آنلاین (همچون ای‌بی)، رایانامه‌های تحت وب (همچون جیمیل) نمونه‌ای برای برنامه‌های کاربردی وب معمول هستند.





میزبانی وب
میزبانی وب یا وب هُستینگ (به انگلیسی: Web Hosting) به مفهوم فراهم ساختن فضایی است که کاربر می‌تواند فایل‌های وب‌گاه خود را در آن قرار دهد.

وب سایت‌ها از مجموعه‌ای از فایلهای مختلف مانند تصاویر، متون و فایلهای برنامه نویسی شده به زبانهای مختلف و سایر اسناد مربوطه تشکیل می‌شود که به منظوری خاص به شکلی با هم مرتبط شده‌اند. هر شخصی که نرم‌افزارهای لازم و دسترسی به این فایلها را داشته باشد امکان بازدید از این سایت را دارد. حال برای اینکه همه مردم امکان دسترسی به فایلها را داشته باشند نیاز است تا فایلها در کامپیوتری قرار گیرند که همواره به اینترنت پرسرعت متصل است به این کامپیوترها «سرویس دهنده» یا «سرور» می‌گویند.

اما این سرورها باید امکانات دیگری نیز داشته باشد از آن جمله می‌توان به موارد زیر اشاره کرد:

در صورتی که حجم قابل توجهی از بازدید کننده به سایت مراجعه کنند امکان پاسخگویی به همه آنها را داشته باشد. بنابر این نیاز است تا یک کامپیوتر قدرتمند از لحاظ مشخصات قطعات داخلی باشد.
نرم‌افزارهای لازم برای اجرای انواع فایلها از لحاظ نوع برنامه نویسی را داشته باشد.
نرم‌افزارهای مورد نیاز برای مدیریت بخشهای مختلف سایت و پست الکترونیک و... را در اختیار صاحبان وب سایتها قرار دهد.

هر کامپیوتری می‌تواند یک سرور باشد اما از آنجا که هزینه‌های مورد نیاز برای فراهم کردن تجهیزات و نرم‌افزارهای لازم و یا نیروی پشتیبانی برای صاحبان همه وب سایتها به صرفه نیست لذا شرکتهایی این مسئولیت را می‌پذیرند و با فراهم آوردن لوازم کار در سطح وسیع بخشی از فضای دیسک سخت سرورهای خود را به صورت اجاره‌ای در اختیار متقاضیان قرار می‌دهند. به این شرکتها که خدمات میزبانی وب یا هُستینگ ارائه می‌کنند در اصطلاح «میزبان» یا «هُست» می‌گویند.

سرویسهای میزبانی وب بر اساس نوع سیستم‌عاملی که بر روی سرورها نصب می‌باشد و طبیعتا نرم‌افزارها و فایلهایی را که پشتیبانی می‌کنند شاخه بندی می‌شوند. مانند هُست ویندوز یا هُست لینوکس و...

سرویسهای میزبانی مشخصاتی را نیز به همراه دارند که نشان دهنده کیفیت و امکانات آنها می‌باشد. از آن جمله می‌توان به موارد زیر اشاره کرد:








حجم دیسک

حجم دیسک (به انگلیسی: Disc space) به مقدار فضایی گفته می‌شود که شرکت میزبان از دیسک سخت سرورهای خود در اختیار شما قرار می‌دهد این فضا از چند مگابایت تا چند گیگابایت براساس نیاز متفاوت است. مجموع حجم فایلهای ارسالی به سرور اجاره کننده باید کمتر یا مساوی با فضای اجاره شده باشد. (البته این میزان فضا در اکثر سرویس دهنده‌ها در هر زمان قابل تغییر می‌باشد).








محدودیت انتقال داده‌ها

محدودیت و میزان انتقال داده‌ها (به انگلیسی: Data Transfer) که به آن ترافیک ماهیانه نیز گفته می‌شود میزان تبادل اطلاعات با کامپیوتر میزبان را مشخص می‌کند. به این معنی که میزان مجموع حجم فایلهای دریافت شده یا ارسال شده به فضای اجاره شده به صورت ماهیانه مشخص می‌شود و نباید از آن حجم بیشتر باشد. نکته: در نظر داشته باشد هر بار که سایت توسط یک بازدید کننده باز می‌شود مقداری اطلاعات و فایل بین سرور میزبان و کامپیوتر بازدید کننده تبادل می‌شود بنابر این تعداد بازدید از یک سایت اگر بالا باشد به نسبت نوع فایلهای استفاده شده در سایت، می‌تواند حجم قابل توجهی از اطلاعات تبادل شود.

تعداد دامنه‌هایی که امکان ایجاد آنها بر روی یک فضای اجاره‌ای وجود دارد، تعداد بانکها اطلاعاتی و نوع و حجم آنها و یا نوع پست الکترونیک و تعداد آنها و چند مورد دیگر مشخص کننده کیفیت سرویسهای میزبانی و شرکتهای میزبان هستند.

مالکان و مدیران سایتها براساس نیاز خود انتخاب می‌کنند.







انواع خدمات میزبانی وب

خدمات میزبانی وب معمولاً به موارد زیر تقسیم‌بندی می‌شوند:







میزبانی اشتراکی

در میزبانی وب معمولاً شرکت‌های ارائه دهنده این خدمات یک سرور تهیه می‌کنند و توسط کنترل‌پنل‌ها امکانات و فضای آن را بین مشتریان خود تقسیم بندی می‌کنند، که به این خدمات میزبانی اشتراکی یا (به انگلیسی: Shared Hosting) گفته می‌شود.







ویندوز

منظور از خدمات ویندوز و در اصطلاح هُست ویندوز مربوط به سرور آن است که معمولاً ویندوز سرور می‌باشد.تفاوت اصلی بین هُست ویندوز و سایر خدمات میزبانی وب، پشتیبانی کردن این سرورها از زبان‌های ASP و ASP.NET و همچنین بانک اطلاعتی MSSQL می‌باشد. البته هُست‌های ویندوز به علت نیاز به خرید لیسانس ویندوز سرور از ماکروسافت هزینه بالاتری نسبت به هُست لینوکس دارند. معمولاً برای سرورهای ویندوز از کنترل‌پنل‌های پلسک، هلم، وب سایت پنل و هُستینگ کنترولر استفاده می‌شود.







لینوکس

منظور از خدمات هُست لینوکس و در اصطلاح هُست لینوکس مربوط به سرورهای لینوکس است. سرورهای لینوکس از محبوبت خاصی برخوردار هستند که مهمترین عامل آن کد باز بودن و رایگان بودن آن است. هُست لینوکس بیشتر برای استفاده از زبان PHP و همچنین بانک اطلاعتی MySql است. معمولا برای هُست‌های لینوکس از کنترل‌پنل‌های سی‌پنل، دایرکت ادمین، پلسک و کلوکزو استفاده می‌شود.







فضای رایگان

البته وبگاه‌هایی هستند که در قبال ارائه خدمات میزبانی وب از مشترک خود هزینه‌ای دریافت نمی‌کنند. که به هُست رایگان شهرت دارند، که اکثرا با قرار دادن تبلیغات اجباری هزینه‌های رایانه سرور را تامین می‌کنند.







نمایندهٔ فروش

نماینده فروش خدمات میزبانی وب (به انگلیسی: reseller) این اجازه را به مشتریان می‌دهد تا خود به عنوان فروشنده خدمات میزبانی اقدام نمایند و به کسب درآمد بپردازند. اغلب نمایندگان فروش فضایی را از یک ارايه دهندهٔ هُستینگ خریداری مینمایند و بوسیلهٔ کنترل‌پنل هُست آنرا بین مشتریان خود تقسیم میکنند.







سرور مجازی

سرور مجازی یک نوع سرور اینترنتی است که به وسیله نرم‌افزارهای مخصوصی از یک سرور قوی تر ایجاد می‌شود. ویژگی اصلی و برتر سرور مجازی نسبت به هُست اشتراکی، محدود و اختصاصی بودن میزان حافظه و سایر امکانات عمده‌است که به مانند هُست اشتراکی بین چندین مشترک تقسیم نمی‌شود، به‌طوری که از لحاظ ظاهری سرور مجازی تفاوت چندانی با سرور اختصاصی ندارد.







سرور اختصاصی
رایانش ابری

پلت فرم جدید از میزبانی وب می‌باشد که به مشتریان این اجازه را می‌دهد که از خدمات میزبانی وب قدرتمند و قابل اعتماد بر روی خوشه سرورهای متعادل شده بر اساس میزان پرداخت وجه استفاده کنند.







خوشه میزبان

شامل چند وب سرور با محتوای یکسان است تا از منابع بهره‌برداری بیشتری شود. خوشه میزبان یک راه حل مناسب برای دسترسی بالا به سرور اختصاصی می‌باشد. در میزبانی به صورت خوشه ممکن است سرویس پایگاه داده (به انگلیسی: database) از وب سرورها جدا شوند، که این امر باعث افزایش سرعت پردازش داده بر روی وب سرور اصلی خواهد شد.







میزبان شبکه‌ای

این شکل از توزیع میزبانی وب زمانی که چند گروه از سرویس دهنده‌های خوشه‌ای مانند شبکه‌ای که شامل چند گره است گفته می شود.
میزبانی وب در ایران

بیشتر شرکت‌های میزبانی وب در ایران به علت عوامل نا مساعد در مراکز داده (به انگلیسی: Datacenter) ایرانی و همچنین پهنای باند کم و هزینه زیاد برای تهیه سرورهای خود از مراکز داده‌های خارج از ایران مخصوصا در کشورهای آمریکا، کانادا و انگلیس بهره می‌گیرند! که مهمترین ویژگی برتر نسبت به مراکز داده در ایران سرعت بالا و هزینه کمتر است.

البته به علت تحریم‌های کشور آمریکا علیه ایران و همچنین عدم گسترش کارت‌های اعتباری بین‌المللی در ایران تهیه سرور در خارج از ایران نیز با مشکلات خاص خود روربرو است.







میزبانی وب در سرورهای ایرانی

بنا به مطلب بالا میزبانی وب در سرورهای ایران از سرعت کم و هزینه بالایی برخوردار است ولی از دیگر مزایای آن می‌توان به در دسترس بودن سایت مورد نظر برای تمامی کاربران اشاره کرد و فالس بودن آن(رعایت نشدن قوانین کپی رایت)به علت رعابت قوانین کپی رایت در سایر کشورها بیشتر کاربران اینترنت که نیاز به هُست فالس دارند به سرورهای ایرانی روی می‌آورند که این امر باعث افزایش طرفدارانی شده‌است.







کنترل پنل

شرکت‌های ارائه‌دهنده خدمات میزبانی وب برای مشتریان خود کنترل پنلی ارائه می‌دهند تا مشترکین بتواند فضای میزبانی خود را کنترل و مدیریت کند که در کنار کنترل فضای میزبانی این کنترل پنل‌ها خدماتی از قبیل پارک دامنه، ایجاد زیر دامنه، ساخت و مدیریت پایگاه‌داده، کنترل آمار وبگاه و مدیریت پست الکترونیک نیز قرار دارد.

از جمله کنترل‌پنل‌های پرکاربرد و مشهور:

سی‌پنل (به انگلیسی: Cpanel):محبوب‌ترین کنترل‌پنل میزبانی وب می‌باشد که برای سرورهای لینوکس استفاده می‌شود، اما اخیرا با شدت گرفتن تحریم‌ها بر علیه ایران به محض شناسایی دامنه‌های ایرانی این کنترل پنل خدمات خود را قطع می‌کند و به اصطلاح لیسانس خود بر روی ان سرور را باطل می‌کند.
پلسک (به انگلیسی: Plesk):یکی دیگر از کنترل‌پنل‌های مشهور می‌باشد که هم بر روی ویندوز و هم بر روی لینوکس قابل استفاده‌است، که با وجود سی‌پنل این کنترل پنل بیتشر برای سرورهای ویندوز استفاده می‌شود
دایرکت ادمین (به انگلیسی: Direct Admin):کنترل پنلی ساده تر نسبت به دو کنترل پنل بالا است و هزینه لیسانس آن نیز نسبت به سی‌پنل و پلسک کمتر می‌باشد. این کنترل‌پنل بعد از آغاز تحریم‌ها بر علیه ایران در بین شرکت‌های خدمات میزبانی وب بیشتر مورد توجه قرار گرفته‌است.
ال‌اکس‌ادمین (به انگلیسی: LXAdmin):این کنترل پنل قیمت بسیار اندکی دارد و بیشتر در سرورهای لینوکس استفاده می‌شود.
هلم (به انگلیسی: Helm): این کنترل پنل برای سرورهای ویندوز است.






مجموعه نرم‌افزار اینترنتی

مجموعه نرم‌افزار اینترنتی (به انگلیسی: Internet suite) مجموعه نرم‌افزاری برای کاربردهای اینترنتی که به طور معمول شامل مرورگر، گیرنده پست الکترونیکی، خبرخوان، برنامه‌مدیریت بارگذاری، تدوین‌گر HTML و کلاینت گپ اینترنتی IRC می‌شوند.

از مشهورترین این مجموعه‌های نرم‌افزاری همچنان در حال توسعه می‌توان به:

سی‌مانکی (جایگزین توسعهٔ موزیلا سوییت) ارائه شده توسط بنیاد موزیلا.
گنو زیلا ویرایشی از موزیلا سوییت برای گنو است.
مرورگر اپرا عرضه شده توسط شرکت نرم‌افزاری اپرا.
آی‌اواِل دسکتاپ عرضه شده توسط AOL.
اشاره کرد.
3:33 am
کاربرد

زبان برنامه نویسی یک مکانیزم ساخت یافته برای تعریف داده‌ها، و عملیات یا تبدیل‌هایی که ممکن است بطور اتوماتیک روی آن داده انجام شوند، فراهم می‌کند. یک برنامه نویس از انتزاعات آماده در زبان استفاده می‌کند تا مفاهیم به کار رفته در محاسبات را بیان کند. این مفاهیم به عنوان یک مجموعه از ساده‌ترین عناصر موجود بیان می‌شوند(مفاهیم ابتدایی نامیده می‌شوند).





زبان‌های برنامه نویسی با غالب زبان‌های انسانی تفاوتی دارد و آن این است که نیاز به بیان دقیق تر و کامل تری دارد. هنگام استفاده از زبان‌های طبیعی برای ارتباط با دیگر انسان‌ها، نویسندگان و گویندگان می‌توانند مبهم باشند و اشتباهات کوچک داشته باشند، و همچنان انتظار داشته باشند که مخاطب آنها متوجه شده باشد. اگرچه، مجازا، رایانه‌ها "دقیقاً آنچه که به آنها گفته شده را انجام می‌دهند." و نمی‌توانند "بفهمند" که نویسنده دقیقاً چه کدی مد نظر نویسنده بوده‌است] البته امروزه برنامه‌هایی برای انجام این کار تولید شده‌اند و تلاش‌های بسیاری در این زمینه انجام شده ولی هنوز به نتیجهٔ رضایت بخشی نرسیده است[. ترکیب تعریف زبان، یک برنامه، و ورودی برنامه بطور کامل رفتار خروجی را به هنگام اجرای برنامه (در محدوده کنترل آن برنامه) مشخص می‌کند. برنامه‌های یک رایانه ممکن است در یک فرایند ناپیوسته بدون دخالت انسان اجرا شوند، یا یک کاربر ممکن است دستورات را در یک مرحله فعل و انفعال مفسر تایپ کند.در این حالت "دستور"ها همان برنامه‌ها هستند، که اجرای آنها زنجیروار به هم مرتبطند.به زبانی که برای دستور دادن به برنامه‌ای استفاده می‌شود، زبان اسکریپت می‌گویند. بسیاری از زبان‌ها کنار گذاشته شده‌اند، برای رفع نیازهای جدید جایگزین شده‌اند، با برنامه‌های دیگر ترکیب شده‌اند و در نهایت استعمال آنها متوقف شده‌است. با وجود اینکه تلاش‌هایی برای طراحی یک زبان رایانه" کامل" شده‌است که تمام اهداف را تحت پوشش قرار دهد، هیچ یک نتوانستند بطور کلی این جایگاه را پر کنند. نیاز به زبان‌های رایانه‌ای گسترده از گستردگی زمینه‌هایی که زبان‌ها استفاده می‌شوند، ناشی می‌شود:

محدوده برنامه‌ها از متون بسیار کوچک نوشته شده توسط افراد عادی تا سیستم‌های بسیار بزرگ نوشته شده توسط صدها برنامه نویس است
توانایی برنامه نویس‌ها: از تازه کارهایی که بیش از هر چیز به سادگی نیاز دارند تا حرفه‌ای‌هایی که با پیچیدگی قابل توجهی کنار می‌آیند.
برنامه‌ها باید سرعت، اندازه و سادگی را بسته به سیستم‌ها از ریزپردازندها تا ابر رایانه‌ها متناسب نگه دارند.
برنامه‌ها ممکن است یک بار نوشته شوند و تا نسل‌ها تغییر نکنند، و یا ممکن است پیوسته اصلاح شوند.
در نهایت، برنامه نویس‌ها ممکن است در علایق متفاوت باشند: آنها ممکن است به بیان مسائل با زبانی خاص خو گرفته باشند.

یک سیر رایج در گسترش زبان‌های برنامه نویسی این است که قابلیت حل مسائلی با درجات انتزاعی بالاتری را اضافه کنند. زبان‌های برنامه نویسی اولیه به سخت‌افزار رایانه گره خورده بودند. همانطور که زبان‌های برنامه نویسی جدید گسترش پیدا کرده‌اند، ویژگی‌هایی به برنامه‌ها افزوده شده که به برنامه نویس اجازه دهد که ایده‌هایی که از ترجمه ساده به دستورات سخت‌افزار دورتر هستند نیز استفاده کند. چون برنامه نویس‌ها کمتر به پیچیدگی رایانه محدود شده‌اند، برنامه‌های آنها می‌تواند محاسبات بیشتری با تلاش کمتر از سوی برنامه نویس انجام دهند. این به آنها این امکان را می‌دهد که کارایی بیشتردر واحد زمان داشته باشند. "پردازنده‌های زبان طبیعی" به عنوان راهی برای ازبین بردن نیاز به زبان‌های اختصاصی برنامه نویسی پیشنهاد شده‌اند. هرچند، این هدف دور است و فواید آن قابل بحث است. "ادسگر دیجسترا" موافق بود که استفاده از یک زبان رسمی برای جلوگیری از مقدمه سازی ساختارهای بی معنی واجب است، و زبان برنامه نویسی طبیعی را با عنوان "احمقانه" رد کرد، "آلن پرلیس" نیز مشابها این ایده را رد کرد. مطابق با متدولوژی نامتجانس استفاده شده توسط langpop.com در سال ۲۰۰۸، ۱۲ زبان پرکاربرد عبارتند از: C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, Shell, SQL, and Visual Basic.



المان‌ها
تمام زبان‌های بزنامه نویسی تعدادی بلوک‌های ابتدایی برای توضیح داده و پردازش یا تبدیل آنها(مانند جمع کردن دو عدد با انتخاب یک عضو از یک مجموعه)دارند. این " عناصرابتدایی" بوسیله قوانین معناشناسی و دستوری تعریف می‌شوند که ساختار و معنای مربوطه را توضیح می‌دهند.
دستور(
syntax)

فرم سطحی یک زبان برنامه نویسی دستور آن نامیده می‌شود. غالب زبان‌های برنامه نویسی کاملاً متنی اند؛ و از دنبالهٔ متون شامل کلمات، اعداد، نشانگذاری، بسیار شبیه زبان نوشتاری طبیعی استفاده می‌کنند. از طرف دیگر، برنامه‌هایی نیز وجود دارند که بیشتر گرافیکی اند، و از روابط بصری بین سمبل‌ها برای مشخص کردن برنامه استفاده می‌کنند. دستور یک زبان ترکیبات ممکن سمبل‌ها برای ایجاد یک برنامهٔ درست را از نظر دستوری مشخص می‌کند. معنایی که به یک ترکیب سمبل‌ها داده می‌شود با معناشناسی اداره می‌شود(قراردادی یا نوشته شده در پیاده سازی منبع). از آنجا که اغلب زبان‌ها متنی هستند، این مقاله دستور متنی را مورد بحث قرار می‌دهد.

دستور زبان برنامه نویسی معمولاً بوسیله ترکیب عبارات معین(برای ساختار لغوی) و فرم توضیح اعمال(برای ساختار گرامری) تعریف می‌شوند. متن زیر یک گرامر ساده، به زبان lisp است: expression ::= atom | list atom ::= number | symbol number ::= [+-]?['۰'-'۹']+ symbol ::= ['A'-'Za'-'z'].* list ::= '(' expression* ')' این گرامر موارد ذیل را مشخص می‌کند:

یک عبارت یا atom است و یا یک لیست
یک atom یا یک عدد است و یا یک سمبل
یک عدد دنباله ناشکسته‌ای از یک یا تعداد بیشتری اعداد دهدهی است، که یک علامت مثبت و یا منفی می‌تواند پیش از آن بیاید.
یک سمبل حرفی است که بعد از هیچ یا تعدادی کاراکتر (جز فاصله) می‌آید.
یک لیست تعدادی پرانتز است که می‌تواند صفر یا چند عبارت در خود داشته باشد.

"۱۲۳۴۵"، "()"، "(a b c۲۳۲ (۱))" مثال‌هایی هستند از دنباله‌های خوش فرم در این گرامر.

همه برنامه‌هایی که از لحاظ دستوری درست هستند، از نظر معنا درست نیستند. بسیاری از برنامه‌های درست دستوری، بد فرم اند، با توجه به قوانین زبان؛ و ممکن است (بسته به خصوصیات زبان و درست بودن پیاده سازی) به خطای ترجمه و یا استثنا(exception) منتج شود. در برخی موارد، چنین برنامه‌هایی ممکن است رفتار نامشخصی از خود نشان دهند. حتی اگر یک برنامه در یک زبان به خوبی بیان شده باشد، ممکن است دقیقاً مطلوب نویسنده آن نبوده باشد.

به عنوان مثال در زبان طبیعی، ممکن نیست به برخی از جملات درست از لحاظ گرامری، معنای خاصی اطلاق کرد و یا ممکن است جمله نادرست باشد:

"ایده‌های بی رنگ سبز با خشم می‌خوابند."از نظر دستوری خوش فرم است ولی معنای مورد قبولی ندارد.
"جان یک مجرد متاهل است." از نظر دستوری درست است، ولی معنایی را بیان می‌کند که نمی‌تواند درست باشد.

این قسمت از زبان C از نظر دستوری درست است، اما دستوری را انجام می‌دهد که از نظرمعنایی تعریف نشده است(چون p یک اشاره گر خالی است، عمل p->real,p->im معنای خاصی ندارد.) complex *p = NULL; complex abs_p = sqrt (p->real * p->real + p->im * p->im);

گرامر مورد نیاز برای مشخص کردن یک زبان برنامه نویسی می‌تواند با جایگاهش در "سلسله مراتب چامسکی" طبقه بندی شود. دستور اغلب زبان‌های برنامه نویسی می‌تواند بوسیله یک گرامر نوع ۲ مشخص گردد، برای مثال، گرامرهای مستقل از متن.




معناشناسی ایستا
معناشناسی ایستا محدودیت‌هایی بر روی ساختار مجاز متن‌ها تعیین می‌کند که بیان آنها در فرمول دستوری استاندارد مشکل و یا غیر ممکن است. مهمترین این محدودیت‌ها به وسیله سیستم نوع گذاری انجام می‌شود.


سیستم نوع گذاری
یک سیستم نوع گذاری مشخص می‌کند که یک زبان برنامه نویسی چگونه مقادیر و عبارات را در نوع(type) دسته بندی می‌کند، چگونه می‌تواند آن نوع‌ها را تغییر دهد و رفتار متقابل آن‌ها چگونه‌است. این کارعموما توضیح داده ساختارهایی که می‌توانند در آن زبان ایجاد شوند را شامل می‌شود. طراحی و مطالعه سیستم‌های نوع گذاری بوسیله ریاضیات قراردادی را تئوری نوع گذاری گویند.
زبان‌های نوع گذاری شده و بدون نوع گذاری

یک زبان نوع گذاری شده‌است اگر مشخصات هر عملیات، نوع داده‌های قابل اجرا توسط آن را با نشان دادن نوع‌هایی که برای آنها قابل اجرا نیست، تعیین کند. برای مثال، "این متن درون گیومه قرار دارد" یک رشته‌است. در غالب زبان‌های برنامه نویسی، تقسیم یک رشته با یک عدد معنایی ندارد. در نتیجه غالب زبان‌های برنامه نویسی مدرن ممکن است اجرای این عملیات را توسط برنامه‌ها رد کنند. در برخی زبان‌ها، عبارات بی معنی ممکن است هنگام ترجمه(compile) پیدا شود(چک کننده نوع ایستا)، و توسط کامپایلر رد شود، در حالی که در سایر برنامه‌ها، هنگام اجرا پیدا شود.(چک کننده نوع دینامیک) که به استثنای در حال اجرا منتج شود(runtime exception). حالت خاص زبان‌های نوع دار زبان‌های تک نوعند. این زبان‌ها غالباً اسکریپتی و یا مارک آپ هستند، مانند rexx وSGML و فقط یک داده گونه دارند—غالباً رشته‌های کاراکتری که هم برای داده‌های عددی و هم برای داده‌های سمبلی کاربرد دارند. در مقابل، یک زبان بدون نوع گذاری، مثل اکثر زبان‌های اسمبلی، این امکان را می‌دهد که هر عملیاتی روی هر داده‌ای انجام شود، که معمولاً دنباله‌ای از بیت‌ها با طول‌های متفاوت در نظر گرفته می‌شوند. زبان‌های سطح بالا که بی نوع هستند شامل زبان‌های ساده رایانه‌ای و برخی از انواع زبان‌های نسل چهارم.

در عمل، در حالیکه تعداد بسیار کمی از دیدگاه نظریه نوع، نوع گذاری شده تلقی می‌شوند(چک کردن یا رد کردن تمام عملیات‌ها)، غالب زبان‌های امروزی درجه‌ای از نوع گذاری را فراهم می‌کنند. بسیاری از زبان‌های تولیدکننده راهی را برای گذشتن یا موقوف کردن سیستم نوع فراهم می‌کنند.




نوع گذاری ایستا و متحرک

در نوع گذاری ایستا تمام عبارات نوع‌های خود را قبل از اجرای برنامه تعیین می‌کنند(معمولاً در زمان کامپایل). برای مثال، ۱ و (۲+۲) عبارات عددی هستند؛ آنها نمی‌توانند به تابعی که نیاز به یک رشته دارد داده شوند، یا در متغیری که تعریف شده تا تاریخ را نگه دارد، ذخیره شوند.





زبان‌های نوع گذاری شده ایستا می‌توانند با مانیفست نوع گذاری شوند یا با استفاده از نوع استنباط شوند. در حالت اول، برنامه نویس بیشتر صریحاً نوع‌ها را در جایگاه‌های منتنی مشخص می‌نویسد(برای مثال، در تعریف متغیرها). در حالت دوم، کامپایلر نوع عبارات و تعریف‌ها را بر اساس متن استنباط می‌کند. غالب زبان‌های مسیر اصلی(mainstream) ایستا نوع گذاری شده، مانند C#,C++ و Java، با مانیفست نوع گذاری می‌شوند



نوع گذاری قوی و ضعیف

نوع گذاری ضعیف این امکان را ایجاد می‌کند که با متغیری به جای متغیری دیگر برخورد شود، برای مثال رفتار با یک رشته به عنوان یک عدد. این ویژگی بعضی اوقات ممکن است مفید باشد، اما ممکن است باعث ایجاد برخی مشکلات برنامه شود که موقع کامپایل و حتی اجرا پنهان بمانند.

نوع گذاری قوی مانع رخ دادن مشکل فوق می‌شود. تلاش برای انجام عملیات روی نوع نادرست متغیر منجر به رخ دادن خطا می‌شود. زبان‌هایی که نوع گذاری قوی دارند غالباً با نام "نوع-امن" و یا امن شناخته می‌شوند. تمام تعاریف جایگزین برای "ضعیف نوع گذاری شده" به زبان‌ها اشاره می‌کند، مثل perl, JavaScript, C++، که اجازه تعداد زیادی تبدیل نوع داخلی را می‌دهند. در جاوااسکریپت، برای مثال، عبارت ۲*x به صورت ضمنی x را به عدد تبدیل می‌کند، و این تبدیل موفقیت آمیز خواهد بود حتی اگر x خالی، تعریف نشده، یک آرایه، و یا رشته‌ای از حروف باشد. چنین تبدیلات ضمنی غالباً مفیدند، اما خطاهای برنامه نویسی را پنهان می‌کنند.

قوی و ایستا در حال حاضر عموماً دو مفهوم متعامد فرض می‌شوند، اما استفاده در ادبیات تفاوت دارد، برخی عبارت "قوی نوع گذاری شده" را به کار می‌برند و منظورشان قوی، ایستایی نوع گذاری شده‌است، و یا، حتی گیچ کننده تر، منظورشان همان ایستایی نوع گذاری شده‌است. بنابراین C هم قوی نوع گذاری شده و هم ضعیف و ایستایی نوع گذاری شده نامیده می‌شود.



معناشناسی اجرا

وقتی که داده مشخص شد، ماشین باید هدایت شود تا عملیات‌ها را روی داده انجام دهد. معناشناسی اجرا ی یک زبان تعیین می‌کند که چگونه و چه زمانی ساختارهای گوناگون یک زبان باید رفتار برنامه را ایجاد کنند.

برای مثال، معناشناسی ممکن است استراتژی را که بویسله آن عبارات ارزیابی می‌شوند را تعریف کند و یا حالتی را که ساختارهای کنترلی تحت شرایطی دستورها را اجرا می‌کنند.


کتابخانه هسته
اغلب زبان‌های برنامه نویسی یک کتابخانه هسته مرتبط دارند(گاهی اوقات "کتابخانه استاندارد" نامیده می‌شوند، مخصوصا وقتی که به عنوان قسمتی از یک زبان استاندارد ارائه شده باشد)، که به طور قراردادی توسط تمام پیاده سازی‌های زبان در دسترس قرار گرفته باشند. کتابخانه هسته معمولاً تعریف الگوریتم‌ها، داده ساختارها و مکانیزم‌های ورودی و خروجی پرکاربرد را در خود دارد. کاربران یک زبان، غالباً با کتابخانه هسته به عنوان قسمتی از آن رفتار می‌کنند، اگرچه طراحان ممکن است با آن به صورت یک مفهوم مجزا رفتار کرده باشند. بسیاری از خصوصیات زبان هسته‌ای را مشخص می‌کنند که باید در تمام پیاده سازی‌ها موجود باشند، و در زبان‌های استاندارد شده این کتابخانه هسته ممکن است نیاز باشد. بنابراین خط بین زبان و کتابخانه هسته آن از زبانی به زبان دیگر متفاوت است. درواقع، برخی زبان‌ها به گونه‌ای تعریف شده‌اند که برخی از ساختارهای دستوری بدون اشاره به کتابخانه هسته قابل استفاده نیستند. برای مثالف در جاوا، یک رشته به عنوان نمونه‌ای از کلاس “java.lang.String” تعریف شده است؛ مشابها، در سمال تاک(smalltalk) یک تابع بی نام(یک "بلاک") نمونه‌ای از کلاس BlockContext کتابخانه می‌سازد. بطور معکوس، Scheme دارای چندین زیرمجموعه مرتبط برای ایجاد سایر ماکروهای زبان می‌باشد، و در نتیجه طراحان زبان حتی این زحمت را نیز تحمل نمی‌کنند که بگویند کدام قسمت زبان به عنوان ساختارهای زبان باید پیاده سازی شوند، و کدام یک به عنوان بخشی ازکتابخانه.


عمل
طراحان زبان و کاربران باید مصنوعاتی ایجاد کنند تا برنامه نویسی را در عمل ممکن سازند و کنترل کنند. مهمترین این مصنوعات خصوصیات و پیاده سازی‌های زبان هستند.
ساعت : 3:33 am | نویسنده : admin | مطلب قبلی | مطلب بعدی
بامداد نویس | next page | next page