مقدمه:
مبحث اینترنت و زیرشاخههای آن -در یک نگاه کلی- شاخهای از علم شبکه های کامپیوتری[1] هستند. در واقع اگر بخواهیم به مباحث سطح بالا و کاربردی شبکههای کامپیوتری بپردازیم، اینترنت و تکنولوژیهای آن از اولویت بالایی برخوردارند[2].
در دنیای امروز که جهتگیری اکثر دولتها به سوی بیشتر و زودتر دانستن است، به جرأت میتوان گفت «فناوری اطلاعات[3] و ابزار قدرتمند آن یعنی اینترنت در میزان پیشرفت علمی و فنی یک ملت نقش بسزایی دارد.»
با درک اهمیت یادگیری و بکارگیری اینترنت در زندگی عادی مرور مختصری را روی آن خواهیم داشت.
" تاریخچه:
پس از آنکه شوروی سابق اولین ماهوارهی مصنوعی را در سال 1957 به فضا پرتاب کرد، به دلیل رقابت تنگاتنگ نظامی میان آمریکا و شوروی، ادارهی دفاع[4] آمریکا به دستور آیزنهاور[5] (رئیسجمهور وقت ایالات متحده) اقدام به تشکیل آژانس تحقیقاتی پروژههای پیشرفته[6] (آرپا) نمود. به دنبال تشکیل آرپا و برای آمادهباش و کنترل بیشتر بر روی منابع موشکی، پنتاگون بودجهای را برای تحقیقات دانشگاهی در مورد ساختن یک شبکهی ارتباطی بین مناطق مختلف نظامی آمریکا اختصاص داد. حاصل این تحقیقات بعدها آرپانِت[7] نامیده شد که در ابتدا صرفاً 4 کامپیوتر در آمریکا را به هم مرتبط میکرد. آرپانت به سرعت گسترش یافت و با طراحی و پیادهسازی پروتکل[8] TCP/IP و همکاری دانشگاه برکلی در فراهم کردن رابط نرمافزاری مناسب به کمک سیستم عامل یونیکس این دانشگاه[9]، اینترنت متولد شد.
فناوری اطلاعات:
آنچه امروز اینترنت را با اهمیت جلوه میدهد، دیدگاه گسترش ارتباطات و اطلاعات است. با این رویکرد میتوان به اینترنت با دید یک ابزار قدرتمند برای گسترش فرهنگ، علم و فناوری نگریست. اهمیت فناوری اطلاعات و ارتباطات تا حدی است که کلانترین بودجههای دولتهای پیشرفته و در حال توسعه را به خود اختصاص داده است.
حرکت به سوی آموزش الکترونیکی[10]، دولت الکترونیکی[11]، تجارت الکترونیکی[12] و بسیاری از محصولات و فرآوردههای IT از سوی کشورهای مختلف، چیزی نیست که بتوان به سادگی از کنار آن گذشت.
درک عمیق تمامی این موارد نیازمند داشتن درکی مناسب از اینترنت و در واقع تکنولوژی تور جهان گستر[13] است. به این منظور مروری خواهیم داشت بر روی مفاهیم اولیهی اینترنت.
" مفاهیم:
اینترنت:
مخفف واژهی Inter Network است. بزرگترین شبکهی دنیا که از به هم پیوستن تعداد زیادی کامپیوتر ایجاد شدهاست. این تصور که اینترنت بر روی چند کامپیوتر خاص در دنیا سوار شده به کلی غلط است. در واقع هر کامپیوتری که به طریقی به اینترنت متصل میشود، جزئی از اینترنت محسوب میشود.
پروتکل:
واژهی پروتکل در لغت به معنای قرارداد است و از دیدگاه علم اینترنت، به قوانینی گفته میشود که 2 یا چند کامپیوتر برای ارتباط (رد و بدل کردن اطلاعات) با یکدیگر رعایت میکنند. به عنوان مثال هنگامی که کامپیوتر 1 در حال صحبت کردن است، کامپیوتر 2 به حال گوش دادن درمیآید و ضمناً میان صحبت کامپیوتر 1 صحبت نمیکند.
پروتکل اصلی اینترنت، TCP/IP[14] است، که قسمت IP آن وظیفهی حمل بستههای اطلاعات از طریق کابلها و شبکهی اینترنت و قسمت TCP هم عهدهدار تعیین صحت داده و رساندن آن به سطح قابل استفاده برای کاربر را دارد. یک سطحْ بالاتر و برای دسترسی به سایتهای اینترنتی از پروتکل HTTP[15] یا همان مجموعه قواعد دریافت اطلاعاتی شامل متن، صوت، تصویر و ... (در قالب HTML[16]) از تور جهان گستر استفاده میکنیم.
HTML:
نوعی زبان توصیف کننده (کاملاً متفاوت و بسیار آسانتر از زبانهای متداول برنامهسازی نظیر C و Pascal) است که برای نمایش دادن صفحات وب به کار میرود. تقریباً تمامی صفحات دریافتی ما از اینترنت به این زبان نوشته شدهاند و مرورگرهای وب[17] میتوانند آن زبان را به ما نمایش دهند.
به واحدهای سازندهی یک کد HTML، تَگْ[18] میگویند. در واقع تگها کلماتی کلیدی هستند که در زبان HTML قراردادْ شدهاند و یک مرورگر وب با دیدن هر کدام از این کلمات، متون و یا تصاویر موجود در صفحه را به نوعی نمایش میدهد. به عنوان مثال تکه کد HTML زیر متن «سلام» را به کمک تگ ، توپُر[19] نمایش میدهد.
سلام
سرویسدهنده[20] / سرویسگیرنده[21]
تمامی سایتهای اینترنتی که مشاهده میکنیم، از طریق یک سِرْوِر (سرویس دهنده) برای ما یعنی سرویس گیرنده (یا مشتری) فرستاده میشود. در واقع سرور منتظر یک تقاضای مشاهدهی صفحهی وب از جانب مشتری است تا آن صفحه را برای او ارسال کند. مثلاً هنگامیکه ما در نوار آدرس مرورگر وب خود آدرس www.google.com را وارد میکنیم، مرورگر در نقش مشتری، درخواستی را به سِروری که صفحهی گوگل را در اختیار دارد میفرستد. پس از آن سرور در پاسخ به این درخواست، صفحهی گوگل را برای مشتری ارسال میکند و مرورگر پس از دریافت، آنرا به ما نمایش میدهد. لازم به ذکر است که این درخواست و پاسخ –که به Request و Response مشهور است- از طریق پروتکل HTTP صورت میگیرد.
مرورگر وب (Web Browser)
برنامهای است که میتواند صفحات HTML را به ما نمایش دهد. برای استفاده از تور جهان گستر، استفاده از یک مرورگر وب تقریباً اجتناب ناپذیر است، چرا که یک مرورگر وب علاوه بر آشنایی و توان نمایش صفحات HTML، میتواند به واسطهی پروتکل HTTP صفحات وب را از سرور دریافت کند.
اکثر قریب به اتفاق صفحات وب در دنیا توسط مرورگر IE (Internet Explorer) بازدید میشوند، چرا که Windows عام ترین سیستم عامل مورد استفاده در جهان است که بهصورت پیشفرض IE را داراست. بعد از IE، پرطرفدارترین مرورگر Netscape Navigator (NN) نام دارد. مرورگرهای دیگری نیز وجود دارند از جمله Opera، Mozilla، Safari و ....
جاوا اسکریپت[22]
یک زبان برنامه نویسی که فقط در صفحات وب به کار میرود، چرا که برخی از امکانات معمول یک زبان برنامهنویسی مانند C را ندارد؛ در واقع JavaScript برای استفاده در وب طراحی شده و به همین دلیل زبان سطح بالایی است، به طوری که میتوان با نوشتن یک خط کد در آن یک پنجرهی سؤال (Ok - Cancel) باز کرد و از کاربر پرسش کرد. از آنجایی که HTML صرفاً شامل Tagهایی برای نمایش صفحات وب است، برای کنترل ساختارهای دیگر یک صفحهی وب و یا استفاده از الگوریتمهای برنامهنویسی و یا حتی ساختن صفحات پویا[23] که باید روی مرورگر وب اجرا شوند، به JavaScript نیاز داریم. در واقع JavaScript زبانی است که مرورگر وب مترجم و اجرا کنندهی آن است. همچنین یادآوری میکنیم که JavaScript زبانی است شامل بسیاری از ملزومات زبانهای برنامهنویسی، نظیر حلقهها، شرطها، توابع، رشتهها و حتی رویدادها[24].
حال پس از مروری کوتاه بر روی مفاهیم اصلی وب، به HTML میپردازیم.
" HTML:
سادهترین و رایجترین زبان برای ساختن صفحات وب است و بدنهای مشابه مثال زیر دارد:
مثال 1: شکل کلی یک کد HTML (ex01.html)
همانطوری که مثال 1 نشان میدهد، تمامی کد HTML بین دو تگ و قرار میگیرد. ناگفته پیداست که نشانگر یک تگ آغازین و یک تگ پایانی میباشد (به جای TAG هر کدام از تگهای رزرو شدهی HTML را قرار دهید.) شما میتوانید مثال فوق را در یک فایل خالی نوشته و پسوند آنرا html (و یا htm) بگذارید، سپس آنرا بهوسیلهی یک مرورگر وب (مانند IE) باز کنید؛ با این کار یک صفحهی HTML خالی را خواهید دید[25].
حال به مثال دوم توجه کنید:
This is my second HTML page
This is some text inside body tag.
مثال 2: یک کد بهدرد بخور! (ex02.html)
همانطور که مشاهده میکنید در این مثال از تگهای HEAD، TITLE و BODY استفاده کردیم. برای درک بهتر، این کد را در IE باز کریم و نتیجه به صورت زیر بود:
میتوان حدس زد هرکدام از تگها چه وظیفهای دارند:
HTML: تمامی کد ما باید بین این تگ قرار گیرد.
HEAD: اطلاعات مربوط به کد HTML و یا عنوان صفحه و سایر تنظیمها در این قسمت قرار میگیرند.
TITLE: عنوان صفحه؛ در شکل مشاهده میکنید که متنی که بین این تگ قرار گرفته، بر روی نوار عنوان IE ظاهر شده است.
BODY: قسمتی از HTML که در داخل HEAD نمیآید، باید میان تگ BODY قرار گیرد. هر متنی که در قسمت BODY نوشته شود، عیناً در صفحهی ما جا میگیرد.
لابد تا اینجا متوجه شدهاید که HTML چیزی نیست جز یک سری تگ برای نمایش دادن یک صفحه. حال یک مثال جالبتر را ببینیم:
This is my third HTML page
I am normal text
I am bold text
I am italic text
I am bold-italic text
I am underlined text
... and I am bold-italic-underlined text
مثال 3: چند جور متن قشنگ! (ex03.html)
اگر این مثال را در IE باز کنیم چیزی شبیه شکل زیر را خواهیم دید:
عملکرد تگهای B، I و U را به عهدهی شما میگذاریم (واضحند!). تگ BR، مخفف واژهی line BReak است. این تگ خط متن را قطع میکند و به خط بعدی میرود. نکتهی دیگر اینکه تگ BR همواره به صورت تنها –و نه جفت ابتدا و انتها– ظاهر میشود (به دلیل عملکردش باید اینگونه باشد.)
در HTML، هر تگ میتواند تعدادی صفت[26] (و یا مشخصه) داشتهباشد. صفتها در HTML به صورت کلماتی کلیدی هستند که برای هر تگ رزرو شدهاند و میتوان هنگام نوشتن تگ آنها را مقداردهی کرد. به مثال زیر توجه کنید:
(تصاویر و نمودار و جداول در فایل اصلی موجود است)