تاریخ اینترنت
تاریخ اینترنت
اتحاد جماهیر شوروی آن زمان موشکی با نام «اسپونیک» (Spotnik) را به فضا میفرستد و نشان میدهد دارای قدرتی است که میتواند شبکههای ارتباطی آمریکا را توسط موشکهای بالستیک و دوربرد خود از بین ببرد. آمریکاییها در پاسخگویی به این اقدام روسها، موسسه پروژههای تحقیقی پیشرفته “ARPA” را بهوجود آوردند.
هدف از تاسیس چنین موسسهای پژوهش و آزمایش برای پیدا کردن روشی بود که بتوان از طریق خطوط تلفنی، کامپیوترها را به هم مرتبط نمود. به طوری که چندین کاربر بتوانند از یک خط ارتباطی مشترک استفاده کنند. در اصل شبکهای بسازند که در آن دادهها به صورت اتوماتیک بین مبدا و مقصد حتی در صورت از بین رفتن بخشی از مسیرها جابهجا و منتقل شوند. در اصل هدف “ARPA” ایجاد یک شبکه اینترنتی نبود و فقط یک اقدام احتیاطی در مقابل حمله احتمالی موشکهای اتمی دوربرد بود. هر چند اکثر دانش امروزی ما درباره شبکه بهطور مستقیم از طرح آرپانت “ARPPA NET” گرفته شدهاست. شبکهای که همچون یک تار عنکبوت باشد و هر کامپیوتر ان از مسیرهای مختلف بتواند با همتایان خود ارتباط دااشته باشد واگر اگر یک یا چند کامپیوتر روی شبکه یا پیوند بین انها از کار بیفتادبقیه باز هم بتوانستند از مسیرهای تخریب نشده با هم ارتباط بر قرار کنند.
این ماجرا با وجودی که بخشی از حقایق بهوجود آمدن اینترنت را بیان میکند اما نمیتواند تمام واقعیات مربوط به آن را تشریح کند. باید بگوییم افراد مختلفی در تشکیل اینترنت سهم داشتهاند آقای “Paul Baran” یکی از مهمترین آنهاست. آقای باران که در دوران جنگ سرد زندگی میکرد میدانست که شبکه سراسری تلفن آمریکا توانایی مقابله با حمله اتمی شوروی سابق را ندارد. مثلاً اگر رییس جمهور وقت آمریکا حمله اتمی متقابل را دستور دهد، باید از یک شبکه تلفنی استفاده میکرد که قبلاً توسط روسها منهدم شده بود. در نتیجه طرح یک سیستم مقاوم در مقابل حمله اتمی روسها ریخته شد.آقای باران (Baran) تشکیل و تکامل اینترنت را به ساخت یک کلیسا تشبیه کرد و معتقد بود، طی سالهای اخیر هر کس سنگی به پایهها و سنگهای قبلی بنا اضافه میکند و انجام هر کاری وابسته به کارهای انجام شده قبلی است. بنابراین نمیتوان گفت، کدام بخش از کار مهمترین بخش کار بودهاست و در کل پیدایش اینترنت نتیجه کار و تلاش گروه کثیری از دانشمندان است. داستان پیدایش اینترنت با افسانه و واقعیت در هم آمیخته شدهاست.
در اوایل دهه ۶۰ میلادی آقای باران طی مقالاتی پایه کار اینترنت امروزی را ریخت. اطلاعات و دادهها به صورت قطعات و بستههای کوچکتری تقسیم و هر بسته با آدرسی که به آن اختصاص داده میشود به مقصد خاص خود فرستاده میشود. به این ترتیب بستهها مانند نامههای پستی میتوانند از هر مسیری به مقصد برسند. زیرا آنها شامل آدرس فرستنده و گیرنده هستند و در مقصد بستهها مجدداً یکپارچه میشوند و به صورت یک اطلاعات کامل درمیآیند.
آقای باران (Baran) طی مقالاتی اینچنینی ساختمان و ساختار اینترنت را پیشگویی کرد. او از کار سلولهای مغزی انسان به عنوان الگو استفاده کرد، او معتقد بود: وقتی سلولهای مغزی از بین بروند، شبکه عصبی از آنها دیگر استفاده نمیکند و مسیر دیگری را در مغز انتخاب میکند. از دیدگاه وی این امکان وجود دارد که شبکهای با تعداد زیادی اتصالات برای تکرار ایجاد شوند تا در صورت نابودی بخشی از آن، همچنان به صورت مجموعهای به هم پیوسته کار کند. تا نیمه دهه ۶۰ میلادی کسی به نظرات او توجهای نکرد. تا اینکه در سال ۱۹۶۵ نیروی هوایی آمریکا و«آزمایشگاههای بل» به نظرات او علاقهمند شدند و پنتاگون با سرمایهگذاری در طراحی و ساخت شبکهای براساس نظریات او موافقت کرد.
ولی آقای باران (Baran) بنابر دلایلی حاضر با همکاری با نیروی هوایی آمریکا نشد. در این میان دانشمندی با نام تیلور (Tailon) وارد موسسه آرپا (ARPA) شد. او مستقیماً به آقای هرتسفلد رییس موسسه پیشنهاد کرد: (ARPA) آرپا هزینه ایجاد یک شبکه آزمایشی کوچک با حداقل چهار گره را تامین کند که بودجه آن بالغ بر یک میلیون دلار میشد. با این پیشنهاد تیلور تجربهای را آغاز کرد که منجر به پیدایش اینترنت امروزی شد. او موفق شد در سال ۱۹۶۶، دو کامپیوتر را در شرق و غرب آمریکا به هم متصل کند. با این اتصال انقلابی در نحوه صدور اطلاعات در دنیای ارتباطات رخ داد که نتیجه آن را امروز همگی شاهد هستیم. این شبکه به بستههایی (packet) از دادهها که به وسیله کامپیوترهای مختلف ارسال میشدند اتکا داشت. پس از انکه ازمایشها سودمندی انرا مشخص کردند سایر بخشهای دولتی و دانشگاهها پژوهشی تمایل خود را به وصل شدن به ان اعلام کردند . ارتباطات الکترونیکی به صورت روشی موثر برای دانشمندان و دیگران به منظور استفاده مشترک از دادهها در امد. در همان زمان که ARPAnet در حال رشد بود تعدادی شبکه پوشش محلی (LAN) در نقاط مختلف آمریکا به وجود امد. مدیران LANها نیز به وصل کردن کامپیوترهای شبکههای خود به شبکههای بزرگتر اقدام کردند . پروتوکل اینترنت ARPAnet IP زبان استاندارد حکمفرما برای برقراری ارتباط کامپیوترهای شبکههای مختلف به یکدیگر شد.تاریخ تولد اینترنت به طور رسمی اول سپتامبر ۱۹۶۹ اعلام شدهاست. زیرا که اولین “IMP” در دانشگاه “UCLA” واقع در سانتاباربارا در این تاریخ بارگذاری شدهاست.
از اوایل دهه ۱۹۹۰ رشد استفاده از اینترنت به صورت تصاعدی افزایش یافت . یکی از علل چنین استقبالی ابزار جستجویی مانند Gopher و archie بودهاست اما اینها در سال ۱۹۹۱ تحت تاثیر word wide web قرار گرفتند که به وسیله CERN یا ازمایشگاه فیزیک هستهای اروپا ساخته شد . با ان که اینترنت از ابتدا طوری بود که مبادله اطلاعات برای تازه واردان بسیار ساده باشد. بزرگترین جهش در وب در سال ۱۹۹۳ با عرضه نرمافزار موزاییک mosaic که نخستین برنامه مرورگر وب گرافیکی بود به وجود امد. برنامه موزاییک محصول تلاش دانشجویان و استادان بخش "مرکز ملی کاربردهای ابر کامپیوتر " در دانشگاه ایلینویز آمریکا بود. برای نخستین بار موزاییک امکانات اشاره و کلیک (به وسیله موش) را فراهم کرد. کاربران میتوانستند صفحات وب (web page) یا مجموعهای از متن و گرافیک را کنار هم بگذارند تا هر کسی که میخواست انها را بتواند روی اینترنت ببیند. وقتی با موش روی کلمهها یا تصاویر خاصی که hyper link نامیده میشد کلیک میکردند برنامه موزاییک به طور خود کار یک صفحه دیگر باز میکرد که به کلمه یا تصویر خاص و کلیک شده اختصاص داشت. بهترین بخش این سیستم انجا بود که hyper linkها میتوانستند به صفحاتی روی همان کامپیوتر یا هر کامپیوتر دیگر اینترنت با خدمات وب اشاره کنند. صفحات وب هر روز متولد میشدند و مفهوم موج سواری یا surfing روی وب متولد شد. اواسط سال ۱۹۹۴ سه میلیون کامپیوتر به اینترنت وصل شده بود و در ان هنگام اجرای عملیات اهسته نشده بود. صفحات جدید وب که شامل همه چیز از اسناد دولتی تا مدارک شرکتها و مدلهای جدید لباس بود در سراسر دنیا چندین برابر شد . موزاییک و جانشینان ان مانند navigator محصول شرکت " نت اسکیپ " اینترنت را از قلمرو علمی به میان مردم اوردند. طبق اخرین امار ۵۱ درصد کاربران بعد از سال ۱۹۹۵ وارد این محیط شدهاند. میلیونها انسانی که از اینترنت استفاده میکنند نیازی ندارند که نکات فنی مانند TCP/IP را بدانند . امروزه شرکتهای خدمات دهنده اینترنت یا ISP این کار را به عهده دارند.رشد روز افزون ان و ساده تر شدن استفاده ان همچنان ادامه دارد . هر چه تعداد مردم بیشتری به اینترنت رجوع کنند تعداد شرکتهای سازنده برنامههای اینترنت بیشتر میشود.با انکه بعضی از عاشقان اینترنت ان را نوعی شیوه زندگی میدانند. در نظر بیشتر کاربران منبع سرگرمی اطلاعات است ولی بیشترین مصرف ان پست الکترونیکی یا همان email است که یکی از ابزارهای ارتباطی کار امد به شمار میرود. پیامها از کامپیوتری به کامپیوتر دیگر با سرعت پرواز میکنند و منتظر میمانند تا شخص فرصت خواندن انها را پیدا کند . وب امکانات خوبی برای کپی از نرمافزارهای مجاز از لحاظ کپی فراهم میسازد. وقتی که میبینیم که در مدت کوتاهی اینترنت به چنین رشدی نایل آمده است، مطمئناً دشوار خواهد بود که آینده او را پیش بینی کنیم. طبق نظر کارشناسان ماهانه ۱۰ درصد به تعداد کاربران اینترنت افزوده میشود ولی تعداد دقیق کاربران که روزانه از آن استفاده میکنند مشخص نیست. هرچند که پارهای از کارشناسان تعداد آنها را تا ۹۰۰ میلیون نفر حدس میزنند. تعداد رسمی کاربران اینترنتی را در سال ۲۰۰۰ کارشناسان ۵۰۰ میلیون نفر اعلام کرده بودند.
قطعاً در سالهای آینده تحولات شگرفی را در زمینه شبکههای اینترنتی شاهد خواهیم بود. بهوسیله اینترنت انسان به راههای جدیدی دست پیدا کرد. در کنار این شانس جدید توسط اینترنت، باید بگوییم خطراتی نیز در رابطه با سیاست و اقتصاد و علم به دنبال خواهد داشت. فرم امروزی اینترنت مدیون همکاری تمام کاربران اینترنت در سرتاسر گیتی است که با این تصور که اطلاعات موجود در سطح جهان را به راحتی با یکدیگر مبادله کنند. این تصوری بود که آقای باران(Baran) از اینترنت داشت و امیدواریم در آینده نیز تکامل اینترنت در این مسیر باشد.
شبکه هوشمند مخابرات
شبکه هوشمند (IN) ساختاری است که به وسیلهٔ آن مشترکین مخابرات استان تهران میتوانند از چند گونه از خدمات مرتبط فناوری اطلاعات با سهولت بیشتری استفاده کنند.
این شبکه از گرههای سختافزاری و نرمافزاری تشکیل شده تا با استفاده از پروتکلهای خاص امکان ارائه سرویسهای ویژه، برای مشترکین تلفن ثابت و تلفن همراه فراهم شود .
به کار گیری پایگاههای اطلاعاتی در شبکه و فراهم نمودن امکان دسترسی برای مشترکین و اپراتورهای خصوصی، افزایش درآمد برای اپراتورها، بالا بردن تعداد مکالمات موفق، استفاده موثر از منابع شبکه، مدیریت قابل انتقال بر روی سرویسها و امکان کنترل پارامترهای ارائه سرویس توسط مشترک از جمله مزایای پیاده سازی شبکه هوشمند است.
مهمترین سرویسهایی که شبکه هوشمند ارائه میکند عبارتنداز:
سرویس صندوق پست صوتی
صندوق پست صوتی (به انگلیسی: Voicemail) قادر به ثبت پیامهای تلفنی نمابر و ایمیل برای مشترکین است. از این سرویس به عنوان تلفن مجازی نیز میتوان بهره گرفت.
سرویس مکالمات انبوه
(به انگلیسی: Mass Calling Service)
با استفاده از این سرویس اپراتور شبکه میتواند به طور موقت یک شماره تلفن را جهت استفاده کننده از سرویس اختصاص دهد و هر زمانی که یک مکالمه بااین شماره بر قرار شود، استفاده کننده یک پیام را دریافت نموده تا نسبت به وارد کردن اعداد بیشتری جهت نشان دادن یک اولویت یا تقدم اقدام نماید.
سرویس نظر سنجی
(به انگلیسی: Tlevoting)
این سرویس یکی از سرویسهای زیر گروه سرویس مکالمه انبوه میباشد که شامل سرویس VOTیا نظرسنجی تلفنی است. در این نظرسنجی جواب سوال اهمیت ندارد و فقط دادن رای و جمع آوری نظر مورد توجهاست
سرویس کارت اعتباری
(به انگلیسی: Prepaid Card Service)
برای استفاده از این سرویس، باید کارتهای اعتباری با اعتبار داخلی ۲۰ هزار ریال را به قیمت ۱۶ هزارریال را از دفاتر امور مشترکین و خدمات ارتباطی و یا با اعتبار ۲۰ تا ۲۰۰ هزار ریال را با قیمت ۱۵ تا ۱۵۰ هزار ریال از بخش خصوصی به صورت آنلاین تهیه کرد و سپس با یک تلفن معمولی (همگانی –ثابت )می توان با هر نقطه از کشور یا حتی داخل شهر تماس بر قرار نمود و هزینه تماس از کارت اعتباری مربوطه کسر میشود .پس از خرید کارت دو شماره شامل یک شماره ۸ رقمی که شماره کارت است ویک شماره چهاررقمی که رمز عبور است روی کارت نوشته شده که برای برقراری ارتباط مورد استفاده قرلر میگیرد.
برای برقراری ارتباط ابتدا بایستی شماره یا عدد ۹۰۰۲۱۱ را روی هر نوع تلفن (همگانی یا ثابت )که کد ورودی به شبکه هوشمند میباشد را شماره گیری کرد سپس با توجه به تذکرات راهنما ،شماره کارت مندرج در کارت اعتباری را وارد کرده و کلید پوند(#)و بعد از آن رمز عبور را وارد کرده و سپس کلید پوند (#)را فشار دهید و در نهایت شماره مخاطب را وارد کرده و کلید پوند (#) را فشار دهید.
این کارت ها امکان اتصال به خط را نیز دارا می باشند و در صورت اتصال به خط ، دیگر نیازی به وارد کردن شماره کارت و رمز نمیباشد.
اعتبار این کارت ها تا تاریخ درج شده بر روی کارت و یا سه ماه پس از بر قراری اولین تماس می باشد.
سرویس شبکه خصوصی مجازی
با وجود شبکه هوشمند و با استفاده از امکانات شبکه عمومی میتوان یک شبکه اختصاصی مجازی برقرار نمود. سرویس شبکه خصوصی مجازی برای یک شبکه اختصاصی برای شرکتها یا سازمانهای دارای واحدهای گسترده در سطح شهر و شهرستان یا خارج از کشور میشود.
سرویس تفکیک هزینه یا خدمات مشاورهای
(به انگلیسی: Premium Rate Service)
این سرویس برای اپراتورها این امکان را فراهم میسازد که اطلاعات فروش و عرضه محصولات یا خدمات مشاورهای خود را با یک روش اقتصادی ارائه نماید. عمده خدماتی که در حال حاضر از طریق این سرویس ارائه میشوند خدمات مشاوره است. استفاده از خدمات مشاوره ای یکی از استفادههای بهینه از این شبکه است.
استفاده از خدمات مشاورهای متخصصین در زمینههای مختلف (حقوقی، پزشکی، فنی و ...) با پرداخت هزینه مشاوره از طریق این سرویس انجام میشود. امکان ارتباط با اینترنت در هر زمان بدون نیاز به تهیه كارتهای مختلف و رمز عبور، دسترسی به اطلاعات و اخبار مربوط به سازمانها نظیر هواشناسی، هواپیمایی، اخبار ورزشی و ... از دیگر قابلیتهای این سرویس است. دارنده این سرویس 80 درصد درآمدهای حاصل از مكالمات مشاورهای را دریافت میكند و حقالزحمه شرکتهای اینترنتی، 70 درصد درآمدهای حاصل از ارایه این سرویس است. سرویس کشوری 65 درصد درآمد حاصل را به مشاور پرداخت می کنند. -بر اساس مفاد قرارداد واگذاری این سرويس، برقراري سرويس مشاوره براي متقاضيان مستلزم پروانه كار از مراجع ذيصلاح ويا مجوز مجامع صنفي موضوع فعاليت است و اعلام قيمت مشاوره از طريق همان مراجع مي باشد. یکی از شماره های موفق این شبکه که در زمینه مشاوره روانشناسی سرویس می دهد شماره 9092301434 استان تهران و شماره 9099070319 کشوری است.
اینترنت هوشمند
اینترنت هوشمند همان Premium Rate Service که به جای مشاوره امکان دسترسی به اینترنت را مهیا میکند، نرخ مکالمه برای این سرویس دقیقهای ۵ تومان میباشد که برخی از شرکتهای سرویس دهنده هزینه پالس تلفن را نیز تقبل کردهاند و برخی دیگر تقبل نکردهاند.
تلفن هوشمند
تلفن هوشمند اینترنتی همان سرویس صدا روی پروتکل اینترنت است که از طریق Premium Rate Service ارائه میشود، این روش هم مشابه اینترنت هوشمند است با این تفاوت که نرخ آن بسته به شرکت و مقصد مکالمه متفاوت است و شرکتهای سرویس دهنده مکالمه با برخی نقاط به خصوص را امکان پذیر کردهاند، نرخ مکالمه این سرویس بر اساس گرانترین مقصد قابل مکالمه در نظر گرفته شدهاست که عملاً هزینه مکالمه را نسبت به مکالمه عادی VoIP بسیار گران تر میکند.
شركتها، موسسات، سازمانها و واحدهای صنفی كه دارای دفاتر و شعبات متعدد میباشند، از عمدهترین كاربران این سرویس هستند. موسسه دارنده این سرویس، تنها یك شماره از شبكه هوشمند را به آگاهی مشتریان خود میرساند، ولی شبكه IN، ارتباط مشتری را با شعبهای از شركت كه نزدیكترین فاصله را با او دارد، برقرار میكند. صرفهجویی در هزینههای گزاف تبلیغات و سهولت بهخاطرسپاری یك شماره، به جای شمارههای متعدد و امكان ارتباط در محدودههای خاص زمانی از دیگر مزایای این سرویس است. (شماره فراگیر 10 رقمی است و با پیششماره 909221) شروع میشود. امکان ارتباط با این شماره از طریق تلفن همراه و شهرستان فراهم است. دارنده این سرویس میتواند از نظر محدوده جغرافیایی یا محدوده زمانی سرویس را تعریف کند).
وب جهانگستر
جهان وب٬ وب جهانگستر٬ تار گیتیگستر٬ یا به طور ساده وب (به انگلیسی: World Wide Web) یک سامانهٔ اطلاعاتی از پروندههای ابرمتنی متصلبههم است که از طریق شبکهٔ جهانی اینترنت قابل دسترسی هستند. بهکمک یک مرورگر وب میتوان صفحات وب (که شامل متن، تصویر، ویدیو و سایر محتویات چندرسانهای هستند) را مشاهده و بهکمک ابرپیوندها در میان آنها حرکتکرد.
تیم برنرز لی، یک پژوهشگر علوم رایانه و کارمند موسسهٔ سرن در نزدیکی ژنو، در ماه مارچ سال ۱۹۸۹ میلادی پیشنهاد اولیهٔ وب امروزی را مطرح کرد. پیشنهاد ارائهشده در ۱۹۸۹ قرار بود که یک سیستم ارتباطی برای موسسه سرن شود، اما برنرز لی بهزودی متوجهشد که این ایده قابلیت جهانیشدن را دارد. برنرز لی به همراه رابرت کایلیائو در سال ۱۹۹۰ میلادی این پیشنهاد را بهعنوان «پیوند و دسترسی به اطلاعات مختلف بهصورت تارنمایی از گرههایی که کاربران به دلخواه در میان آنها حرکت میکنند» ارائه دادند. برنرز لی در ماه دسامبر همان سال اولین وبگاه را بهوجودآورد و در ۷ اوت سال ۱۹۹۱ میلادی آنرا بهعنوان یک پروژه بر روی گروه خبری alt.hypertext منتشر کرد.
واژهٔ وب
واژهٔ وب (به معنی تار) در بسیاری از ترکیبات «اینترنتی» میآید. کم کم «وب» بهعنوان واژهٔ بینالمللی جا افتاده و به منظورهای مختلفی به کار میرود. این واژه معمولاً به صورت اشتباه به جای اینترنت به کار میرود اما وب در حقیقت یکی از خدماتی است که روی اینترنت ارایه میشود (مانند پست الکترونیکی).
همچنین، وب مخفف کلمه وبسایت (website) است. سایت یعنی مکان و منظور از وبسایت صفحات مرتبط است. در پارسی واژهٔ تارنما جایگزین وبسایت شده است.
تاریخچه
ایده اولیه در مورد تارِ گیتیگستر به سال ۱۹۸۰ (میلادی) برمیگردد. زمانی که در شهر سرن سوئیس، تیم برنرز لی شبکه ENQUIRE را ساخت (که به "Enquire Within Upon Everqthing CSS" اشاره داشت و همنام کتابی بود که وی از جوانی خود به یاد داشت. اگرچه آنچه وی ساخت با وب امروزی تفاوتهای زیادی دارد اما ایده اصلی در آن گنجانده شده است (و حتی برخی از این ایدهها در پروژه بعدی برنرزلی پس از WWW یعنی وب معنایی به کار گرفته شد).
در مارس 1989، برنرزلی یک پیشنهاد را نوشت که به ENQUIRE اشاره داشت و یک سیستم اطلاعاتی پیشرفته را توصیف میکرد. وی با کمک رابرت کایلا، پیشنهاد طراحی تور جهان گستر را در 12 نوامبر 1990 ارائه کرد. اولین مرور وب جهان توسط برنرزلی با عنوانNEXTcube مورد استفاده قرار گرفت و وی اولین مرورگر وب و تور جهان گستر را در سال 1990 طراحی کرد.
در کریسمس 1990، برنرز لی همه ابزارهای لازم برای کار با وب را فراهم کرد
در 6 آگوست 1991 وی خلاصهای از پروژه تور جهان گستر را در گروه خبری alt.hypertext پست کرد. در همین روز وب به عنوان یک خدمات عمومی روی اینترنت ارائه شد. مفهوم مهم ابر متن در پروژههای قدیمیتر مربوط به دهه 1960 مانند Project Xanadu مربوط به تد نلسون و NLS (سیستم آنلاین) مربوط به داگلاس انگلبارت مطرح شد.
موفقیت برنرزلی در ایجاد ارتباط بین ابر متن و اینترنت بود. در کتاب "بافتن تور" وی اذعان میکند که بارها از امکان برقراری ارتباط میان دو تکنولوژی صحبت کرده بود اما چون کسی به حرفهایش توجه نکرد وی خودش دست به کار شد و پروژه را به سرانجام رساند. وی در سیستم خود شاخصهای منحصر به فرد جهانی برای شناسایی منابع موجود روی وب و دیگر مکانها در نظر گرفت و آنها را شناسه منبع یکپارچه نامید.
تور جهان گستر با بقیه سیستمهای ابر متنی موجود تفاوتهایی داشت:
WWW به لینکهای یک طرفه نیاز داشت و نه دوطرفه بنابراین فرد میتوانست بدون آن که از جانب مالک منبع واکنشی صورت گیرد به منبع دسترسی پیدا کند. همچنین ابر متن مشکل پیادهسازی سرورهای وب و مرورگرها (در مقایسه با سیستمها قبلی) را برطرف کرد اما در مقابل مشکل زمان در لینکهای قطع شده را ایجاد کرد.
تور جهان گستر بر خلاف سیستمهای قبلی مانند ابر کارت غیر انحصاری بود و این امکان را فراهم میکرد که سرورها و مرورگرهای مستقلی را ایجاد کرده و بدون هیچ محدودیتی آنها را به شبکه وصل کرد.
در 30 آوریل سال ۱۹۹۳ (میلادی)، CERN اعلام کرد که تور جهان گستر به صورت رایگان برای همه افراد قابل دسترسی است. این موضوع دو ماه پس از اعلام رایگان نبودن پروتکل گوفر مطرح میشد و در نتیجه تمایل به وب به شدت افزایش یافت. قبل از آن مرورگر وب معروفی به نامViolaWWW وجود داشت که بر اساس ابر کارت کار میکرد. نسخه گرافیکی تور جهان گستر با نام مرورگر وب موزائیک در سال 1993 توسط مرکز ملی برنامههای سوپرکامپیوتر که توسط مارک اندرسن راه اندازی شده بود مورد انتقاد شدید قرار گرفت. قبل از عرضه موزائیک، گرافیک و متن در صفحات وب از یکدیگر جدا بودند و در پروتکلهای اینترنتی قبلی مانند پروتکل گوفر و مرور اطلاعات ناحیه وسیع گرافیک کاربرد زیادی نداشت. واسط کاربر گرافیکی موزائیک وب را به مشهورترین پروتکل اینترنتی تبدیل کرد.
اجزاء وب
تار گیتیگستر ترکیبی از چهار عنصر اصلی است:
hypertext یا بسامتن: فرمتی از اطلاعات که به افراد اجازه می دهد تا در محیط کامپیوتر با استفاده از ارتباط داخلی موجود میان دو متن از بخشی از سند به بخش دیگری از آن یا حتی سند دیگری مراجعه کنند و به اطلاعات جدیدی دسترسی پیدا کند.
URL: شناسههای منحصر به فردی که برای مشخص کردن محل حضور اطلاعات موجود روی شبکه (فایل کامپیوتری، سند یا منابع دیگر) به کار می روند.
مدل Client-Server یا مشتری-خدمتگزار: سیستمی که در آن نرمافزار یا کامپیوتر مشتری از نرمافزار یا کامپیوتر خدمتگزار تقاضای دریافت منابع اطلاعاتی مانند داده یا فایل می کند.
markup language یازبان علامتگذاری: کاراکترها یا کدهای موجود در متن که ساختار متن وب معنایی را مشخص می کنند.
معماری سیستم وب
کلاً از دیدگاه فنی سیستم وب در دو بخش سازماندهی می شود:
برنامه سمت سرویس دهنده ی وب و برنامه سمت مشتری وب
پایگاه اطلاعاتی توزیع شده از صفحات ابرمتن، فایل های داده مثل صدا، تصویر و بطور کل هر منبع
صفحه وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML ، DHTML یا XML تدوین می شود. کاری که مرورگر به عنوان مشتری وب انجام می دهد آن است که تقاضای دریافت یکی از صفحات یا فایل ها را در قالب قراردادی استاندارد (به نام پروتکل HTTP) به سمت سرویس دهنده ارسال کند. در سمت مقابل سرویس دهنده ی وب این تقاضا را پردازش کرده و در صورت امکان، فایل مورد نظر را برای مرورگر ارسال می کند. مرورگر پپس از دریافت فایل ابرمتنی ، آن را تفسیر کرده و به صورت صفحه آرایی شده روی خروجی نشان می دهد. اگر فایل ابرمتنی در جایی به فایل صدا یا تصویر پیوند خورده باشد آن ها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار می گیرند.
وب چگونه عمل میکند
برای مشاهده یک صفحه وب یا دیگر منابع اطلاعاتی روی تور جهان گستر معمولاً URL صفحه را در یک مرورگر وب وارد میکنیم و یا لینک ابر متن مربوط با آن صفحه یا منبع را انتخاب میکنیم. اولین گام که در پشت پرده انجام میشود اختصاص یک آدرس IP به بخش سرور URL است که توسط پایگاه داده توزیع شده اینترنت صورت میگیرد که به آن DNS میگویند.
در مرحله بعد یک درخواست HTTP به مرور وب در آن آدرس IP ارسال میشود و درخواست مشاهده صفحه ارائه میگردد. در صورتی که یک صفحه معمولی در خواست شده باشد متن HTML، تصاویر گرافیکی یا هر فایل دیگری که مربوط به آن صفحه است در اختیار مشتری (مرورگر وب) قرار میگیرد. سپس مرورگر وب صفحه HTML، و دیگر فایلهای دریافت شده را ترجمه میکند. در نهایت "صفحه" مورد نظر مشتری در اختیار وی قرار میگیرد.
در تور جهان گستر، یک برنامه مشتری که عامل کاربر نام دارد منابع اطلاعاتی مانند صفحات وب یا فایلهای کامپیوتری را با استفاده از URL از وب در خواست میکند. اگر عامل کاربر نوعی مرورگر وب باشد، اطلاعات را روی مانیتور نشان میدهد. کاربر میتواند با دنبال کردن لینکهای موجود در صفحه وب به بقیه منابع موجود روی تور جهان گستر دسترسی پیدا کند. همچنین میتوان با پرکردن فرمهای HTML و تحویل این فرمهای وب میتوان اطلاعات را بر اساس پروتکل انتقال ابرمتن به سرور وب برگرداند تا از آن ذخیره شده یا پردازش شوند. صفحات وب در کنار هم قرار گرفته و وبسایتها را می سازند. عمل دنبال کردن ابرلینک از یک وب سایت به وب سایت دیگر را "مرور وب" یا " گشت و گذار" وب مینامند.
اصطلاح "گشت و گذار در اینترنت" اولین بار توسط جین آرمور پولی که یک کتابدار بود در مقاله یا به نام "Surfing the INTERNET" مطرح شد که ژوئن سال 1992 در "بولتن کتابخانه ویلسن" در دانشگاه مینوستا چاپ شد. اگر چه پولی مستقلاً از این کلمه استفاده کرد اما در یوزنتهای مربوط به سالهای 1991 و 1992 این کلمه دیده میشود و حتی عدهای میگویند که این کلمه در مجمع هکرها در دو سال قبل از آن به صورت شفاهی عنوان شده بود. پولی در تاریخ اینترنت به مادر اینترنت معروف است.
اغلب صفحات وب شامل ابر لینکهایی هستند که به صفحات و منابع اطلاعاتی مرتبط با آنها مانند صفحات دانلود، اسناد منابع، تعاریف و غیره منتهی میشوند. چنین مجموعهای از منابع مفید و مرتبط با هم توسط لینکهای ابر متن به یکدیگر متصل شدهاند را "وب" اطلاعات مینامند. قرار دادن این مجموعه منابع روی اینترنت شبکهای را تولید کرد که در اوایل دهه 1990 توسط تیم برنرز لی، " تور جهان گستر" نامیده شد.
عملکرد برنامه ی سرویس دهنده و مشتری وب
در سمت سرویس دهنده ی وب، پروسه ای وجود دارد که دائماً به پورت شماره 80 گوش می دهد و منتظر تقاضای برقراری اتصال توسط مشتریان می ماند. دقت کنید که برنامه ی سرویس دهنده از سوکت های نوع استریم استفاده می کند و اتصال از نوع TCP است. فرامین و داده هایی که بین سرویس دهنده و مرورگر وب مبادله می شوند تماماً متنی هستند.(همانند سیستم پست الکترونیکی) پس از آنکه ،ژ\ بین برنامه ی سویس دهنده و مشتری برقرار شد برنامه ی مشتری حق دارد یک یا چندین تقاضا بفرستد و این تقاضا ها باید در قالب استاندارد HTTP باشد. سرویس دهنده، یکایک تقاضا ها را دریافت و پردازش و در صورت امکان آن ها را اجرا می کند.
کش (cache)
اگر کاربر پس از مدت زمان اندکی به سرعت به صفحه وب برگردد احتمال دارد که اطلاعات از سرور وب اصلی بازیابی نشوند. به طور پیش فرض، مرورگرهای همه منابع وب را روی هارد کامپیوتر مشتری، مخفی (کش) میکنند. مرورگر درخواست HTML را تنها در صورتی که نیاز به روزآوری دادههای قبلی وجود داشته باشد ارسال میکند. در غیر این صورت از دادههای کش استفاده میشود.
این عمل باعث کاهش ترافیک شبکه اینترنت میشود. تصمیمگیری در مورد انقضای زمان استفاده از منبع تصویر، CSS، فایل جاوا اسکریپت و همچنین HTML به صورت مستقل انجام میگیرد. بنابراین حتی در برخی از سایتهای با محتوای پویا، بسیاری از منابع اطلاعاتی اصلی فقط در هر بار مراجعه عرضه میشوند. بهتر است طراحان وب سایت همه فایلهای جاوا اسکریپت و CSS را درون تعدادی فایل سایت جمعآوری کنند تا کش های کاربران بتوانند از آنها استفاده کنند و بدین ترتیب زمان دانلود شدن صفحه و تعداد مراجعات به سرور کاهش یابد.
همچنین بخشهای دیگری از اینترنت میتوانند محتوای وب را کش (مخفی) کنند. یکی از بهترین این اجزاء دیوارهای آتش است که در شرکتها و محیطهای دانشگاهی کاربرد دارد و منابع وب درخواست شده توسط یک کاربر را برای همه کاربران کش میکند. با وجود آن که این قابلیتها در اغلب مرورگرهای وب دیده میشود طراحان صفحات وب میتوانند عناوین HTTP که توسط کاربر درخواست شده را کنترل کنند تا صفحات در مواردی که لازم نیست در کش ذخیره نشوند؛ مثلاً صفحات خبری و بانکها.
بدین ترتیب میتوانیم بین اعمال "دریافت" و "ارسال" HTTP تفاوت قائل شویم. در صورتی که همه شرایط محقق شود، دادههایی که توسط فرمان دریافت (GET) درخواست شدهاند میتوانند در کش ذخیره شوند در حالی که دادههای به دست آمده پس از ارسال (posting) اطلاعات به سرور در کش ذخیره نمیشوند.
جاوا و جاوا اسکریپت
این سیستم به سرورهای وب امکان میدهد تا برنامههای کوچکی (که اپلت (applet) نامیده میشوند) را مستقیماً در شبکه اطلاعات بازیابی شده قرار دهند و این اپلتها که در کامپیوتر کاربر اجرا میشوند تعامل کاربر با اینترنت را سرعت میبخشد. در نهایت این سیستم به عنوان ابزاری برای تولید محتویات پیچیده طرف سرور مورد استفاده قرار گرفت. شرکت سان تلاش میکرد جاوا را به عنوان یک پلاتفرم برای اپلتهای طرف مشتری مطرح کند اما به دلایلی مانند عدم وجود یکپارچگی با محتوا (اپلتها به جعبههای کوچکی محدود میشدند که درون صفحه قرار داشتند) و عملکرد ضعیف (مخصوصاً شروع با تأخیر) ماشین مجازی بر روی سختافزارهای PCهای آن زمان این امر هرگز محقق نشد.
با این وجود، جاوا اسکریپت یک زبان برنامهنویسی اسکریپتی است که برای صفحات وب طراحی شده است. نسخه استاندارد آن ECMAScript نام دارد. اگر چه نام آن شبیه جاوا است اما توسط شرکت ارتباطات نت اسکیپ (Netscape) طراحی شده است و تقریباً هیچ ارتباطی با جاوا که ساخت شرکت میکروسیستمهای سان است ندارد. تنها شباهت آن با جاوا در این است که نحوه نگارش آن از زبان برنامه نویسی C گرفته شده است. جاوا اسکریپت مانند جاوا برنامه نویسی شیءگرا است اما شبیه سی پلاس پلاس و بر خلاف جاوا امکان استفاده از کدهای درهم (مخلوط) یعنی استفاده هم زمان از زبان برنامهنویسی شیء گرا و برنامهنویسی رویهای را فراهم میآورد. جاوا اسکریپت در کنار مدل شیء سند به زبان برنامهنویسی بسیار قویای تبدیل شده که حتی طراحان آن چنین تصوری از موفقیت آن نداشتند. گاهی اوقات در مورد آن از کلمه HTML پویا (DHTML) استفاده میشود تا گذر از صفحات HTML "ایستا" بیشتر حس میشود.
(برنامهنویسی) آجاکس یک فناوری مبتنی بر جاوا اسکریپت است که تأثیر زیادی بر شکلگیری تور جهان گستر داشته است. در این روش در زمانهای لازم، تنها بخشی از صفحه وب که مورد نیاز کاربر است به روز میشود تا سرعت کاربر بالاتر برود. آجاکس یکی از جنبههای مهم وب 2.0 محسوب میشود.
تأثیر بر روابط اجتماعی
وب در دنیای امروزی تبادل اطلاعات بین افراد در سراسر جهان را بسیار ساده و آسان نموده است و این امر با این حجم وسیع هرگز در تاریخ بشر سابقه نداشته است. افرادی که در گوشه و کنار جهان قرار دارند و هزاران کیلومتر از یکدیگر فاصله میتوانند افکار خود را به راحتی مبادله کنند و یا از روحیات و خط مشی زندگی خود با دیگران صحبت کنند. تجربههای عاطفی، عقاید سیاسی، رسوم فرهنگی، ضربالمثلهای ریتمدار، پندهای تجاری، کارهای هنری، تصاویر و عکسها، قطعات ادبی بدون هیچ سرمایهگذاری از جانب کاربر به راحتی در اختیار وی قرار میگیرد. اگر چه کارایی وب به فناوری مادی آن وابسته است اطلاعات موجود روی آن به شیوه کتابخانه و یا مطبوعات به صورت فیزیکی ارائه نمیشوند. بنابراین انتشارات اطلاعات از طریق وب اینترنت به کتابها و مجلههای فیزیکی و مادی محدود نمیشود و نیاز به کپی کردن فیزیکی اطلاعات وجود ندارد. اطلاعات موجود روی وب به صورت دیجیتال ارائه میشوند و بنابراین جستجو در آنها به سرعت زیادی صورت میگیرد. که بسیار سریعتر از جستجو در کتابخانه است و حتی فردی که در اینترنت جستجو میکند نسبت به فردی که از پست نامه، تلفن، تلگراف و یا وسایل ارتباطی دیگر استفاده میکند با سرعت بیشتری اطلاعات را بازیابی میکند.
وب مهمترین ابزار تبادل اطلاعات است که در کره زمین رونق فراوانی یافته است. این قابلیت به کاربران اجازه میدهد تا با افراد و گروههای مختلفی که در سراسر جهان پراکنده هستند و در فضا و مکان متفاوتی قرار دارند ارتباط برقرار کنند و نیاز به برقراری ارتباط فیزیکی میان افراد را مرتفع میسازد.
از آنجا که وب در سراسر جهان فعال است، عدهای آن را عامل ایجاد تفاهم میان افراد ساکن در سراسر جهان میدانند. وب پتانسیل فراوانی برای ایجاد روابط اجتماعی دارد و میتواند حس نوعدوستی و درک متقابل را افزایش دهد و یا حتی باعث شو که خشونت به صورت وسیعی رواج یابد و یا رژیمهای ظالم و عوام فریب به خواستههای خود که در طول تاریخ از دستیابی به آنها عاجز بودند بترسند.
امروزه در وب انواع مختلف اطلاعات را میتوان یافت و افرادی که تمایل دارند با جوامع و فرهنگهای مختلف آشنا شدند مراجعه به وب سادهترین راه است. اگر بخواهیم به شهری دور دست سفر کنید، وب بهترین مرجع ممکن برای یافتن اطلاعات مربوط به آن شهر است مخصوصاً اگر شهر مورد نظرتان در یکی از کشورهای توسعه نیافته قرار داشته باشد. روزنامههای محلی، مطبوعات دولتی و غیره از طریق اینترنت به راحتی قابل دسترسی هستند و به همین دلیل است که کاربران اینترنت روز به روز افزایش مییابند.
انتشار صفحات وب
صفحات وب در دسترس همه رسانههای جمعی قرار دارد. برای آنکه بتوانید یک صفحه وب را "منتشر" کنید لازم نیست به سراغ یک ناشر یا مؤسسه رسانهای که در سرتاسر جهان مشاهده میشوند بروید. ابر متن، برخلاف کتاب و اسناد، دارای یک نظم خطی از ابتدا تا انتها نیست. ابر متن به بخشهای فصل، زیر فصل و عناوین که در کتابها دیده میشود تقسیمبندی نمیشود.
اگر چه برخی از وب سایتها به چند زبان عرضه میشوند بسیاری از آنها فقط به یک زبان ارائه میشوند. همه برنامههای کامپیوتری همه کاراکترهای خاص و متون دو سویه RTL را در بر نمیگیرند. این عوامل این ادعا را که تور جهان گستر، جهان را به سمت یکپارچه شدن پیش میبرد به چالش میکشد. فرصت مناسب برای انتشار اطلاعات در صفحات وب شخصی و همچنین صفحات خانوادگی تجارتهای خرد و غیره توسط خدمات رایگان میزبانی وب به اوج خود رسیده است.
اتحاد جماهیر شوروی آن زمان موشکی با نام «اسپونیک» (Spotnik) را به فضا میفرستد و نشان میدهد دارای قدرتی است که میتواند شبکههای ارتباطی آمریکا را توسط موشکهای بالستیک و دوربرد خود از بین ببرد. آمریکاییها در پاسخگویی به این اقدام روسها، موسسه پروژههای تحقیقی پیشرفته “ARPA” را بهوجود آوردند.
هدف از تاسیس چنین موسسهای پژوهش و آزمایش برای پیدا کردن روشی بود که بتوان از طریق خطوط تلفنی، کامپیوترها را به هم مرتبط نمود. به طوری که چندین کاربر بتوانند از یک خط ارتباطی مشترک استفاده کنند. در اصل شبکهای بسازند که در آن دادهها به صورت اتوماتیک بین مبدا و مقصد حتی در صورت از بین رفتن بخشی از مسیرها جابهجا و منتقل شوند. در اصل هدف “ARPA” ایجاد یک شبکه اینترنتی نبود و فقط یک اقدام احتیاطی در مقابل حمله احتمالی موشکهای اتمی دوربرد بود. هر چند اکثر دانش امروزی ما درباره شبکه بهطور مستقیم از طرح آرپانت “ARPPA NET” گرفته شدهاست. شبکهای که همچون یک تار عنکبوت باشد و هر کامپیوتر ان از مسیرهای مختلف بتواند با همتایان خود ارتباط دااشته باشد واگر اگر یک یا چند کامپیوتر روی شبکه یا پیوند بین انها از کار بیفتادبقیه باز هم بتوانستند از مسیرهای تخریب نشده با هم ارتباط بر قرار کنند.
این ماجرا با وجودی که بخشی از حقایق بهوجود آمدن اینترنت را بیان میکند اما نمیتواند تمام واقعیات مربوط به آن را تشریح کند. باید بگوییم افراد مختلفی در تشکیل اینترنت سهم داشتهاند آقای “Paul Baran” یکی از مهمترین آنهاست. آقای باران که در دوران جنگ سرد زندگی میکرد میدانست که شبکه سراسری تلفن آمریکا توانایی مقابله با حمله اتمی شوروی سابق را ندارد. مثلاً اگر رییس جمهور وقت آمریکا حمله اتمی متقابل را دستور دهد، باید از یک شبکه تلفنی استفاده میکرد که قبلاً توسط روسها منهدم شده بود. در نتیجه طرح یک سیستم مقاوم در مقابل حمله اتمی روسها ریخته شد.آقای باران (Baran) تشکیل و تکامل اینترنت را به ساخت یک کلیسا تشبیه کرد و معتقد بود، طی سالهای اخیر هر کس سنگی به پایهها و سنگهای قبلی بنا اضافه میکند و انجام هر کاری وابسته به کارهای انجام شده قبلی است. بنابراین نمیتوان گفت، کدام بخش از کار مهمترین بخش کار بودهاست و در کل پیدایش اینترنت نتیجه کار و تلاش گروه کثیری از دانشمندان است. داستان پیدایش اینترنت با افسانه و واقعیت در هم آمیخته شدهاست.
در اوایل دهه ۶۰ میلادی آقای باران طی مقالاتی پایه کار اینترنت امروزی را ریخت. اطلاعات و دادهها به صورت قطعات و بستههای کوچکتری تقسیم و هر بسته با آدرسی که به آن اختصاص داده میشود به مقصد خاص خود فرستاده میشود. به این ترتیب بستهها مانند نامههای پستی میتوانند از هر مسیری به مقصد برسند. زیرا آنها شامل آدرس فرستنده و گیرنده هستند و در مقصد بستهها مجدداً یکپارچه میشوند و به صورت یک اطلاعات کامل درمیآیند.
آقای باران (Baran) طی مقالاتی اینچنینی ساختمان و ساختار اینترنت را پیشگویی کرد. او از کار سلولهای مغزی انسان به عنوان الگو استفاده کرد، او معتقد بود: وقتی سلولهای مغزی از بین بروند، شبکه عصبی از آنها دیگر استفاده نمیکند و مسیر دیگری را در مغز انتخاب میکند. از دیدگاه وی این امکان وجود دارد که شبکهای با تعداد زیادی اتصالات برای تکرار ایجاد شوند تا در صورت نابودی بخشی از آن، همچنان به صورت مجموعهای به هم پیوسته کار کند. تا نیمه دهه ۶۰ میلادی کسی به نظرات او توجهای نکرد. تا اینکه در سال ۱۹۶۵ نیروی هوایی آمریکا و«آزمایشگاههای بل» به نظرات او علاقهمند شدند و پنتاگون با سرمایهگذاری در طراحی و ساخت شبکهای براساس نظریات او موافقت کرد.
ولی آقای باران (Baran) بنابر دلایلی حاضر با همکاری با نیروی هوایی آمریکا نشد. در این میان دانشمندی با نام تیلور (Tailon) وارد موسسه آرپا (ARPA) شد. او مستقیماً به آقای هرتسفلد رییس موسسه پیشنهاد کرد: (ARPA) آرپا هزینه ایجاد یک شبکه آزمایشی کوچک با حداقل چهار گره را تامین کند که بودجه آن بالغ بر یک میلیون دلار میشد. با این پیشنهاد تیلور تجربهای را آغاز کرد که منجر به پیدایش اینترنت امروزی شد. او موفق شد در سال ۱۹۶۶، دو کامپیوتر را در شرق و غرب آمریکا به هم متصل کند. با این اتصال انقلابی در نحوه صدور اطلاعات در دنیای ارتباطات رخ داد که نتیجه آن را امروز همگی شاهد هستیم. این شبکه به بستههایی (packet) از دادهها که به وسیله کامپیوترهای مختلف ارسال میشدند اتکا داشت. پس از انکه ازمایشها سودمندی انرا مشخص کردند سایر بخشهای دولتی و دانشگاهها پژوهشی تمایل خود را به وصل شدن به ان اعلام کردند . ارتباطات الکترونیکی به صورت روشی موثر برای دانشمندان و دیگران به منظور استفاده مشترک از دادهها در امد. در همان زمان که ARPAnet در حال رشد بود تعدادی شبکه پوشش محلی (LAN) در نقاط مختلف آمریکا به وجود امد. مدیران LANها نیز به وصل کردن کامپیوترهای شبکههای خود به شبکههای بزرگتر اقدام کردند . پروتوکل اینترنت ARPAnet IP زبان استاندارد حکمفرما برای برقراری ارتباط کامپیوترهای شبکههای مختلف به یکدیگر شد.تاریخ تولد اینترنت به طور رسمی اول سپتامبر ۱۹۶۹ اعلام شدهاست. زیرا که اولین “IMP” در دانشگاه “UCLA” واقع در سانتاباربارا در این تاریخ بارگذاری شدهاست.
از اوایل دهه ۱۹۹۰ رشد استفاده از اینترنت به صورت تصاعدی افزایش یافت . یکی از علل چنین استقبالی ابزار جستجویی مانند Gopher و archie بودهاست اما اینها در سال ۱۹۹۱ تحت تاثیر word wide web قرار گرفتند که به وسیله CERN یا ازمایشگاه فیزیک هستهای اروپا ساخته شد . با ان که اینترنت از ابتدا طوری بود که مبادله اطلاعات برای تازه واردان بسیار ساده باشد. بزرگترین جهش در وب در سال ۱۹۹۳ با عرضه نرمافزار موزاییک mosaic که نخستین برنامه مرورگر وب گرافیکی بود به وجود امد. برنامه موزاییک محصول تلاش دانشجویان و استادان بخش "مرکز ملی کاربردهای ابر کامپیوتر " در دانشگاه ایلینویز آمریکا بود. برای نخستین بار موزاییک امکانات اشاره و کلیک (به وسیله موش) را فراهم کرد. کاربران میتوانستند صفحات وب (web page) یا مجموعهای از متن و گرافیک را کنار هم بگذارند تا هر کسی که میخواست انها را بتواند روی اینترنت ببیند. وقتی با موش روی کلمهها یا تصاویر خاصی که hyper link نامیده میشد کلیک میکردند برنامه موزاییک به طور خود کار یک صفحه دیگر باز میکرد که به کلمه یا تصویر خاص و کلیک شده اختصاص داشت. بهترین بخش این سیستم انجا بود که hyper linkها میتوانستند به صفحاتی روی همان کامپیوتر یا هر کامپیوتر دیگر اینترنت با خدمات وب اشاره کنند. صفحات وب هر روز متولد میشدند و مفهوم موج سواری یا surfing روی وب متولد شد. اواسط سال ۱۹۹۴ سه میلیون کامپیوتر به اینترنت وصل شده بود و در ان هنگام اجرای عملیات اهسته نشده بود. صفحات جدید وب که شامل همه چیز از اسناد دولتی تا مدارک شرکتها و مدلهای جدید لباس بود در سراسر دنیا چندین برابر شد . موزاییک و جانشینان ان مانند navigator محصول شرکت " نت اسکیپ " اینترنت را از قلمرو علمی به میان مردم اوردند. طبق اخرین امار ۵۱ درصد کاربران بعد از سال ۱۹۹۵ وارد این محیط شدهاند. میلیونها انسانی که از اینترنت استفاده میکنند نیازی ندارند که نکات فنی مانند TCP/IP را بدانند . امروزه شرکتهای خدمات دهنده اینترنت یا ISP این کار را به عهده دارند.رشد روز افزون ان و ساده تر شدن استفاده ان همچنان ادامه دارد . هر چه تعداد مردم بیشتری به اینترنت رجوع کنند تعداد شرکتهای سازنده برنامههای اینترنت بیشتر میشود.با انکه بعضی از عاشقان اینترنت ان را نوعی شیوه زندگی میدانند. در نظر بیشتر کاربران منبع سرگرمی اطلاعات است ولی بیشترین مصرف ان پست الکترونیکی یا همان email است که یکی از ابزارهای ارتباطی کار امد به شمار میرود. پیامها از کامپیوتری به کامپیوتر دیگر با سرعت پرواز میکنند و منتظر میمانند تا شخص فرصت خواندن انها را پیدا کند . وب امکانات خوبی برای کپی از نرمافزارهای مجاز از لحاظ کپی فراهم میسازد. وقتی که میبینیم که در مدت کوتاهی اینترنت به چنین رشدی نایل آمده است، مطمئناً دشوار خواهد بود که آینده او را پیش بینی کنیم. طبق نظر کارشناسان ماهانه ۱۰ درصد به تعداد کاربران اینترنت افزوده میشود ولی تعداد دقیق کاربران که روزانه از آن استفاده میکنند مشخص نیست. هرچند که پارهای از کارشناسان تعداد آنها را تا ۹۰۰ میلیون نفر حدس میزنند. تعداد رسمی کاربران اینترنتی را در سال ۲۰۰۰ کارشناسان ۵۰۰ میلیون نفر اعلام کرده بودند.
قطعاً در سالهای آینده تحولات شگرفی را در زمینه شبکههای اینترنتی شاهد خواهیم بود. بهوسیله اینترنت انسان به راههای جدیدی دست پیدا کرد. در کنار این شانس جدید توسط اینترنت، باید بگوییم خطراتی نیز در رابطه با سیاست و اقتصاد و علم به دنبال خواهد داشت. فرم امروزی اینترنت مدیون همکاری تمام کاربران اینترنت در سرتاسر گیتی است که با این تصور که اطلاعات موجود در سطح جهان را به راحتی با یکدیگر مبادله کنند. این تصوری بود که آقای باران(Baran) از اینترنت داشت و امیدواریم در آینده نیز تکامل اینترنت در این مسیر باشد.
شبکه هوشمند مخابرات
شبکه هوشمند (IN) ساختاری است که به وسیلهٔ آن مشترکین مخابرات استان تهران میتوانند از چند گونه از خدمات مرتبط فناوری اطلاعات با سهولت بیشتری استفاده کنند.
این شبکه از گرههای سختافزاری و نرمافزاری تشکیل شده تا با استفاده از پروتکلهای خاص امکان ارائه سرویسهای ویژه، برای مشترکین تلفن ثابت و تلفن همراه فراهم شود .
به کار گیری پایگاههای اطلاعاتی در شبکه و فراهم نمودن امکان دسترسی برای مشترکین و اپراتورهای خصوصی، افزایش درآمد برای اپراتورها، بالا بردن تعداد مکالمات موفق، استفاده موثر از منابع شبکه، مدیریت قابل انتقال بر روی سرویسها و امکان کنترل پارامترهای ارائه سرویس توسط مشترک از جمله مزایای پیاده سازی شبکه هوشمند است.
مهمترین سرویسهایی که شبکه هوشمند ارائه میکند عبارتنداز:
سرویس صندوق پست صوتی
صندوق پست صوتی (به انگلیسی: Voicemail) قادر به ثبت پیامهای تلفنی نمابر و ایمیل برای مشترکین است. از این سرویس به عنوان تلفن مجازی نیز میتوان بهره گرفت.
سرویس مکالمات انبوه
(به انگلیسی: Mass Calling Service)
با استفاده از این سرویس اپراتور شبکه میتواند به طور موقت یک شماره تلفن را جهت استفاده کننده از سرویس اختصاص دهد و هر زمانی که یک مکالمه بااین شماره بر قرار شود، استفاده کننده یک پیام را دریافت نموده تا نسبت به وارد کردن اعداد بیشتری جهت نشان دادن یک اولویت یا تقدم اقدام نماید.
سرویس نظر سنجی
(به انگلیسی: Tlevoting)
این سرویس یکی از سرویسهای زیر گروه سرویس مکالمه انبوه میباشد که شامل سرویس VOTیا نظرسنجی تلفنی است. در این نظرسنجی جواب سوال اهمیت ندارد و فقط دادن رای و جمع آوری نظر مورد توجهاست
سرویس کارت اعتباری
(به انگلیسی: Prepaid Card Service)
برای استفاده از این سرویس، باید کارتهای اعتباری با اعتبار داخلی ۲۰ هزار ریال را به قیمت ۱۶ هزارریال را از دفاتر امور مشترکین و خدمات ارتباطی و یا با اعتبار ۲۰ تا ۲۰۰ هزار ریال را با قیمت ۱۵ تا ۱۵۰ هزار ریال از بخش خصوصی به صورت آنلاین تهیه کرد و سپس با یک تلفن معمولی (همگانی –ثابت )می توان با هر نقطه از کشور یا حتی داخل شهر تماس بر قرار نمود و هزینه تماس از کارت اعتباری مربوطه کسر میشود .پس از خرید کارت دو شماره شامل یک شماره ۸ رقمی که شماره کارت است ویک شماره چهاررقمی که رمز عبور است روی کارت نوشته شده که برای برقراری ارتباط مورد استفاده قرلر میگیرد.
برای برقراری ارتباط ابتدا بایستی شماره یا عدد ۹۰۰۲۱۱ را روی هر نوع تلفن (همگانی یا ثابت )که کد ورودی به شبکه هوشمند میباشد را شماره گیری کرد سپس با توجه به تذکرات راهنما ،شماره کارت مندرج در کارت اعتباری را وارد کرده و کلید پوند(#)و بعد از آن رمز عبور را وارد کرده و سپس کلید پوند (#)را فشار دهید و در نهایت شماره مخاطب را وارد کرده و کلید پوند (#) را فشار دهید.
این کارت ها امکان اتصال به خط را نیز دارا می باشند و در صورت اتصال به خط ، دیگر نیازی به وارد کردن شماره کارت و رمز نمیباشد.
اعتبار این کارت ها تا تاریخ درج شده بر روی کارت و یا سه ماه پس از بر قراری اولین تماس می باشد.
سرویس شبکه خصوصی مجازی
با وجود شبکه هوشمند و با استفاده از امکانات شبکه عمومی میتوان یک شبکه اختصاصی مجازی برقرار نمود. سرویس شبکه خصوصی مجازی برای یک شبکه اختصاصی برای شرکتها یا سازمانهای دارای واحدهای گسترده در سطح شهر و شهرستان یا خارج از کشور میشود.
سرویس تفکیک هزینه یا خدمات مشاورهای
(به انگلیسی: Premium Rate Service)
این سرویس برای اپراتورها این امکان را فراهم میسازد که اطلاعات فروش و عرضه محصولات یا خدمات مشاورهای خود را با یک روش اقتصادی ارائه نماید. عمده خدماتی که در حال حاضر از طریق این سرویس ارائه میشوند خدمات مشاوره است. استفاده از خدمات مشاوره ای یکی از استفادههای بهینه از این شبکه است.
استفاده از خدمات مشاورهای متخصصین در زمینههای مختلف (حقوقی، پزشکی، فنی و ...) با پرداخت هزینه مشاوره از طریق این سرویس انجام میشود. امکان ارتباط با اینترنت در هر زمان بدون نیاز به تهیه كارتهای مختلف و رمز عبور، دسترسی به اطلاعات و اخبار مربوط به سازمانها نظیر هواشناسی، هواپیمایی، اخبار ورزشی و ... از دیگر قابلیتهای این سرویس است. دارنده این سرویس 80 درصد درآمدهای حاصل از مكالمات مشاورهای را دریافت میكند و حقالزحمه شرکتهای اینترنتی، 70 درصد درآمدهای حاصل از ارایه این سرویس است. سرویس کشوری 65 درصد درآمد حاصل را به مشاور پرداخت می کنند. -بر اساس مفاد قرارداد واگذاری این سرويس، برقراري سرويس مشاوره براي متقاضيان مستلزم پروانه كار از مراجع ذيصلاح ويا مجوز مجامع صنفي موضوع فعاليت است و اعلام قيمت مشاوره از طريق همان مراجع مي باشد. یکی از شماره های موفق این شبکه که در زمینه مشاوره روانشناسی سرویس می دهد شماره 9092301434 استان تهران و شماره 9099070319 کشوری است.
اینترنت هوشمند
اینترنت هوشمند همان Premium Rate Service که به جای مشاوره امکان دسترسی به اینترنت را مهیا میکند، نرخ مکالمه برای این سرویس دقیقهای ۵ تومان میباشد که برخی از شرکتهای سرویس دهنده هزینه پالس تلفن را نیز تقبل کردهاند و برخی دیگر تقبل نکردهاند.
تلفن هوشمند
تلفن هوشمند اینترنتی همان سرویس صدا روی پروتکل اینترنت است که از طریق Premium Rate Service ارائه میشود، این روش هم مشابه اینترنت هوشمند است با این تفاوت که نرخ آن بسته به شرکت و مقصد مکالمه متفاوت است و شرکتهای سرویس دهنده مکالمه با برخی نقاط به خصوص را امکان پذیر کردهاند، نرخ مکالمه این سرویس بر اساس گرانترین مقصد قابل مکالمه در نظر گرفته شدهاست که عملاً هزینه مکالمه را نسبت به مکالمه عادی VoIP بسیار گران تر میکند.
شركتها، موسسات، سازمانها و واحدهای صنفی كه دارای دفاتر و شعبات متعدد میباشند، از عمدهترین كاربران این سرویس هستند. موسسه دارنده این سرویس، تنها یك شماره از شبكه هوشمند را به آگاهی مشتریان خود میرساند، ولی شبكه IN، ارتباط مشتری را با شعبهای از شركت كه نزدیكترین فاصله را با او دارد، برقرار میكند. صرفهجویی در هزینههای گزاف تبلیغات و سهولت بهخاطرسپاری یك شماره، به جای شمارههای متعدد و امكان ارتباط در محدودههای خاص زمانی از دیگر مزایای این سرویس است. (شماره فراگیر 10 رقمی است و با پیششماره 909221) شروع میشود. امکان ارتباط با این شماره از طریق تلفن همراه و شهرستان فراهم است. دارنده این سرویس میتواند از نظر محدوده جغرافیایی یا محدوده زمانی سرویس را تعریف کند).
وب جهانگستر
جهان وب٬ وب جهانگستر٬ تار گیتیگستر٬ یا به طور ساده وب (به انگلیسی: World Wide Web) یک سامانهٔ اطلاعاتی از پروندههای ابرمتنی متصلبههم است که از طریق شبکهٔ جهانی اینترنت قابل دسترسی هستند. بهکمک یک مرورگر وب میتوان صفحات وب (که شامل متن، تصویر، ویدیو و سایر محتویات چندرسانهای هستند) را مشاهده و بهکمک ابرپیوندها در میان آنها حرکتکرد.
تیم برنرز لی، یک پژوهشگر علوم رایانه و کارمند موسسهٔ سرن در نزدیکی ژنو، در ماه مارچ سال ۱۹۸۹ میلادی پیشنهاد اولیهٔ وب امروزی را مطرح کرد. پیشنهاد ارائهشده در ۱۹۸۹ قرار بود که یک سیستم ارتباطی برای موسسه سرن شود، اما برنرز لی بهزودی متوجهشد که این ایده قابلیت جهانیشدن را دارد. برنرز لی به همراه رابرت کایلیائو در سال ۱۹۹۰ میلادی این پیشنهاد را بهعنوان «پیوند و دسترسی به اطلاعات مختلف بهصورت تارنمایی از گرههایی که کاربران به دلخواه در میان آنها حرکت میکنند» ارائه دادند. برنرز لی در ماه دسامبر همان سال اولین وبگاه را بهوجودآورد و در ۷ اوت سال ۱۹۹۱ میلادی آنرا بهعنوان یک پروژه بر روی گروه خبری alt.hypertext منتشر کرد.
واژهٔ وب
واژهٔ وب (به معنی تار) در بسیاری از ترکیبات «اینترنتی» میآید. کم کم «وب» بهعنوان واژهٔ بینالمللی جا افتاده و به منظورهای مختلفی به کار میرود. این واژه معمولاً به صورت اشتباه به جای اینترنت به کار میرود اما وب در حقیقت یکی از خدماتی است که روی اینترنت ارایه میشود (مانند پست الکترونیکی).
همچنین، وب مخفف کلمه وبسایت (website) است. سایت یعنی مکان و منظور از وبسایت صفحات مرتبط است. در پارسی واژهٔ تارنما جایگزین وبسایت شده است.
تاریخچه
ایده اولیه در مورد تارِ گیتیگستر به سال ۱۹۸۰ (میلادی) برمیگردد. زمانی که در شهر سرن سوئیس، تیم برنرز لی شبکه ENQUIRE را ساخت (که به "Enquire Within Upon Everqthing CSS" اشاره داشت و همنام کتابی بود که وی از جوانی خود به یاد داشت. اگرچه آنچه وی ساخت با وب امروزی تفاوتهای زیادی دارد اما ایده اصلی در آن گنجانده شده است (و حتی برخی از این ایدهها در پروژه بعدی برنرزلی پس از WWW یعنی وب معنایی به کار گرفته شد).
در مارس 1989، برنرزلی یک پیشنهاد را نوشت که به ENQUIRE اشاره داشت و یک سیستم اطلاعاتی پیشرفته را توصیف میکرد. وی با کمک رابرت کایلا، پیشنهاد طراحی تور جهان گستر را در 12 نوامبر 1990 ارائه کرد. اولین مرور وب جهان توسط برنرزلی با عنوانNEXTcube مورد استفاده قرار گرفت و وی اولین مرورگر وب و تور جهان گستر را در سال 1990 طراحی کرد.
در کریسمس 1990، برنرز لی همه ابزارهای لازم برای کار با وب را فراهم کرد
در 6 آگوست 1991 وی خلاصهای از پروژه تور جهان گستر را در گروه خبری alt.hypertext پست کرد. در همین روز وب به عنوان یک خدمات عمومی روی اینترنت ارائه شد. مفهوم مهم ابر متن در پروژههای قدیمیتر مربوط به دهه 1960 مانند Project Xanadu مربوط به تد نلسون و NLS (سیستم آنلاین) مربوط به داگلاس انگلبارت مطرح شد.
موفقیت برنرزلی در ایجاد ارتباط بین ابر متن و اینترنت بود. در کتاب "بافتن تور" وی اذعان میکند که بارها از امکان برقراری ارتباط میان دو تکنولوژی صحبت کرده بود اما چون کسی به حرفهایش توجه نکرد وی خودش دست به کار شد و پروژه را به سرانجام رساند. وی در سیستم خود شاخصهای منحصر به فرد جهانی برای شناسایی منابع موجود روی وب و دیگر مکانها در نظر گرفت و آنها را شناسه منبع یکپارچه نامید.
تور جهان گستر با بقیه سیستمهای ابر متنی موجود تفاوتهایی داشت:
WWW به لینکهای یک طرفه نیاز داشت و نه دوطرفه بنابراین فرد میتوانست بدون آن که از جانب مالک منبع واکنشی صورت گیرد به منبع دسترسی پیدا کند. همچنین ابر متن مشکل پیادهسازی سرورهای وب و مرورگرها (در مقایسه با سیستمها قبلی) را برطرف کرد اما در مقابل مشکل زمان در لینکهای قطع شده را ایجاد کرد.
تور جهان گستر بر خلاف سیستمهای قبلی مانند ابر کارت غیر انحصاری بود و این امکان را فراهم میکرد که سرورها و مرورگرهای مستقلی را ایجاد کرده و بدون هیچ محدودیتی آنها را به شبکه وصل کرد.
در 30 آوریل سال ۱۹۹۳ (میلادی)، CERN اعلام کرد که تور جهان گستر به صورت رایگان برای همه افراد قابل دسترسی است. این موضوع دو ماه پس از اعلام رایگان نبودن پروتکل گوفر مطرح میشد و در نتیجه تمایل به وب به شدت افزایش یافت. قبل از آن مرورگر وب معروفی به نامViolaWWW وجود داشت که بر اساس ابر کارت کار میکرد. نسخه گرافیکی تور جهان گستر با نام مرورگر وب موزائیک در سال 1993 توسط مرکز ملی برنامههای سوپرکامپیوتر که توسط مارک اندرسن راه اندازی شده بود مورد انتقاد شدید قرار گرفت. قبل از عرضه موزائیک، گرافیک و متن در صفحات وب از یکدیگر جدا بودند و در پروتکلهای اینترنتی قبلی مانند پروتکل گوفر و مرور اطلاعات ناحیه وسیع گرافیک کاربرد زیادی نداشت. واسط کاربر گرافیکی موزائیک وب را به مشهورترین پروتکل اینترنتی تبدیل کرد.
اجزاء وب
تار گیتیگستر ترکیبی از چهار عنصر اصلی است:
hypertext یا بسامتن: فرمتی از اطلاعات که به افراد اجازه می دهد تا در محیط کامپیوتر با استفاده از ارتباط داخلی موجود میان دو متن از بخشی از سند به بخش دیگری از آن یا حتی سند دیگری مراجعه کنند و به اطلاعات جدیدی دسترسی پیدا کند.
URL: شناسههای منحصر به فردی که برای مشخص کردن محل حضور اطلاعات موجود روی شبکه (فایل کامپیوتری، سند یا منابع دیگر) به کار می روند.
مدل Client-Server یا مشتری-خدمتگزار: سیستمی که در آن نرمافزار یا کامپیوتر مشتری از نرمافزار یا کامپیوتر خدمتگزار تقاضای دریافت منابع اطلاعاتی مانند داده یا فایل می کند.
markup language یازبان علامتگذاری: کاراکترها یا کدهای موجود در متن که ساختار متن وب معنایی را مشخص می کنند.
معماری سیستم وب
کلاً از دیدگاه فنی سیستم وب در دو بخش سازماندهی می شود:
برنامه سمت سرویس دهنده ی وب و برنامه سمت مشتری وب
پایگاه اطلاعاتی توزیع شده از صفحات ابرمتن، فایل های داده مثل صدا، تصویر و بطور کل هر منبع
صفحه وب چیزی نیست مگر یک فایل متنی بسیار ساده که با یکی از زبان های نشانه گذاری ابرمتنی مثل HTML، XHTML ، DHTML یا XML تدوین می شود. کاری که مرورگر به عنوان مشتری وب انجام می دهد آن است که تقاضای دریافت یکی از صفحات یا فایل ها را در قالب قراردادی استاندارد (به نام پروتکل HTTP) به سمت سرویس دهنده ارسال کند. در سمت مقابل سرویس دهنده ی وب این تقاضا را پردازش کرده و در صورت امکان، فایل مورد نظر را برای مرورگر ارسال می کند. مرورگر پپس از دریافت فایل ابرمتنی ، آن را تفسیر کرده و به صورت صفحه آرایی شده روی خروجی نشان می دهد. اگر فایل ابرمتنی در جایی به فایل صدا یا تصویر پیوند خورده باشد آن ها نیز توسط مرورگر تقاضا شده و پس از دریافت در جای خود قرار می گیرند.
وب چگونه عمل میکند
برای مشاهده یک صفحه وب یا دیگر منابع اطلاعاتی روی تور جهان گستر معمولاً URL صفحه را در یک مرورگر وب وارد میکنیم و یا لینک ابر متن مربوط با آن صفحه یا منبع را انتخاب میکنیم. اولین گام که در پشت پرده انجام میشود اختصاص یک آدرس IP به بخش سرور URL است که توسط پایگاه داده توزیع شده اینترنت صورت میگیرد که به آن DNS میگویند.
در مرحله بعد یک درخواست HTTP به مرور وب در آن آدرس IP ارسال میشود و درخواست مشاهده صفحه ارائه میگردد. در صورتی که یک صفحه معمولی در خواست شده باشد متن HTML، تصاویر گرافیکی یا هر فایل دیگری که مربوط به آن صفحه است در اختیار مشتری (مرورگر وب) قرار میگیرد. سپس مرورگر وب صفحه HTML، و دیگر فایلهای دریافت شده را ترجمه میکند. در نهایت "صفحه" مورد نظر مشتری در اختیار وی قرار میگیرد.
در تور جهان گستر، یک برنامه مشتری که عامل کاربر نام دارد منابع اطلاعاتی مانند صفحات وب یا فایلهای کامپیوتری را با استفاده از URL از وب در خواست میکند. اگر عامل کاربر نوعی مرورگر وب باشد، اطلاعات را روی مانیتور نشان میدهد. کاربر میتواند با دنبال کردن لینکهای موجود در صفحه وب به بقیه منابع موجود روی تور جهان گستر دسترسی پیدا کند. همچنین میتوان با پرکردن فرمهای HTML و تحویل این فرمهای وب میتوان اطلاعات را بر اساس پروتکل انتقال ابرمتن به سرور وب برگرداند تا از آن ذخیره شده یا پردازش شوند. صفحات وب در کنار هم قرار گرفته و وبسایتها را می سازند. عمل دنبال کردن ابرلینک از یک وب سایت به وب سایت دیگر را "مرور وب" یا " گشت و گذار" وب مینامند.
اصطلاح "گشت و گذار در اینترنت" اولین بار توسط جین آرمور پولی که یک کتابدار بود در مقاله یا به نام "Surfing the INTERNET" مطرح شد که ژوئن سال 1992 در "بولتن کتابخانه ویلسن" در دانشگاه مینوستا چاپ شد. اگر چه پولی مستقلاً از این کلمه استفاده کرد اما در یوزنتهای مربوط به سالهای 1991 و 1992 این کلمه دیده میشود و حتی عدهای میگویند که این کلمه در مجمع هکرها در دو سال قبل از آن به صورت شفاهی عنوان شده بود. پولی در تاریخ اینترنت به مادر اینترنت معروف است.
اغلب صفحات وب شامل ابر لینکهایی هستند که به صفحات و منابع اطلاعاتی مرتبط با آنها مانند صفحات دانلود، اسناد منابع، تعاریف و غیره منتهی میشوند. چنین مجموعهای از منابع مفید و مرتبط با هم توسط لینکهای ابر متن به یکدیگر متصل شدهاند را "وب" اطلاعات مینامند. قرار دادن این مجموعه منابع روی اینترنت شبکهای را تولید کرد که در اوایل دهه 1990 توسط تیم برنرز لی، " تور جهان گستر" نامیده شد.
عملکرد برنامه ی سرویس دهنده و مشتری وب
در سمت سرویس دهنده ی وب، پروسه ای وجود دارد که دائماً به پورت شماره 80 گوش می دهد و منتظر تقاضای برقراری اتصال توسط مشتریان می ماند. دقت کنید که برنامه ی سرویس دهنده از سوکت های نوع استریم استفاده می کند و اتصال از نوع TCP است. فرامین و داده هایی که بین سرویس دهنده و مرورگر وب مبادله می شوند تماماً متنی هستند.(همانند سیستم پست الکترونیکی) پس از آنکه ،ژ\ بین برنامه ی سویس دهنده و مشتری برقرار شد برنامه ی مشتری حق دارد یک یا چندین تقاضا بفرستد و این تقاضا ها باید در قالب استاندارد HTTP باشد. سرویس دهنده، یکایک تقاضا ها را دریافت و پردازش و در صورت امکان آن ها را اجرا می کند.
کش (cache)
اگر کاربر پس از مدت زمان اندکی به سرعت به صفحه وب برگردد احتمال دارد که اطلاعات از سرور وب اصلی بازیابی نشوند. به طور پیش فرض، مرورگرهای همه منابع وب را روی هارد کامپیوتر مشتری، مخفی (کش) میکنند. مرورگر درخواست HTML را تنها در صورتی که نیاز به روزآوری دادههای قبلی وجود داشته باشد ارسال میکند. در غیر این صورت از دادههای کش استفاده میشود.
این عمل باعث کاهش ترافیک شبکه اینترنت میشود. تصمیمگیری در مورد انقضای زمان استفاده از منبع تصویر، CSS، فایل جاوا اسکریپت و همچنین HTML به صورت مستقل انجام میگیرد. بنابراین حتی در برخی از سایتهای با محتوای پویا، بسیاری از منابع اطلاعاتی اصلی فقط در هر بار مراجعه عرضه میشوند. بهتر است طراحان وب سایت همه فایلهای جاوا اسکریپت و CSS را درون تعدادی فایل سایت جمعآوری کنند تا کش های کاربران بتوانند از آنها استفاده کنند و بدین ترتیب زمان دانلود شدن صفحه و تعداد مراجعات به سرور کاهش یابد.
همچنین بخشهای دیگری از اینترنت میتوانند محتوای وب را کش (مخفی) کنند. یکی از بهترین این اجزاء دیوارهای آتش است که در شرکتها و محیطهای دانشگاهی کاربرد دارد و منابع وب درخواست شده توسط یک کاربر را برای همه کاربران کش میکند. با وجود آن که این قابلیتها در اغلب مرورگرهای وب دیده میشود طراحان صفحات وب میتوانند عناوین HTTP که توسط کاربر درخواست شده را کنترل کنند تا صفحات در مواردی که لازم نیست در کش ذخیره نشوند؛ مثلاً صفحات خبری و بانکها.
بدین ترتیب میتوانیم بین اعمال "دریافت" و "ارسال" HTTP تفاوت قائل شویم. در صورتی که همه شرایط محقق شود، دادههایی که توسط فرمان دریافت (GET) درخواست شدهاند میتوانند در کش ذخیره شوند در حالی که دادههای به دست آمده پس از ارسال (posting) اطلاعات به سرور در کش ذخیره نمیشوند.
جاوا و جاوا اسکریپت
این سیستم به سرورهای وب امکان میدهد تا برنامههای کوچکی (که اپلت (applet) نامیده میشوند) را مستقیماً در شبکه اطلاعات بازیابی شده قرار دهند و این اپلتها که در کامپیوتر کاربر اجرا میشوند تعامل کاربر با اینترنت را سرعت میبخشد. در نهایت این سیستم به عنوان ابزاری برای تولید محتویات پیچیده طرف سرور مورد استفاده قرار گرفت. شرکت سان تلاش میکرد جاوا را به عنوان یک پلاتفرم برای اپلتهای طرف مشتری مطرح کند اما به دلایلی مانند عدم وجود یکپارچگی با محتوا (اپلتها به جعبههای کوچکی محدود میشدند که درون صفحه قرار داشتند) و عملکرد ضعیف (مخصوصاً شروع با تأخیر) ماشین مجازی بر روی سختافزارهای PCهای آن زمان این امر هرگز محقق نشد.
با این وجود، جاوا اسکریپت یک زبان برنامهنویسی اسکریپتی است که برای صفحات وب طراحی شده است. نسخه استاندارد آن ECMAScript نام دارد. اگر چه نام آن شبیه جاوا است اما توسط شرکت ارتباطات نت اسکیپ (Netscape) طراحی شده است و تقریباً هیچ ارتباطی با جاوا که ساخت شرکت میکروسیستمهای سان است ندارد. تنها شباهت آن با جاوا در این است که نحوه نگارش آن از زبان برنامه نویسی C گرفته شده است. جاوا اسکریپت مانند جاوا برنامه نویسی شیءگرا است اما شبیه سی پلاس پلاس و بر خلاف جاوا امکان استفاده از کدهای درهم (مخلوط) یعنی استفاده هم زمان از زبان برنامهنویسی شیء گرا و برنامهنویسی رویهای را فراهم میآورد. جاوا اسکریپت در کنار مدل شیء سند به زبان برنامهنویسی بسیار قویای تبدیل شده که حتی طراحان آن چنین تصوری از موفقیت آن نداشتند. گاهی اوقات در مورد آن از کلمه HTML پویا (DHTML) استفاده میشود تا گذر از صفحات HTML "ایستا" بیشتر حس میشود.
(برنامهنویسی) آجاکس یک فناوری مبتنی بر جاوا اسکریپت است که تأثیر زیادی بر شکلگیری تور جهان گستر داشته است. در این روش در زمانهای لازم، تنها بخشی از صفحه وب که مورد نیاز کاربر است به روز میشود تا سرعت کاربر بالاتر برود. آجاکس یکی از جنبههای مهم وب 2.0 محسوب میشود.
تأثیر بر روابط اجتماعی
وب در دنیای امروزی تبادل اطلاعات بین افراد در سراسر جهان را بسیار ساده و آسان نموده است و این امر با این حجم وسیع هرگز در تاریخ بشر سابقه نداشته است. افرادی که در گوشه و کنار جهان قرار دارند و هزاران کیلومتر از یکدیگر فاصله میتوانند افکار خود را به راحتی مبادله کنند و یا از روحیات و خط مشی زندگی خود با دیگران صحبت کنند. تجربههای عاطفی، عقاید سیاسی، رسوم فرهنگی، ضربالمثلهای ریتمدار، پندهای تجاری، کارهای هنری، تصاویر و عکسها، قطعات ادبی بدون هیچ سرمایهگذاری از جانب کاربر به راحتی در اختیار وی قرار میگیرد. اگر چه کارایی وب به فناوری مادی آن وابسته است اطلاعات موجود روی آن به شیوه کتابخانه و یا مطبوعات به صورت فیزیکی ارائه نمیشوند. بنابراین انتشارات اطلاعات از طریق وب اینترنت به کتابها و مجلههای فیزیکی و مادی محدود نمیشود و نیاز به کپی کردن فیزیکی اطلاعات وجود ندارد. اطلاعات موجود روی وب به صورت دیجیتال ارائه میشوند و بنابراین جستجو در آنها به سرعت زیادی صورت میگیرد. که بسیار سریعتر از جستجو در کتابخانه است و حتی فردی که در اینترنت جستجو میکند نسبت به فردی که از پست نامه، تلفن، تلگراف و یا وسایل ارتباطی دیگر استفاده میکند با سرعت بیشتری اطلاعات را بازیابی میکند.
وب مهمترین ابزار تبادل اطلاعات است که در کره زمین رونق فراوانی یافته است. این قابلیت به کاربران اجازه میدهد تا با افراد و گروههای مختلفی که در سراسر جهان پراکنده هستند و در فضا و مکان متفاوتی قرار دارند ارتباط برقرار کنند و نیاز به برقراری ارتباط فیزیکی میان افراد را مرتفع میسازد.
از آنجا که وب در سراسر جهان فعال است، عدهای آن را عامل ایجاد تفاهم میان افراد ساکن در سراسر جهان میدانند. وب پتانسیل فراوانی برای ایجاد روابط اجتماعی دارد و میتواند حس نوعدوستی و درک متقابل را افزایش دهد و یا حتی باعث شو که خشونت به صورت وسیعی رواج یابد و یا رژیمهای ظالم و عوام فریب به خواستههای خود که در طول تاریخ از دستیابی به آنها عاجز بودند بترسند.
امروزه در وب انواع مختلف اطلاعات را میتوان یافت و افرادی که تمایل دارند با جوامع و فرهنگهای مختلف آشنا شدند مراجعه به وب سادهترین راه است. اگر بخواهیم به شهری دور دست سفر کنید، وب بهترین مرجع ممکن برای یافتن اطلاعات مربوط به آن شهر است مخصوصاً اگر شهر مورد نظرتان در یکی از کشورهای توسعه نیافته قرار داشته باشد. روزنامههای محلی، مطبوعات دولتی و غیره از طریق اینترنت به راحتی قابل دسترسی هستند و به همین دلیل است که کاربران اینترنت روز به روز افزایش مییابند.
انتشار صفحات وب
صفحات وب در دسترس همه رسانههای جمعی قرار دارد. برای آنکه بتوانید یک صفحه وب را "منتشر" کنید لازم نیست به سراغ یک ناشر یا مؤسسه رسانهای که در سرتاسر جهان مشاهده میشوند بروید. ابر متن، برخلاف کتاب و اسناد، دارای یک نظم خطی از ابتدا تا انتها نیست. ابر متن به بخشهای فصل، زیر فصل و عناوین که در کتابها دیده میشود تقسیمبندی نمیشود.
اگر چه برخی از وب سایتها به چند زبان عرضه میشوند بسیاری از آنها فقط به یک زبان ارائه میشوند. همه برنامههای کامپیوتری همه کاراکترهای خاص و متون دو سویه RTL را در بر نمیگیرند. این عوامل این ادعا را که تور جهان گستر، جهان را به سمت یکپارچه شدن پیش میبرد به چالش میکشد. فرصت مناسب برای انتشار اطلاعات در صفحات وب شخصی و همچنین صفحات خانوادگی تجارتهای خرد و غیره توسط خدمات رایگان میزبانی وب به اوج خود رسیده است.
خط مشی جاوا
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.
یکی از ویژگیهای جاوا قابل حمل بودن آن است. یعنی برنامهٔ نوشته شده به زبان جاوا باید به طور مشابهی در کامپیوترهای مختلف با سختافزارهای متفاوت اجرا شود. و باید این توانایی را داشته باشد که برنامه یک بار نوشته شود، یک بار کامپایل شود و در همه کامپیوترها اجرا گردد. به این صورت که کد کامپایل شدهٔ جاوا را ذخیره میکند، اما نه بهصورت کد ماشین بلکه بهصورت بایتکد جاوا. دستورالعملها شبیه کد ماشین هستند، اما با ماشینهای مجازی که به طور خاص برای سختافزارهای مختلف نوشته شدهاند، اجرا میشوند. در نهایت کاربر از سکوی جاوا نصب شده روی ماشین خود یا مرورگر وب استفاده میکند. کتابخانههای استاندارد یک راه عمومی برای دسترسی به ویژگیهای خاص فراهم میکنند. مانند گرافیک، نخکشی و شبکه. در بعضی از نسخههای ماشین مجازی جاوا، بایتکدها میتوانند قبل و در زمان اجرای برنامه به کدهای محلی کامپایل شوند. فایدهٔ اصلی استفاده از بایتکد، قسمت کردن است. اما ترجمهٔ کلی یعنی برنامههای ترجمه شده تقریباً همیشه کندتر از برنامههای کامپایل شدهٔ محلی اجرا میشوند. این شکاف میتواند با چند تکنیک خوشبینانه که در کاربردهای JVM قبلی معرفی شد، کم شود. یکی از این تکنیکها JIT است که بایتکد جاوا را به کد محلی ترجمه کرده و سپس آن را پنهان میکند. در نتیجه برنامه خیلی سریعتر نسبت به کدهای ترجمه شدهٔ خالص شروع و اجرا میشود. بیشتر VMهای پیشرفته، بهصورت کامپایل مجدد پویا، در آنالیز VM، رفتار برنامهٔ اجرا شده و کامپایل مجدد انتخاب شده و بهینهسازی قسمتهای برنامه، استفاده میشوند. کامپایل مجدد پویا میتواند کامپایل ایستا را بهینهسازی کند. زیرا میتواند قسمت hot spot برنامه و گاهی حلقههای داخلی که ممکن است زمان اجرای برنامه را افزایش دهند را تشخیص دهد. کامپایل JIT و کامپایل مجدد پویا به برنامههای جاوا اجازه میدهد که سرعت اجرای کدهای محلی بدون از دست دادن قابلیت انتقال افزایش پیدا کند.
تکنیک بعدی به عنوان کامپایل ایستا شناخته شدهاست. که کامپایل مستقیم به کدهای محلی است مانند بسیاری از کامپایلرهای قدیمی. کامپایلر ایستای جاوا، بایتکدها را به کدهای شی محلی ترجمه میکند.
کارایی جاوا نسبت به نسخههای اولیه بیشتر شد. در تعدادی از تستها نشان داده شد که کارایی کامپایلرJIT کاملاًَ مشابه کامپایلر محلی شد. عملکرد کامپایلرها لزوماً کارایی کدهای کامپایل شده را نشان نمیدهند. یکی از پیشرفتهای بی نظیر در در زمان اجرای ماشین این بود که خطاها ماشین را دچار اشکال نمیکردند. علاوه بر این در زمان اجرای ماشینی مانند جاوا وسایلی وجود دارد که به زمان اجرای ماشین متصل شده و هر زمانی که یک استثنا رخ میدهد، اطلاعات اشکال زدایی که در حافظه وجود دارد، ثبت میکنند.
پیادهسازی
شرکت سان میکروسیستم مجوز رسمی برای پلت فرم استاندارد جاوا را به مایکروسافت ویندوز, لینوکس، و سولاریس (سیستمعامل). دادهاست. همچنین محیطهای دیگری برای دیگر پلت فرمها فراهم آوردهاست. علامت تجاری مجوز شرکت سان میکروسیستم طوری بود که با همهٔ پیادهسازیها سازگار باشد. به علت اختلاف قانونی که با ماکروسافت پیدا کرد، زمانی که شرکت سان ادعا کرد که پیادهسازی ماکروسافت از RMI یا JNI پشتیبانی نکرده و ویژگیهای خاصی را برای خودش اضافه کردهاست. شرکت سان در سال ۱۹۹۷ پیگیری قانونی کرد و در سال ۲۰۰۱ در توافقی ۲۰ میلیون دلاری برنده شد. در نتیجه کمی بعدماکروسافت جاوا را به ویندوز فرستاد. در نسخهٔ اخیر ویندوز، مرورگر اینترنت نمیتواند از جاوا پلت فرم پشتیبانی کند. شرکت سان و دیگران یک سیستم اجرای جاوای رایگان برای آنها و نسخههای دیگر ویندوز فراهم آوردند.
اداره خودکار حافظه
جاوا از حافظهٔ بازیافتی خودکار برای ادارهٔ حافظه در چرخهٔ زندگی یک شی استفاده میکند. برنامهنویس زمانی که اشیا به وجود میآیند، این حافظه را تعیین میکند. و در زمان اجرا نیز، زمانی که این اشیا در استفادهٔ زیاد طولانی نباشند، برنامه نویس مسئول بازگرداندن این حافظهاست. زمانی که مرجعی برای شیهای باقیمانده نیست، شیهای غیر قابل دسترس برای آزاد شدن به صورت خودکار توسط بازیافت حافظه، انتخاب میشوند. اگر برنامهنویس مقداری از حافظه را برای شیهایی که زیاد طولانی نیستند، نگه دارد، چیزهایی شبیه سوراخ حافظه اتفاق میافتند.
یکی از عقایدی که پشت سر مدل ادارهٔ حافظهٔ خودکار جاوا وجود دارد، این است که برنامهنویس هزینهٔ اجرای ادارهٔ دستی حافظه را نادیده میگیرد. در بعضی از زبانها حافظه لازم برای ایجاد یک شی، به صورت ضمنی و بدون شرط، به پشته تخصیص داده میشود. و یا بهطور صریح اختصاص داده شده و از heap بازگردانده میشود. در هر کدام از این راهها، مسئولیت ادارهٔ اقامت حافظه با برنامهنویس است. اگر برنامه شی را برنگرداند، سوراخ حافظه اتفاق میافتد. اگر برنامه تلاش کند به حافظهای را که هماکنون بازگردانده شده، دستیابی پیدا کند یا برگرداند، نتیجه تعریف شده نیست و ممکن است برنامه بیثبات شده و یا تخریب شود. این ممکن است با استفاده از اشارهگر مدتی باقی بماند، اما سرباری و پیچیدگی برنامه زیاد میشود. بازیافت حافظه اجازه دارد در هر زمانی اتفاق بیفتد. بهطوری که این زمانی اتفاق میافتد که برنامه بیکار باشد. اگر حافظهٔ خالی کافی برای تخصیص شی جدید در هیپ وجود نداشته باشد، ممکن است برنامه برای چند دقیقه متوقف شود. در جایی که زمان پاسخ یا اجرا مهم باشد، ادارهٔ حافظه و منابع اشیا استفاده میشوند.
جاوا از نوع اشارهگر ریاضی C و ++C پشتیبانی نمیکند. در جایی که آدرس اشیا و اعداد صحیح میتوانند به جای هم استفاده شوند. همانند ++C و بعضی زبانهای شیگرای دیگر، متغیرهای نوعهای اولیهٔ جاوا شیگرا نبودند. مقدار نوعهای اولیه، مستقیماً در فیلدها ذخیره میشوند. در فیلدها (برای اشیا) و در پشته (برای توابع)، بیشتر از هیپ استفاده میشود. این یک تصمیم هوشیارانه توسط طراح جاوا برای اجرا است. به همین دلیل جاوا یک زبان شیگرای خالص به حساب نمیآید.
گرامر
گرامر جاوا وسیعتر از ++C است و برخلاف ++C که ترکیبی است از ساختارها و شیگرایی، زبان جاوا یک زبان شیگرای خالص میباشد. فقط نوع دادة اصلی از این قاعده مستثنی است. جاوا بسیاری از ویژگیها را پشتیبانی میکند و از کلاسها برای سادهتر کردن برنامهنویسی و کاهش خطا استفاده میکند.
بر طبق قرارداد فایل هل بعد از کلاسهای عمومی نام گذاری میشوند. سپس باید پسوند java را به این صورت اضافه کرد: Hello world.java. این فایل اول باید با استفاده از کامپایلر جاوا به بایت کد کامپایل شود. در نتیجه فایل Hello world.class ایجاد میشود. این فایل قابل اجرا است. فایل جاوا ممکن است فقط یک کلاس عمومی داشته باشد. اما میتواند شامل چندین کلاس با دستیابی عمومی کمتر باشد.
کلاسی که به صورت خصوصی تعریف میشود ممکن است در فایل.java ذخیره شود. کامپایلر برای هر کلاسی که در فایل اصلی تعریف میشود یک کلاس فایل تولید میکند. که نام این کلاس فایل همنام کلاس است با پسوند.class
کلمه کلیدی public (عمومی) برای قسمتهایی که میتوانند از کدهای کلاسهای دیگر صدا زده بشوند، به کار برده میشود. کلمهٔ کلیدی static (ایستا) در جلوی یک تابع، یک تابع ایستا را که فقط وابسته به کلاس است و نه قابل استفاده برای نمونههایی از کلاس، نشان میدهد. فقط تابعهای ایستا میتوانند توسط اشیا بدون مرجع صدا زده شوند. دادههای ایستا به متغیرهایی که ایستا نیستند، نمیتوانند دسترسی داشته باشند.
کلمهٔ کلیدی void (تهی) نشان میدهد که تابع main هیچ مقداری را بر نمیگرداند. اگر برنامهٔ جاوا بخواهد با خطا از برنامه خارج شود، باید system.exit() صدا زده شود. کلمهٔ main یک کلمهٔ کلیدی در زبان جاوا نیست. این نام واقعی تابعی است که جاوا برای فرستادن کنترل به برنامه، صدا میزند. برنامه جاوا ممکن است شامل چندین کلاس باشد که هر کدام دارای تابع main هستند.
تابع main باید آرایهای از اشیا رشتهای را بپذیرد. تابع main میتواند از آرگومانهای متغیر به شکل public static void main(string…args) استفاده کند که به تابع main اجازه میدهد اعدادی دلخواه از اشیا رشتهای را فراخوانی کند. پارامترstring[]args آرایهای از اشیا رشته ایست که شامل تمام آرگومانهایی که به کلاس فرستاده میشود، است.
چاپ کردن، قسمتی از کتابخانهٔ استاندارد جاوا است. کلاس سیستم یک فیلد استاتیک عمومی به نام out تعریف کردهاست. شی out یک نمونه از کلاس printstream است و شامل تعداد زیادی تابع برای چاپ کردن اطلاعات در خروجی استاندارد است. همچنین شامل println(string) برای اضافه کردن یک خط جدید برای رشتهٔ فرستاده شده اضافه میکند.
توزیعهای جاوا
منظور از توزیع جاوا پیادهسازیهای مختلفی است که برای کامپایلر جاوا و همچنین مجموعه کتابخانههای استاندارد زبان جاوا (JDK) وجود دارد. در حال حاضر چهار توزیعکنندهٔ عمده جاوا وجود دارند:
سان میکروسیستمز: توزیع کننده اصلی جاوا و مبدع آن میباشد. در اکثر موارد هنگامی که گفته میشود جاوا منظور توزیع سان میباشد.
GNU Classpath: این توزیع از سوی موسسه نرمافزارهای آزاد منتشر شده و تقریباً تمامی کتابخانه استاندارد زبان جاوا در آن بدون بهرهگیری از توزیع شرکت سان از اول پیادهسازی شدهاست. یک کامپایلر به نام GNU Compiler for Java نیز برای کامپایل کردن کدهای جاوا توسط این موسسه ایجاد شدهاست. فلسفه انتخاب نام Classpath برای این پروژه رها کردن تکنولوژی جاوا از وابستگی به علامت تجاری جاوا است بطوریکه هیچ وابستگی یا محدودیتی برای استفاده آن از لحاظ قوانین حقوقی ایجاد نشود و از طرفی به خاطر وجود متغیر محیطی classpath در تمامی محیطهای احرایی برنامههای جاوا، این نام به نوعی تکنولوژی جاوا را برای خواننده القا میکند. کامپایلر GNU توانایی ایجاد کد اجرایی (در مقابل بایت کد توزیع سان) را داراست. لازم به ذکر است که در حال حاضر شرکت سان تقریباً تمامی کدهای JDK را تحت مجوز نرمافزارهای آزاد به صورت متن باز منتشر کردهاست و قول انتشار قسمت بسیار کوچکی از این مجموعه را که بهدلیل استفاده از کدهای شرکتهای ثانویه نتوانسته به صورت متن باز منتشر نماید در آینده نزدیک با بازنویسی این کدها دادهاست.
مایکروسافت #J: این در حقیقت یک توزیع جاوا نیست. بلکه زبانی مشابه میباشد که توسط مایکروسافت و در چارچوب.net ارائه شدهاست. انتظار اینکه در سیستمعاملی غیر از ویندوز هم اجرا شود را نداشته باشید.
AspectJ: این نیز یک زبان مجزا نیست. بلکه یک برنامه الحاقی میباشد که امکان برنامه نویسی Aspect Oriented را به جاوا میافزاید. این برنامه توسط بنیاد برنامهنویسی جلوهگرا و به صورت کدباز ارائه شدهاست.
کلاسهای خاص
برنامک (برنامههای کاربردی کوچک)
اپلت جاواها برنامههایی هستند که برای کاربردهایی نظیر نمایش در صفحات وب، ایجاد شدهاند. واژهٔ import باعث میشود کامپایلر جاوا کلاسهای javaapplet.Applet وjava.awt.Graphics را به کامپایل برنامه اضافه کند. کلاس Hello کلاس Applet را توسعه میدهد. کلاس اپلت چارچوبی برای کاربردهای گروهی برای نمایش و کنترل چرخهٔ زندگی اپلت، درست میکند. کلاس اپلت یک تابع پنجرهای مجرد است که برنامههای کوچکی با قابلیت نشان دادن واسط گرافیکی برای کاربر را فراهم میکند. کلاس Hello تابع موروثی print(Graphics) را از سوپر کلاس container باطل میکند، برای اینکه کدی که اپلت را نمایش میدهد، فراهم کند. تابع paint شیهای گرافیکی را که شامل زمینههای گرافیکی هستند را میفرستد تا برای نمایش اپلتها استفاده شوند. تابع paint برای نمایش "Hello world!" تابع drawstring(string,int,int) را صدا میزند.
جاوا سرولت
تکنولوژی servlet جاوا گسترس وب را به آسانی فراهم میکند. و شامل مکانیزمهایی برای توسعهٔ تابعی سرور وب و برایدسترسی به سیستمهای تجاری موجود است.servlet قسمتی از javaEE است که به درخواستهای مشتری پاسخ میدهد.
واژهٔ import کامپایلر جاوا را هدایت میکند که تمام کلاسهای عمومی و واسطها را از بستههای java.io وjava.servlet را در کامپایل وارد کند.
کلاس Hello کلاس Genericservlet را توسعه میدهد. کلاس Genericservlet واسطی برای سرور فراهم میکند تا درخواست را به servlet بفرستد و چرخهٔ زندگی servlet را کنترل کند.
JSP
صفحهٔ سرور جاوا قسمتی از سرور javaEE است که پاسخ تولید میکند. نوعاً صفحات HTML به درخواستهای HTTP از مشتری.JSPها کد جاوا در صفحهٔ HTML را با استفاده از حائل <%and%> اضافه میکنند.JSP به javaservlet کامپایل میشود.
سوینگ
Swing کتابخانهٔ واسط گرافیکی کاربر است برای پلت فرم javaSE. ابزاری مشابه پنجره، GTK و motif توسط شرکت sun فراهم شدهاند. این مثال کاربرد swing یک پنجرهٔ واحد همراه با Hello world را ایجاد میکند.
اولین جملهٔ import کامپایلر جاوا را هدایت میکندتا کلاس Borderlayout را از بستهٔ java.awt در جاوا به کامپایل اضافه کند. و import دوم همهٔ کلاسهای عمومی و واسط آنها را از بستهٔ javax.swing اضافه میکند. کلاس Hello کلاس Jframe را توسعه میدهد. کلاس Jframe یک پنجره با میلهٔ عنوان و کنترل بستن است.
زمانی که برنامه آغاز میشود، تابع main با JVM صدا زده میشود. این یک نمونهٔ جدید از کلاس Hello را ایجاد کرده و با صدا زدن تابع setvisible(boolean) با مقدار true نمایش داده میشود.