خلاصه فصل مفاهیم پایه و پروتکل های وب جهت مرور سریع تر

پرسیده شده
فعالیت 1200 روز پیش
دیده شده 854 بار
7

پروتکل : به مجموعه قوانین در شبکه می گویند که مشخص می کند دو تا کامپیوتر چطوری بیان و باهم در ارتباط باشند با چه اجزا و سیاست هایی بیان و باهم ارتباط داشته باشند 

 

مثل پروتکل FTP که مجموعه قوانین انتقال فایل در شبکه رو میاد و مشخص میکند 

مثل IP که هسـتش Internet Protocol

 

 

شبکه های کامپیوتری :  به مجموعه از کامپیوتر ها و دستگاه های متصل به هم می گویند مثل لب تاب ها کامیپوتر ها پرینترها و ..

 

node : به هریک از دستگاه هایی که در داخل شبکه به یک دیگر متصل هستند یک نود یا گره می گویند و بین تمامی این نود ها می تواند یک سری ارتباطاتی وجود داشته باشد که به اون ها connection می گویند 

این ارتباطات می تواند به صورت وایرلس و یا به صورت کابلی باشد 

 

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

 

line که به صورت خطی به هم متصل هستند و اگر یک جا بیاد و ارتباط قطع شود شبکه به دو بخش تقسیم می شود و دسترسی قطع می شود .

 

tree به صورت ساختار درختی هستش .

 

Bus یک لاین مشترک دارد که همه ی اجزای شبکه با اون لاین مشترک ارتباط دارند .

 

Fully Connected هستش که تمام نود ها در اون به نود های دیگه دسترسی مستقیم دارند .

 

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

 

Mesh هر نود حداقل ارتباط با یک نود دیگر دارد که بسیار شبیه به اینترنت هستش  .

 

Ring در یک رینگ قرار دارند و نود ها در آن قرار دارند و ارتباط هاشون رو برقرار میکنند .

 

 

مدل و معماری وب   ( معماری client server ) 

 

به این صورت هست که همیشه یک درخواستی از سمت کلاینت به سرور صورت میگیرد و سرور هم یک پاسخ ای رو به ما می دهد یکی از ضعف های معماری Single Point Of failure همستش که یعنی یک نقطه ی شکست رو همیشه دارد که مرکزیت سیستم هستش که اگر سرور خاموش بشه یا ارتباط با اون قطع شه تمام سیستم ها  ارتباط اشون رو با سرور از دست می دهند که به این جور سیستم ها سیتم های Centralized میگویند که یک جور مرکزیت دارند 

 

نکته : به غیر از معماری کلاینت سروری یک معماری دیگه هم داریم با نام peer to peer  که بیشتر پیرامون ارزهای دیجیتال و بلاک چین و  این ها استفاده می شود این جور سیستم ها تشکیل شده اند از یک سری peer ها یا نود هایی که با هم دیگه در ارتباط هستند و نود مرکزی ندارد و همه چی با رای گیری انجام می شود ولی سرعت سیستم ی خورده پایین هستش چون باید به تمام نو ها درخواست هاشو بفرسته 

 

پاسخ های سرور به کلاینت به صورت ارسال فایل های   js و html و  css  هستش 

 

نکته : بزرگ ترین و پر استفاده ترین کلاینت های وب مرورگر های ما هستند که وظایف اون ها ارسال درخواست های وب و رندر کردن صفحات وب و اجرا کننده کد های css و  html و js  مرورگر ها برای رندر صفحات از موتور های رندرینگ استفاده میکنند

 

معرفی تب های  inspector 

 

1- Element  که کد های مربوط به اون صفحه رو می بینیم کد های HTML Css

2- console کد های مربوط به جاوااسکریپت امون رو می توانیم در این جا مشاهد کنیم

3- source  تمام منابع که باز کردن اون صفحه وب داریم رو در این تب به ما نمایش میدهد

4- Network تعداد request های ارسال شده رو به ما نمایش میدهد 

5- Performance یکسری امکانات دارد که به ما این اجازه می دهد که بیایم و میزان پرفورمنس وب سایت امون رو بررسی کنیم

6- Memory میزان حافظه مصرف شده

7- Application امکانات  اپ

8- Security مسائل امنیتی

9- Audits عملکرد کلی وب سایت مثل سئو  پرفورمنس و .. میاد و مانیتور میکند و  مشکلات وب سایت رو به ما یک گزارش میدهد و تب مناسبی برای بالا بردن عملکرد سایت هستش

 

وب سرور  سرور

 

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

 

سیستم  عامل سرور های موجود :  ویندوز  و  لینوکس

وب سرور های موجود   Nginx   Apache    lls  و .. 

 

پیدا کردن یک سرور توسط کلاینت  : 

 

1-  کاربر وقتی هر اسمی رو میاد و در داخل اینترنت وارد می کند یک پروتکلی به نام DNS یا همان دفترچه تلفن اینترنت میاد و اجرا می شود و اسم سایت و آیپی در آن ذخیره هستش رو به ما نشان میدهد 

 

2-  IP میاد با استفاده از مسیر یابی مکان اون سرور و کاربر رو به ما میدهد 

 

3-  حال در داخل سرور ما نرم افزار های مختلفی نصب هستش مقل  nginx cpanel  fttp  mysql  و ..  هر سرور داخل خودش بالغ بر 6000 درگاه یا پورت دارد و هر نرم افزار به یکی از پورت ها وصل هستش  برای مثال  nginx به پورت 80443 وصل هستش و mysql   به پورت 3306 و cpanel   به پورت 2083 و  fttp   به پورت 21 وصل هستش

 

نکته :  پورت پیش فرض مرورگر هامون  80 یا 443  هستش برای باز کردن مرورگر ها که 80 برای http هستش و 443 برای ssL هستش که امن تره و نزاریم هم مشکلی نداره برای مثال برای خود سایت سون لرن می تونیم این کار رو انجام بدهیم

 

نکته : ما باید بیایم و این پورت های پیش فرض رو برداریم که دسترسی آزاد نداشته باشن 

 

 

لایه های شبکه : ساختار کار شبکه های کامپیوتری بر اساس مدل  OSI ریخته شده است که 7 لایه هست  که در لایه های بالایی در سطح نرم افزار رو داریم و در لایه های پایینی سطح سخت افزار بیشتر داریم و کل شبکه با این کدل کار میکند

 

 

client side جهت از بالا به پایین  و در سرور از پایین به بالا 

 

Host Layer 

7- Application Layer که به صورت جی سون میفرسته پروتکل های  HTTP  و  FTP  و  SSH  و  DNS

6- Presentation Layer سینتکس لایه SSL  و  SSH  و  JPEG  و IMAP 

5- session Layer 

 

قلب OSI

 

4- Transport Layer  پروتکل های مربوط به انتقال مثل TCP و UDP در اینجا قرار دارند

 

media Layers ساختار های سخت افزاری در شبکه هستند 

 

3- NETWORK Layer 

2- DATA-LINK Layer 

1- PHYSICAL Layer 

 

حال فقط ما در مدل  TCP/IP  کلن 4 تا لایه داریم 

 

1-Application

2-Transport 

3-NETWORK

4-NETWORK Interface

 

دریک معماری کلاینتی ما کدهامون در ابتدا در داخل لایه ی Application تبدیل به جی سون می شود و بعد در مرحله پایین تر لایه  Transport  شکسته میشه و تبدیل به یک سری سگمنت می شه و بعد باز در مرحله پایین تر  NETWORK  تبدیل به یک سری پکت هایی میشه و باز در مرحله پایین تر DATA-LINK تبدیل به صفر و یک میشه و در نهایت فایل های ما ارسال می شه به سمت سرور  حال در سمت سرور هم این مراحل از عکس شروع میشن به اجرا تا در انتها تبدیل به فایل جی سون امون بشه و سرورمون اون رو استفاده میکنه و این سری اتفاقات در درخواست ها و پاسخ ها به سرور انجام می شود

 

IP هر دستگاه متصل به اینترنت یک آدرس منحصر به فرد داره که بهش میگن آی پی ما کلن 2 نوع آیپی داریم   IP4   IP6 که  اولی 128 بیت و دومی 32 بیت هستش همچنین ما آیپی ها مون رو از ISP ها میایم و میگیریم 

هر مودم داخل خودش یکسری آیپی هم خودش تولید میکند و به دستگاه ها میدهد 

 

 

آیپی های لوپ پک که هر جا استفاده بکنیم بر میگردد به خود سیستم امون Loopback Adress : 127.x.x.x  مثل استفاده از وب سرور های محلی که برای شبیه سازی کردن میایم و استفاده میکنیم 

 

 

برای پیدا کردن آیپی خودمون می تونیم از یکسری وب سایت ها استفاده بکنیم  

 

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

 

 

ما با استفاده از دستور زیر در کامنت ویندوز می تونیم بیایم و ایپی مونو پیدا کنیم ipconfig 

فایل پیوست

emad ta
emad ta

18 دی 99

5
حذف شده

 

AJAX : قبل از این که تکنولوژی مثل Ajax به وجود بیاد هر درخواستی که در صفحه مرورگر اجرا می کردیم باعث می شد که صفحه ما یک بار بیاد و Refresh بشه یه طور کلی با از Ajax  استفاده میکنیم به این دلیل که میخاهیم یک بخش خاصی از صفحه بدون این که کل صفحه بیاد و Refresh  بشه محتوا یا content اون بیاد و تغیر کند 

 

پرونکل FTP  :  پروتکلی برای انتقال فایل بین سرور و کلاینت ( این پروتکل هم مدل client - Server داره ) که ما درآن یک FTP Client داریم و یک FTP Server در داخل این پروتکل ما معمولا دو تا پورت 20 و 21 داریم و برای کلاینت امون یک control Channel داریم و برای  سرور امون یک Data Channel داریم FileZilla یکی از معروف ترین کلاینت های FTP  هستش که در داخل اون می توانیم بیایم و چند تا کانکشن رو بسازیم که یکی از پیش نیازهاشون هاست هستش یا آیپی سرور مون و پورت که اگه نزاریم همان پیش فرض 20 و 21 هستش و یک user  Password می خوان در هاست های اشتراکی  یا سرور های مجازی می توانیم اکانت های FTP بسازیم که بهمون یک سری user Password می دهند یکی از دم دست ترین FTP های ما فایل اکسپولر خود ویندوز هستش که برای استفاده از آن کافی است فقط بیایم و خط آدرس دهی تایپ کنیم @FTP و بعد آدرس سرومون که در اون جا از ما یوزر و پس ورد را می خواهد اکثر سایت های دانلودی معمولا از FTP استفاده میکنند

 

 

( Cross-Origin Resource Sharing ( CORS یک سری سیاست هایی هستش که اون سرورمون میاد و تعین میکند که چه چیز هایی بپزید و بتونه مسائل امنیتی رو کنترل کرد 

 

 

DNS : دفترچه تلفن اینترنت :  یک سیستم توزیع شده که IP متناظر با هر دومین رو به شما میدهد

 

مراحل کار در DNS 

 

1- با نوشتن نام یک سایت یا دومین آن DNS Resolver ها میان و فعال می شوند و این کار به اون ها میسپاره

 

2-  در مرحله دوم Root Server ها هستند که در داخل خودشون یک ساختار درختی دارند که می گویند هر دامنه در داخل خودشون به کدوم آیپی میان و وصل می شوند ( در این ساختار درختی در مرحله اول پس زمینه های دامنه وجود دارند مثل  .biz   .org  و ..  و هی سطوح پایین تر میاد ’)

 

نکته : معمولا وب سایت هایی که کار با حجم های فایلی زیادی دارند و کارای آپلودی زیادی رو باید بیان و انجام بدهند

سرور دانلود و هاست دانلودشون از سرور اصلی شون جداست و میان و یک DNS رو ست میکنند و یک ریکودیستی رو ست میکنند باهاش  و مثلا می گویند download.7learn.com هاستش اونجاس آیپی اون هاست رو ست می کنن و و خود سایت اصلی هاست اش  جداست و روی آیپی مرکزی هستش و به این مدل عملا چن تا ریکورد و در خواست روی هر کدوم بیاد میره روی هاست های مختلف اشون 

 

در داخل Root Server  گفتیم یک سری فرآیند های ام وجود دارد برای مثال اول میاد و TLD Server ها رو چک میکند 

و هی زیشاخه ای میره و به آیپی اون دومین مورد نظر ما می رسد

 

 

اصطلاحات معروف 

DNS Lookup  :  Domain to IP       we have DNS Cache       Reverse DNS Lookup : IP to Domain 

مرورگر ما برای دفعه ی دوم این درخواست برای  DNS  و پیدا کردن آیپی رو نمیده و این درخواست هارو در داخل کچ خودشون داره 

 

نکته : درخواست Ping یعنی برای جواب دادن از سرور ping -t همین جوری هی جواب می دهد 

معرفی سایت host-tracker.com

 

فایل پیوست

emad ta

توسط

emad ta

19 دی 99

4
حذف شده

پروتکل HTTP پروتکل انتقال ابرمتن  HYPERTEXT TRANSFER PROTOCOL : پروتکلی که قوانین و استاندارد های انتقال اطلاعات و محتوا تحت وب رو مشخص میکنه که در آن از سمت کلاینت همیشه یک HTTP Request رو میفرستیمو از سمت سرور هم همیشه یک HTTP Response هم میگیریم

 

کد های وضعیت یا HTTP Status Codes

1XX اطلاعاتی

2XX موفقیت آمیز بود

3XX دیدایرکت کردن

4XX مشکلاتی که مربوط به کلاینت هست مثلا آدرس رو اشتباه وارد کرده باشه 

5XX ارور ها و خطاهای سرور هستش                             
                                  

ما اطلاعات امون رو به دو صوتر یا فرمت های get یا post میتونیم بیایم و ارسالشون بکنیم زمانی که ما میایم و از get استفاده میکنیم این اطلاعات میاد و به ته url ما می چسبد یک روشش ارسال به صورت کوری پارامتر هستش که ارسال می شود زمانی که اطلاعات ما حساس هستش برای ارسال نباید از متد get بیایم و استفاده بکنیم 

https://7learn.ac/?name=emad&age=23

پروتکل Https  میگوید که تمامی اطلاعات ما که از این سایت بیرون میاد و داخل شبکه میشه این ها همش رمز نگاری شده است و کسی نمی تواند اون هارو نگاه کند و پروتکل http رمز نگاری ندارند

که کلن تفاوت این دو در این هست که https میاد و در مرحله پایین تر http  بااستفاده از پروتکل های رمز نگاری ssl و TLS کدهای مارو تا حدودی رمز نگاری میکند و بعد وارد مراحل TCP و Ip می شود

 

 

پروتکل های http  وابستگی به نوع محتوا ندارند و هر نوع محتوایی می تونن بیان و انتقال بدهند همچنین به اضای هر ارسال یا درخواستشون یک کانکشن میاد و درست میکند و بعد اتمام کار این کانکشن تموم می شود همچنین قابلیت کچ کردن هم دارند برای سرعت بیشتر همچنین ارسال درخواست هامون  قبل از ارسالشون درخواست های ما میان و انکود می شوند و تبدیل می شوند به کاراکتر های اسکی 

 

 

سوکت : یک کانال ارتباطی یا کانکشن پایدار بین دو نود در شبکه است این کانال در حین ارتباط بین دو نود برقرار می ماند اطلاعات این کانکشن می تونه سمت نود ها نگهداری شه

 

ما در پروتکل های http   تعداد و حجم کانکشن هامون زیاد هستش و به تعداد درخواست هایی که داریم  باید بیایم و از کانکشن ها استفاده بکنیم ولی در سوکت ها میان و یک لاین ارتباطی  ثابت و پایدار می سازند و با اون درخواست ها و ارتباط های خودشون رو تبادل میکنند و بعد از این که کارشون تموم شد این کانکشن رو می بندند ما در http   کانکشن ها مون stateless هستش یعنی اصطلاحا هیچ گونه اطلاعاتی پیرامون کانکشن هاشون ذخیره نمی کنند ولی در سوکت هامون اصطلاحا statefull هستش و یک سری اطلاعات رو پیرامون کانکشن ها میاد و ذخیره میکند همچنین در http   لاین های ارتباطی ما اصطلاحا یک طرفه هستش یا uni-directional هستش ولی در سوکت ها چن طرفه یا bi-directional هستش وب سوکت یک پروتکل ارتباطی است که می تواند یک ارتباط Duplex-Full را بین مرورگر وب و سرور برقرار نماید با استفاده از وب سوکت برخی از محدودیت های http برای برقراری ارتباط پایدار و latancy-low رفع شده است.

 

 

 

فایل پیوست

emad ta

توسط

emad ta

20 دی 99