مبحث اینترنت و زیرشاخههای آن -در یک نگاه کلی- شاخهای از علم شبکههای کامپیوتری هستند.
در واقع اگر بخواهیم به مباحث سطح بالا و کاربردی شبکههای کامپیوتری بپردازیم، اینترنت و تکنولوژیهای آن از اولویت بالایی برخوردارند .
در دنیای امروز که جهتگیری اکثر دولتها به سوی بیشتر و زودتر دانستن است، به جرأت میتوان گفت «فناوری اطلاعات و ابزار قدرتمند آن یعنی اینترنت در میزان پیشرفت علمی و فنی یک ملت نقش بسزایی دارد.»
با درک اهمیت یادگیری و بکارگیری اینترنت در زندگی عادی مرور مختصری را روی آن خواهیم داشت.
تاریخچه:
پس از آنکه شوروی سابق اولین ماهوارهی مصنوعی را در سال 1957 به فضا پرتاب کرد، به دلیل رقابت تنگاتنگ نظامی میان آمریکا و شوروی، ادارهی دفاع آمریکا به دستور آیزنهاور (رئیسجمهور وقت ایالات متحده) اقدام به تشکیل آژانس تحقیقاتی پروژههای پیشرفته (آرپا) نمود.
به دنبال تشکیل آرپا و برای آمادهباش و کنترل بیشتر بر روی منابع موشکی، پنتاگون بودجهای را برای تحقیقات دانشگاهی در مورد ساختن یک شبکهی ارتباطی بین مناطق مختلف نظامی آمریکا اختصاص داد.
حاصل این تحقیقات بعدها آرپانِت نامیده شد که در ابتدا صرفاً 4 کامپیوتر در آمریکا را به هم مرتبط میکرد.
آرپانت به سرعت گسترش یافت و با طراحی و پیادهسازی پروتکل TCP/IP و همکاری دانشگاه برکلی در فراهم کردن رابط نرمافزاری مناسب به کمک سیستم عامل یونیکس این دانشگاه ، اینترنت متولد شد.
فناوری اطلاعات:
آنچه امروز اینترنت را با اهمیت جلوه میدهد، دیدگاه گسترش ارتباطات و اطلاعات است.
با این رویکرد میتوان به اینترنت با دید یک ابزار قدرتمند برای گسترش فرهنگ، علم و فناوری نگریست.
اهمیت فناوری اطلاعات و ارتباطات تا حدی است که کلانترین بودجههای دولتهای پیشرفته و در حال توسعه را به خود اختصاص داده است.
حرکت به سوی آموزش الکترونیکی ، دولت الکترونیکی ، تجارت الکترونیکی و بسیاری از محصولات و فرآوردههای IT از سوی کشورهای مختلف، چیزی نیست که بتوان به سادگی از کنار آن گذشت.
درک عمیق تمامی این موارد نیازمند داشتن درکی مناسب از اینترنت و در واقع تکنولوژی تور جهان گستر است.
به این منظور مروری خواهیم داشت بر روی مفاهیم اولیهی اینترنت.
مفاهیم:
اینترنت:
مخفف واژهی Inter Network است.
بزرگترین شبکهی دنیا که از به هم پیوستن تعداد زیادی کامپیوتر ایجاد شدهاست.
این تصور که اینترنت بر روی چند کامپیوتر خاص در دنیا سوار شده به کلی غلط است.
در واقع هر کامپیوتری که به طریقی به اینترنت متصل میشود، جزئی از اینترنت محسوب میشود.
مخفف واژهی Inter Network است.
پروتکل: واژهی پروتکل در لغت به معنای قرارداد است و از دیدگاه علم اینترنت، به قوانینی گفته میشود که 2 یا چند کامپیوتر برای ارتباط (رد و بدل کردن اطلاعات) با یکدیگر رعایت میکنند.
به عنوان مثال هنگامی که کامپیوتر 1 در حال صحبت کردن است، کامپیوتر 2 به حال گوش دادن درمیآید و ضمناً میان صحبت کامپیوتر 1 صحبت نمیکند.
پروتکل اصلی اینترنت، TCP/IP است، که قسمت IP آن وظیفهی حمل بستههای اطلاعات از طریق کابلها و شبکهی اینترنت و قسمت TCP هم عهدهدار تعیین صحت داده و رساندن آن به سطح قابل استفاده برای کاربر را دارد.
یک سطحْ بالاتر و برای دسترسی به سایتهای اینترنتی از پروتکل HTTP یا همان مجموعه قواعد دریافت اطلاعاتی شامل متن، صوت، تصویر و ...
(در قالب HTML) از تور جهان گستر استفاده میکنیم.
HTML: نوعی زبان توصیف کننده (کاملاً متفاوت و بسیار آسانتر از زبانهای متداول برنامهسازی نظیر C و Pascal) است که برای نمایش دادن صفحات وب به کار میرود.
تقریباً تمامی صفحات دریافتی ما از اینترنت به این زبان نوشته شدهاند و مرورگرهای وب میتوانند آن زبان را به ما نمایش دهند.
به واحدهای سازندهی یک کد HTML، تَگْ میگویند.
در واقع تگها کلماتی کلیدی هستند که در زبان HTML قراردادْ شدهاند و یک مرورگر وب با دیدن هر کدام از این کلمات، متون و یا تصاویر موجود در صفحه را به نوعی نمایش میدهد.
به عنوان مثال تکه کد HTML زیر متن «سلام» را به کمک تگ ، توپُر نمایش میدهد.
سلام سرویسدهنده / سرویسگیرنده تمامی سایتهای اینترنتی که مشاهده میکنیم، از طریق یک سِرْوِر (سرویس دهنده) برای ما یعنی سرویس گیرنده (یا مشتری) فرستاده میشود.
در واقع سرور منتظر یک تقاضای مشاهدهی صفحهی وب از جانب مشتری است تا آن صفحه را برای او ارسال کند.
مثلاً هنگامیکه ما در نوار آدرس مرورگر وب خود آدرس www.google.com را وارد میکنیم، مرورگر در نقش مشتری، درخواستی را به سِروری که صفحهی گوگل را در اختیار دارد میفرستد.
پس از آن سرور در پاسخ به این درخواست، صفحهی گوگل را برای مشتری ارسال میکند و مرورگر پس از دریافت، آنرا به ما نمایش میدهد.
لازم به ذکر است که این درخواست و پاسخ –که به Request و Response مشهور است- از طریق پروتکل HTTP صورت میگیرد.
مرورگر وب (Web Browser) برنامهای است که میتواند صفحات HTML را به ما نمایش دهد.
برای استفاده از تور جهان گستر، استفاده از یک مرورگر وب تقریباً اجتناب ناپذیر است، چرا که یک مرورگر وب علاوه بر آشنایی و توان نمایش صفحات HTML، میتواند به واسطهی پروتکل HTTP صفحات وب را از سرور دریافت کند.
اکثر قریب به اتفاق صفحات وب در دنیا توسط مرورگر IE (Internet Explorer) بازدید میشوند، چرا که Windows عام ترین سیستم عامل مورد استفاده در جهان است که بهصورت پیشفرض IE را داراست.
بعد از IE، پرطرفدارترین مرورگر Netscape Navigator (NN) نام دارد.
مرورگرهای دیگری نیز وجود دارند از جمله Opera، Mozilla، Safari و ....
جاوا اسکریپت یک زبان برنامهنویسی که فقط در صفحات وب به کار میرود، چرا که برخی از امکانات معمول یک زبان برنامهنویسی مانند C را ندارد؛ در واقع JavaScript برای استفاده در وب طراحی شده و به همین دلیل زبان سطح بالایی است، به طوری که میتوان با نوشتن یک خط کد در آن یک پنجرهی سؤال (Ok - Cancel) باز کرد و از کاربر پرسش کرد.
از آنجایی که HTML صرفاً شامل Tagهایی برای نمایش صفحات وب است، برای کنترل ساختارهای دیگر یک صفحهی وب و یا استفاده از الگوریتمهای برنامهنویسی و یا حتی ساختن صفحات پویا که باید روی مرورگر وب اجرا شوند، به JavaScript نیاز داریم.
در واقع JavaScript زبانی است که مرورگر وب مترجم و اجرا کنندهی آن است.
همچنین یادآوری میکنیم که JavaScript زبانی است شامل بسیاری از ملزومات زبانهای برنامهنویسی، نظیر حلقهها، شرطها، توابع، رشتهها و حتی رویدادها.
حال پس از مروری کوتاه بر روی مفاهیم اصلی وب، به HTML میپردازیم.
HTML: سادهترین و رایجترین زبان برای ساختن صفحات وب است و بدنهای مشابه مثال زیر دارد: همانطوری که مثال 1 نشان میدهد، تمامی کد HTML بین دو تگ و قرار میگیرد.
ناگفته پیداست که نشانگر یک تگ آغازین و یک تگ پایانی میباشد (به جای TAG هر کدام از تگهای رزرو شدهی HTML را قرار دهید.) شما میتوانید مثال فوق را در یک فایل خالی نوشته و پسوند آنرا html (و یا htm) بگذارید، سپس آنرا بهوسیلهی یک مرورگر وب (مانند IE) باز کنید؛ با این کار یک صفحهی HTML خالی را خواهید دید.
حال به مثال دوم توجه کنید: همانطور که مشاهده میکنید در این مثال از تگهای HEAD، TITLE و BODY استفاده کردیم.
برای درک بهتر، این کد را در IE باز کریم و نتیجه به صورت زیر بود: میتوان حدس زد هرکدام از تگها چه وظیفهای دارند: HTML: تمامی کد ما باید بین این تگ قرار گیرد.
HEAD: اطلاعات مربوط به کد HTML و یا عنوان صفحه و سایر تنظیمها در این قسمت قرار میگیرند.
TITLE: عنوان صفحه؛ در شکل مشاهده میکنید که متنی که بین این تگ قرار گرفته، بر روی نوار عنوان IE ظاهر شده است.
BODY: قسمتی از HTML که در داخل HEAD نمیآید، باید میان تگ BODY قرار گیرد.
هر متنی که در قسمت BODY نوشته شود، عیناً در صفحهی ما جا میگیرد.
لابد تا اینجا متوجه شدهاید که HTML چیزی نیست جز یک سری تگ برای نمایش دادن یک صفحه.
حال یک مثال جالبتر را ببینیم: اگر این مثال را در IE باز کنیم چیزی شبیه شکل زیر را خواهیم دید: عملکرد تگهای B، I و U را به عهدهی شما میگذاریم (واضحند!).
تگ BR، مخفف واژهی line BReak است.
این تگ خط متن را قطع میکند و به خط بعدی میرود.
نکتهی دیگر اینکه تگ BR همواره به صورت تنها –و نه جفت ابتدا و انتها– ظاهر میشود (به دلیل عملکردش باید اینگونه باشد.) در HTML، هر تگ میتواند تعدادی صفت (و یا مشخصه) داشتهباشد.
صفتها در HTML به صورت کلماتی کلیدی هستند که برای هر تگ رزرو شدهاند و میتوان هنگام نوشتن تگ آنها را مقداردهی کرد.
به مثال زیر توجه کنید: اگر کد بالا را در IE نمایش دهیم، با فرض اینکه سه فایل تصویری wallpaper.gif (پسزمینهی صفحه)، penguin.png و leaf.jpg در فولدر pix موجود باشند، چیزی شبیه شکل زیر را خواهیم داشت: کمی به کد و صفحهی معادل آن توجه کنید.
آیا میتوانید وظیفهی تگهای جدید و صفتهای آنها را بیابید؟
شاید تا حالا متوجه شده باشید که صفت چیست.
background برای تگِ BODY، یک صفت است.
برخی از تگها بدون صفت کارایی خاصی ندارند؛ به عنوان مثال تگ IMG که مخفف image است، به منظور نمایش دادن یک تصویر (از نوع bmp، gif، jpg، png و ...) به کار میرود و بدون صفت src -که مشخص کنندهی آدرس تصویر است- کاربردی ندارد.
همانطور که میبینید IMG یک تگ تنهاست و تگ پایانی ندارد (مانند BR).
همانند تمامی زبانهای برنامهنویسی، HTML هم روشی را برای نادیده گرفتن یک تکه متن در کد در اختیار ما قرار میدهد.
همانطور که در C بهوسیلهی /* */، و یا در Pascal توسط { } کامنت میزدیم، در HTML هم میتوان توسط شبهتگ زیر، عبارت Something را از دید مرورگر مخفی کرد و به اصطلاح کامنت کرد: در مثال 4 ما تمامی صفتها را در داخل دو-کوتِیْشِن قرار دادیم.
مثلاً در تگ HR (خط 14) صفت color را برابر red قرار دادیم: .
این کار اجباری نیست ولی توصیه میشود، چرا که گاهی اوقات ممکن است مقدار یک صفت، حاوی کاراکتر فضای خالی باشد که در آن صورت استفاده از کوتیشن ("…" یا '…') اجتنابناپذیر است.
مخفف Horizontal Rule است و برای رسم خطهای افقی در اندازه و رنگ دلخواه بهکار میرود.
در تگ BODY با استفاده از صفت background، تصویر پسزمینه و با استفاده از تگ dir (مخفف direction و به معنی جهت)، جهت نمایش دادن کل BODY را را تعیین کردهایم.
در واقع ltr (left to right) برای متنهای انگلیسی به کار میرود.
اگر بخواهیم در BODY –و یا هر تگ دیگر- فارسی بنویسیم باید جهت را rtl (right to left) قرار دهیم.
تگ P برای مشخص کردن یک پاراگراف به کار میرود.
تگهای H1 تا H6 هرکدام نوعی تیتر (Heading) را مشخص میکنند.
صفت align در تگ H2 روش چیدمان متن میان تگ را تعیین میکند.
چیدمان میتواند راستچین (right)، چپچین (left) و یا وسطچین (center) باشد.
در مورد تگ IMG هم صفت src، آدرس فایل تصویری را معین میکند.
میتوانید به جای آدرس موجود ("pix/leaf.jpg" در خط 10)، URL زیر را قرار دهید: "http://www.google.com/images/logo_sm.gif" که با این کار هنگامی که به اینترنت متصل باشید لوگوی کوچک گوگل جایگزین تصویر برگ میشود: صفت title در تگ IMG وظیفهی جالبی دارد!
آیا تا بهحال چیزی در مورد Tool Tip شنیدهاید؟
Tool Tip متنی است که برای کمک به کاربر در محیطهای شبیهِ Windows ظاهر میشوند.
مثلاً اگر در Windows، اشارهگر ماوس را روی Start Menu ببرید و مدت کمی صبر کنید، Tool Tipی با این مضمون ظاهر میشود که Click here to begin.
کاری که صفت title در بسیاری از تگهای HTML از جمله تگ IMG انجام میدهد، تعیین Tool Tip است.
مشاهده میکنید که در شکل مثال 4، با نگه داشتن اشارهگر ماوس بر روی تصویر برگ، Tool Tip آن ظاهر میشود.
هنگامی که میخواهیم یک تصویر را با استفاده از تگ IMG نمایش دهیم، میتوانیم از دو صفت width و height به منظور تعیین اندازهی تصویر استفاده کنیم؛ در غیر این صورت تصویر در اندازهی طبیعی خود نمایش داده میشود.
علاوه بر اینها میتوان به تصویر حاشیه داد.
این کار را با استفاده از صفت border انجام میدهیم و ضخامت حاشیهی تصویر را مشخص میکنیم.
پیشفرض این صفت، صفر است.
تگ دیگری که در خط 14 مورد استفاده قرار گرفته، HR است و به منظور کشیدن خط افقی بهکار میرود.
وظیفهی صفت color هم ناگفته پیداست.
در پاراگراف دیگری که از خط 14 تا 17 کد قرار دارد، از تگ FONT برای مشخص کردن نوع قلم، رنگ و اندازه استفاده کردیم.
صفت face برای تعیین نام قلم (در مثال ما Arial)، size برای اندازه و بالاخره color هم برای تعیین رنگ متن میان تگ FONT است.
در ادامه به اختصار چند کد HTML به همراه صفحهی معادل آنها آورده شده.
شما میتوانید به سادگی به وظیفهی تگها و صفتهای هرکدام پی ببرید.
دقت کنید که تگ META که در خطهای سوم و چهارم مورد استفاده قرار گرفته، صرفاً اطلاعاتی (از قبیل زبان متن