بلاگ

بلاگ

کدهای خطا رایج HTTP

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

  • ۱xx : اطلاعات (Information)
  • ۲xx : موفقیت (Success)
  • ۳xx : ارجاع (Redirection)
  • ۴xx : خطای سمت کاربر (Client Error)
  • ۵xx : خطای سمت سرور (Server Error)

بررسی خطای سمت کاربر و سرور :

خطاهای سمت کاربر یا کدهای وضعیت از ۴۰۰ تا ۴۹۹, نتیجه ی درخواست های HTTP هستند که توسط نرم افزارهای HTTP سمت کاربر (مانند مرورگر وب) ارسال می شوند. گرچه این دست از خطاها به صورت معمول مربوط به طرف کاربر می باشند ولی آگاهی از اینکه کاربر با چه کد خطای مواجه شده است نیز به جهت امکان سنجی رفع آن از طریق ایجاد تغییرات در تنظیمات سرور, مفید واقع خواهد شد. خطای های سمت سرور یا کدهای وضعیت ۵۰۰ تا ۵۹۹ نیز زمانی نمایش داده می شوند که مشکلی در تنظیمات وب سرور وجود داشته و یا وب سرور توانایی انجام درخواست مربوطه را ندارد.

راهکارهای کلی رفع مشکلات مربوطه :

  • زمانیکه از مرورگر به جهت امتحان وب سرور استفاده می کنید, به خاطر داشته باشید که حتما بعداز ایجاد هرگونه تغییر در سرور به جهت مشاهده نتیجه, مرورگر خود را رفرش نمایید.
  • بخش لاگ موجود در سرور خود را برای بدست آوردن اطلاعات بیشتر در رابطه با نحوه مواجه شدن سرور با درخواست های مربوطه بررسی نمایید. به طور مثال وب سرورهایی مانند Apache و Nginx لاگ فایل های مرتبط را در دو فایل به نام های log و error.log ایجاد می نمایند لذا با بررسی کامل این دو فایل اطلاعات جامع و مناسبی کسب خواهد شد.
  • به خاطر داشته باشید که تعاریف کدهای وضعیت HTTP بخشی از استانداردی هستند که توسط نرم افزارهای مرتبط سمت سرور پیاده سازی شده اند. بنابراین کدهای وضعیتی که به نمایش در می آیند به چگونگی برخورد (مواجهه) نرم افزار مرتبط در سمت سرور با خطای مربوطه بستگی خواهد داشت.

۴۰۰ Bad Request: این کد خطا نشان دهنده این مورد است که درخواست HTTP ارسال شده به سرور دارای syntax صحیحی نمی باشد.

در ذیل به برخی از شرایطی که ممکن است باعث بروز این خطا شود اشاره می شود :

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

۴۰۱ Unauthorized: این خطا زمانی رخ می دهد که کاربری بدون آگاهی از اطلاعات لاگین (نام کاربری و رمز عبور مربوطه) بخواهد به منبع یا صفحه ای که توسط HTTP Authentication محافظت شده دسترسی داشته باشد.

۴۰۳ Forbidden: به این معنی است که درخواست معتبر و بدون وجود مشکل بوده (مثلا syntax درخواست صحیح است) ولی سرور درخواست را به دلیل اینکه کاربر دسترسی های لازم به جهت استفاده از منابع مربوطه ندارد, رد می کند.
در ذیل برخی از دلایل اصلی مواجه با این خطا اعلام می گردد :

عدم ارائه دسترسی صحیح به فایل : باید بررسی کرد که worker process این وب سایت در سرور به چه کاربری اختصاص داده است و سپس دسترسی لازم (خواندن, نوشتن و یا هردو) به فایل و یا فلدر مربوطه به کاربری مرتبط ارائه گردد.

وجود فایل .htaccess با تنظیمات نادرست : از فایل .htaccess می توان به جهت ایجاد محدودیت های دسترسی به منابع خاص استفاده نمود لذا بررسی وجود این فایل و اطمینان از عدم ایجاد محدودیت دسترسی نادرست در رفع این مشکل مفید می باشد.

عدم وجود صفحه پیش فرض : در صورتیکه صفحه ی پیش فرض وجود نداشته یا تعریف نشده باشد و قابلیت Directory Browsing نیز فعال نباشد, وب سرور خطای مربوطه را نمایش خواهد داد لذا در این شرایط برای رفع این مشکل می باید صفحه پیش فرض تعریف نموده و یا قابلیت Directory Browsing فعال گردد.

۴۰۴ Not Found: در این مورد کاربر قادر به برقرار ارتباط با سرور می باشد ولی صفحه مورد درخواست در مسیر مربوطه در سرور موجود نمی باشد. شرایط متفاوتی برای نمایش این خطا وجود دارد که در مواجهه با آن می توان موارد ذیل را دنبال نمود :

  • ممکن است لینک ثبت شده در آیکونی که کاربر برروی آن کلیک نموده است دارای خطای تایپی باشد.
  • احتمال دارد کاربر URL مورد نظر خود را به اشتباه وارد کرده باشد.
  • در صورتیکه قبلا صفحه درخواستی در سرور موجود بوده و هم اکنون جابجا و یا حذف شده باشد و یا در مسیر صحیحی در سرور قرار نگرفته باشد, بروز این خطا محتمل خواهد بود.
  • ممکن است دایرکتوری پیش فرض سایت مربوطه در سرور به درستی تنظیم نشده باشد.
  • امکان دارد دسترسی Read و Execute به کاربری مرتبط با worker process سایت مربوطه اعطاء نشده باشد.
  • در صورتیکه آدرس صفحه یا منبع مربوطه شامل لینک نمادین (symbolic link) می باشد باید تنظیمات لازم در وب سرور جهت پشتیبانی از آن صورت پذیرد.

۵۰۰ Internal Server Error: به این معنی است که سرور مربوطه یک Gateway یا Proxy سرور است که با توجه به درخواستی که برای آن ارسال شده و تنظیمات ست شده برروی آن, امکان دریافت پاسخ معتبر از سرور پشتی (سرور backend – که مسئول اصلی پاسخگویی به درخواست ارسال شده است) را ندارد. در این شرایط می توان موارد ذیل را بررسی نمود :

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

۵۰۳ Service Unavailable: این خطا بدین معنی است که سرور دارای بار زیادی بوده (به اصطلاح overload شده) و یا در حال تعمیر (maintenance) می باشد. در صورتیکه سرور درحال تعمیر نباشد, دلیل بروز این خطا کمبود میزان منابع CPU و یا RAM و یا عدم ارائه مجوز استفاده بیشتر از process و threads ها به کاربران در سرور به جهت انجام پروسه های درخواستی می باشد.

۵۰۴ Gateway Timeout: به این معنی است که سرور مربوطه یک Gateway یا Proxy سرور است که درخواست مربوطه را (با توجه به تنظیمات انجام شده ) به سرور پشتی مورد نظر ارسال نموده ولی سرور backend در بیشنه زمانی تعیین شده پاسخی نداده است. این مشکل معمولاً در یکی از شرایط ذیل به وقوع می پیوندد :

  • ارتباط شبکه بین دو سرور ضعیف و کند است.
  • سرور پشتی به دلیل عمکرد پایین بسیار کند است.
  • زمان timeout تعریف شده در سرور پشتی بسیار کوتاه است.

سئو (SEO)

عبارت سئو یا Seo مخفف Search Engine Optimization به معنی بهینه سازی موتور جستجو و در اصطلاح به معنی بهینه سازی وب سایت برای موتورهای جستجو می باشد. به طور دقیق تر سئو (Seo) به مجموعه عملیات برای یک وب سایت گفته می شود , که بتوان بوسیله ی آنها رتبه ی نمایش سایت را در موتور های جستجو (مانند گوگل , یاهو و …) ارتقاء داد تا لینک های سایت را در جستجو های آنها در صفحات و سطر های بالاتر نمایش دهند.

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

بطور کلی اهداف سئو را می توان بصورت زیر خلاصه نمود:

  • در بازدید وب سایت تاثیر بسزایی دارد.
  • باعث ایجاد برند می شود.
  • باعث افزایش ترافیک سایت خواهد شد.
  • باعث شده وب سایت در صفحه نتایج موتور جستجو از رتبه بهتری برخوردار شد.
  • باعث افزایش فروش محصولات خواهد شد.
  • بهترین ابزار برای تبلیغات است.

سئو درون صفحه (On Page SEO): سئو درون صفحه به کنترل مستقیم کدها و یا محتویات وب سایت شما اعم از متن, تصویر, پیوند و … مرتبط می‌شود؛ به طور کلی هر چیزی که در سایت خود بارگذاری می‌کنید مربوط به SEO On Page می‌شود. این روش پایه تمام تلاش‌های بهینه‌سازی است زیرا جایی است که شما بیشترین کنترل را روی آن دارید. هر گونه تغییری را که شما در محتویات سایت خود ایجاد می‌نمایید در نتایج جستجو تاثیر گذار خواهد بود بنابراین خیلی مهم است که روش SEO On Page بدرستی قبل از روش SEO Off Page انجام شود.

سئو بیرون صفحه (Off Page SEO: بر خلاف روش SEO On Page که توسعه وب سایت با کنترل مستقیم بالایی انجام می‌شد, روش بهینه سازی بیرون صفحه شامل تمام ارتقاهایی است که در خارج از وب سایت شما انجام می‌شود؛ این شامل تمام چیزهایی است که می‌تواند در بدست آوردن رتبه‌بندی بالای سایت شما کمک کند. SEO Off Page در درجه اول در بدست آوردن پیوند دهندگان (پیوندهایی که از سایت‌های دیگر به سایت شما اشاره می‌کنند) متمرکز می‌شود سپس با استفاده از روش‌هایی که در خارج از وب سایت انجام می‌شود به بهینه‌سازی موتور جستجو می‌پردازد.

SEO Off Page یک فرآیند نامحدود است که توسط مهندسین سئو در جهت بدست آوردن پیوند دهندگان, اداره می‌شود.

سئو کلاه – سفید (White Hat): در اصطلاحات فنی این حوزه, سئو کلاه – سفید به مجموعه تکنیک‌ها, روش‌ها و استراتژی‌های که از قوانین و راهنمایی‌های موتورهای جستجو تبعیت می‌کنند, اشاره دارد. که این به معنی فریب یا دستکاری موتور‌های جستجو و یا کاربران به هیچ وجه نیست. این همچنین به سئو اخلاقی نیز یاد می‌شود زیرا دلیل آن این است که یا اجرای بلند مدت داشته و یا از دستورالعمل‌ها و سیاست‌های صحیح جهت بدست آوردن رتبه‌های بالا در نتایج موتور‌های جستجو استفاده می‌کند.

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

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

استراتژهای بهینه سازی برای توسعه وب سایت را بصورت زیر معرفی می شود:

  • بهبود ساختار سایت
  • استراتژی کلمات کلیدی
  • استراتژی URL
  • بهینه سازی کد
  • پردازش کردن متن
  • بهینه سازی لینک های ورودی
  • استراتژی نام دامنه و هاست

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

تکنیک هایی که در این تحقیق برای بهینه سازی عنوان شده است عبارتند از:

  • افزایش لینک های خارجی
  • تغییر اسم فایل ها
  • لینک یک طرفه
  • کلمات کلیدی
  • استفاده از Meta Tag
  • استفاده صحیح از عنوان
  • استفاده از robots.txt
  • بهینه سازی محتوا

 

پروتکل SMTP

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

SMTP مهمترین پروتکل انتقال پست الکترونیکی می باشد. پروتکل SMTP مخفف SIMPLE MAIL TRANSFER PROTOCOL  بوده که از این پروتکل برای ارسال پیام‌های الکترونیکیE-mail استفاده می‌شود و معمولا SMTP برای ارسال ایمیل از پورت ۲۵ استفاده می کند. پروتکل smtp به دلیل محدودیت‌هایی در نگهداری نامه‌ها, معمولا با پروتکل‌های POP3 یا (post office protocol3) یا internet message access protocol) IMAP) استفاده می‌شود که برای کاربران امکان ذخیره نامه‌ها را روی یک سرور یا دانلود آنها را از سرور فراهم می‌کند. در حقیقت می‌توان گفت, SMTP برای ارسال نامه‌ها و POP3 یا IMAP برای دریافت نامه‌ها به کار می‌روند. به عبارت ساده‌تر, سرور SMTP, مانند وب سرور یک رایانه است که مانند مسیریاب عمل می‌کند. هنگامی که پیام‌های پست الکترونیکی از کاربران را دریافت می‌کند آنها را به گیرندگان مورد نظر می‌فرستند. SMTP فقط به نام کاربری و دامنه نیاز دارد تا مستقیم پیغام را به سمت گیرنده مسیریابی کند و به طور پیشفرض بر روی پورت ۲۵ قرار دارد. البته مدیران سرور برای افزایش امنیت می توانند پورت آن را تغییر دهند.

SMTP یکی رایج ترین پروتکل های جهت انتقال ایمیل می باشد و نسخه پیشرفته آن (ESMTP) که در فضای اینترنت از آن برای ارسال ایمیل ارسال می شود و در برخی از وب سایتها به رایگان از آن می توان استفاده کرد. SMTPs که توسط SSL امن شده است و تمام اطلاعات شما را به صورت کد شده ارسال می کند سرور SMTP مانند وب سرور است که ایمیل های فرستنده را به گیرنده منتقل می کند و اغلب پیام ها از سرور های مختلفی عبور می کنند تا بدست گیرنده برسد. برای ارسال و دریافت ایمیل باید از نرم افزارهای مخصوص به اینکار استفاده کرد برخی از این نرم افزارها عباتند از Outlook , Mozilla Thunderbird و… که با استفاده از این نرم افزار ها و با وارد کردن اطلاعات ایمیل می توان به سرویس مورد نطر دسترسی داشت.

پروتکل IMAP و POP3

IMAP و POP3 دو پروتکل متفاوت به منظور دسترسی و دریافت به ایمیل هستند. از بین این دو , IMAP گزینه ای بهتر و توصیه شده ای است زمانی که شما می خواهید ایمیل های خود را به وسیله ی چندین دستگاه مختلف بررسی نمایید. IMAP با تمام این دستگاه ها Sync می شود.

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

پروتکل POP3 – Post Office Protocol

پروتکل استاندارد لایه کاربردی اینترنت است که به منظور دریافت ایمیل از سرور , برروی ارتباطات TCP/IP می باشد . پروتکل POP به ورژن های مختلفی توسعه داده شده است . ورژن ۳ آن که به POP3 مشهور است , آخرین استانداردی است که به طور عمومی استفاده می شود . در این پروتکل ها , ایمیل ها از روی inbox سرور بر روی کامپیوتر شما دانلود می شود و ایمیل ها در زمانی که شما ارتباطی ندارید نیز در دسترس خواهند بود. پروتکل POP3 از پورت ۱۱۰ استفاده می کند  و درخواست ارتباط رمزنگاری شده ای که برای POP3 بعد از شروع فرآیند پروتکل داده می شود , از کامند STLS و یا POP3S که با استفاده از TLS و یا SSL برروی پورت ۹۹۵ TCP به سرور متصل می شوند, داده می شود.

  • تنها از یک کامپیوتر برای چک کردن ایمیل های خود می توانید استفاده نمایید.
  • ایمیل های شما بر روی کامیپوتری که از آن استفاده می کنید ذخیره می شوند.
  • ایمیل های ارسالی به صورت local برروی کامپیوتر ذخیره می شوند و برروی سرور ذخیره نمی گردند.

پروتکل IMAP – Internet Massaging Access Protocol

پروتکل IMAP یا همان پروتکل دسترسی به پیام های اینترنتی , پروتکل استاندارد ایمیل است که ایمیل ها را توسط ارتباطات TCP/IP برروی میل سرور (mail server) ذخیره یا دریافت می کند و این امکان را به کاربر می دهد تا آن ها را مشاهده و یا دستکاری نماید , با اینکه این پیام ها به صورت local نیز برروی کامپیوتر کاربر ذخیره می گردد . که به کاربران این امکان را می دهد تا پیام ها را در قالب فولدر ها ( پوشه ها ) سازماندهی نمایند و حالت های مختلفی که یک پیام دارد , از قبیل خوانده شده , ضروری , در حال ارسال و … را مشاهده و بررسی نمایند . IMAP از پورت ۱۴۳ بهره می برد و برروی SSL , (IMAPS) پورت ۹۹۳ به آن اختصاص داده می شود.

  • می توانید از چندین دستگاه یا کامپیوتر برای چک کردن ایمیل ها استفاده نمایید .
  • ایمیل های شما برروی سرور ذخیره می شوند .
  • ایمیل های ارسالی برروی سرور ذخیره می شوند به همین دلیل شما می توانید آن ها را از هر دستگاهی مشاهده نمایید .

به عنوان مقایسه ای دیگر :

  • پروتکل POP3 , پروتکلی بسیار ساده تر است که عملیات را راحت تر می کند.
  • ایمیل های POP3 پیام ها را از سرور به کامپیوتر هدایت می کند , اگرچه گزینه ای نیز وجود دارد تا یک نسخه از آن را در سرور نگه داری نماید .
  • IMAP به صورت پیش فرض یک نسخه از پیام برروی میل سرور قرار می دهد و یک کپی از آن دانلود می کند .
  • POP3 , میل باکس را به صورت یک فروشگاه در نظر میگیرد و مفهومی به نام فولدر ندارد .

تنها نقطه مشترک این دو پروتکل این است که هر دو به کاربران اجازه دسترسی به ایمیل ها از طریق ریموت (اتصال) به سرور را می دهند. بعد از این بررسی , ممکن است به این نتیجه برسید که پروتکل IMAP  پروتکل بهتری است , با اینکه این ادعا را نمی توان صد در صد رد کرد, اما از پروتکل POP3 نیز به سادگی نمی توان عبور کرد.

در کنترل پنل های هاستینگ, از جمله cPanel که شرکت ورلدباس از ان استفاده می نماید از این پرتکل ها به ترکیب استفاده میشود تا کاربران بتوانند خود انتخاب کنند از چه پرتکلی می خواهند استفاده کنند.

بررسی زبان PHP و ASP.NET

PHP مخفف PHypertext Preprocessor یک زبان قدرتمند ( Cross-Platform , Html embeded ) برای ساخت وب سایت های پویا و داینامیک است .
منظور از Cross-Platform بودن این زبان این است که بروی هر سیستم و با هر سیستم عاملی از قبیل Unix, Windows NT, Macintosh, Os/2 اجرا میشوند. توجه کنید که منظور از سیستم عامل, سیستم عامل هایی می باشند که بر روی سرویس دهنده نصب می شوند. پایگاه داده هایی که جهت ذخیره سازی و بازیابی اطلاعات در زبان php استفاده می شود , MySql , Oracle , Sybase , Solid , PostgreSQL , Generic ODBC است که معروف ترین و پرکاربردترین انها MySql است. فایل های php می توانند حاوی متن , تگ های HTML و اسکریپت ها باشند , کاربر در هنگام اجرای اسکریپت نمی تواند کدهای php را مشاهده کند و تنها تگ های HTML را مشاهده می کند , بدین معنی که کدهای php روی سرور تفسیر میشوند و خروجی html و یا خروجی های دیگری تولید میکند که توسط کاربر قابل مشاهده است.

ASP.NET نسل بعدی Active Server Pages یا ASP است که توسط شرکت میکروسافت ارائه شده است. این محصول توسط میکروسافت بعنوان شاخص اصلی فناوری در ساخت سایتهای وب در نظر گرفته شده است. مبتنی بر زبانهای مشترک در حال اجرا است که به برنامه نویسان اجازه می‌دهد کدهای ASP را با استفاده از هر زبان Framework.NET بنویسند. شما در ASP.NET می توانید از هر زبان برنامه نویسی که با بدنه NET. سازگار باشد استفاده کنید. این زبانها عبارتند از Visual Basic.NET و #C و JScript.NET . این بدین معنی است که شما جهت نوشتن برنامه در ASP.NET نیاز به فراگیری زبان جدیدی ندارید و اگر یکی از زبانهای ویژوال بیسیک یا ++C یا جاوا را می دانید هم اکنون می توانید در ASP.NET برنامه بنویسید.از طرف دیگر تعدادی زبانهای دیگر توسط بعضی از شرکتهای فعال در این زمینه به مجموعه زبانهای استاندارد ASP.NET افزوده شده است. بعنوان مثال اگر مایل باشید حتی می توانید از PERL و COBOL هم در ASP.NET استفاده کنید.

در زیر به مقایسه این زبان برنامه نویسی خواهیم پرداخت :

قیمت: در زمینه ی قیمت همانطور که می دانید PHP به صورت متن باز یا Open Source بوده است ولی ASP.NET یک سرویس مبتنی بر ویندوز بوده که محصول شرکت مایکروسافت می باشد. در نتیجه از نظر قیمت خود سرویس ها زبان PHP به صرفه تر خواهد بود. اما در زمینه ی قیمت وب هاستینگ این محصول ها که PHP بر روی هاست لینوکس بیشتر استفاده شده و ASP.NET بر روی هاست های ویندوزی میزبانی می گردد, باید گفت که با اینکه در گذشته هاست های ویندوزی گران تر از لینوکسی ها بودند اما امروزه دیگر این مورد بر طرف گردیده و قیمت های هاست ویندوز و لینوکس بسیار به یکدیگر نزدیک می باشند و تفاوتی در این زمینه وجود ندارد.

کارایی: از نظر کارایی هر دو این زبان ها بسیار قدرتمند می باشند و از کتابخانه های بسیار جامعی استفاده می کنند در نتیجه برای توسعه دهندگان حرفه ای هر دو سیستم امکان هر نوع برنامه نویسی برای هر نوع سرویس کوچک یا بزرگی وجود دارد که برای مثال WordPress با PHP نوشته شده است و MySpace به کمک زبان های سرویس ASP.NET ایجاد گشته است که توانایی هر دو زبان را اثبات می کند. که البته نحوه ی برنامه نویسی و راحتی کار در این مقایسه مد نظر نبوده بلکه امکان برنامه نویسی مورد نظر می باشد که در هر دو مورد امکان پذیر می باشد.

پشتیبانی: در حوضه ی پشتیبانی همانطور که مشخص است برای ASP.NET مجموعه توسعه دهندگان شرکت مایکروسافت وظیفه ی پشتیبانی را به عهده دارند که بسیار قدرتمند و کارآزموده خواهند بود و اما برای PHP نیز به این دلیل که Open Source می باشد هر کدام از توسعه دهندگان و شرکت های ارایه دهنده خدمات پشتیبانی و کاربران حرفه ای و برنامه نویسان در فروم ها می توانند عملیات پشتیبانی و پاسخ به سوالات را به عهده گیرند که قطعا در هر زمینه ی ای که مشکل وجود داشته باشد افرادی برای راهنمایی و رفع مشکل وجود خواهند داشت.

بازدهی: در زمینه بازدهی در متن های قبلی به مقدار زیادی بحث کردیم اما در مجموع می توان گفت که در شرایط کلی هر کدام از این سرویس ها بر روی خانواده ی مورد استفادهی خود بسیار توانمند و پر بازده می باشند. یعنی PHP در کنار لینوکس و MYSQL توانمند بوده و بازدهی خوبی دارد و همچنین ASP.NET نیز در سیستم عامل ویندوز و در کنار دیتابیس Microsoft SQL Server دارای بازدهی خوبی می باشد. که قطع پا توسعه دهندگان هر دسته دلایل ویژه خود را برای بازدهی بهتر در زمینه های خاص خواهند داشت, که در صورت تمایل مقالات قبلی را برای بررسی ویژه تر مطالعه فرمایید.

ابزارها و نرم افزارها: در زمینه نرم افزار برخی از توسعه دهندگان PHP برای کد نویسی از نرم افزار های ساده ی مثل Notepad++ استفاده می کنند که بسیار ساده بوده تنها مناسب کارهای کوچک می باشد و همچنین برای موارد حرفه ای تر نیز گزینه ی Eclipse موجود می باشد که همانند خود PHP رایگان است. و اما برای کاربران PHP نیز نرم افزار بسیار قدرتمند VS یا Visual Studio موجود می باشد که دارای یک نسخه VS Express رایگان می باشد که برای کاربری های ساده تر بوده و همچنین خود نسخه اصلی نیز که غیر رایگان می باشد برای کاربری های حرفه ای تر استفاده می گردد. البته توجه داشته باشید که هیچ ادیتور با نرم افزاری برای کد نویسی در PHP قابل مقایسه با نسخه پولی VS یا همان Visual Studio نمی باشد و این نرم افزار بسیار کامل تر و قدرتمند تر از تمام ادیتور های موجود در بازار است.

یادگیری: برای یادگیری این زبان ها باید توجه داشته باشید که بری کد نویسی ASP.NET باید یکی از زبان های مجموعه ی .NET را بیاموزید که بیشترین میزان استفاده کاربران از #C می باشد و PHP که خود زبان برنامه نویسی می باشد. که در واقع به دلیل نوع زبان ها یادگیری PHP به مراتب ساده تر و آسان تر و سریع تر از یادگیری زبان C# خواهد بود. که البته این فاکتور برای افرادی که با زبان #C آشنایی دارند به حساب نخواهد آمد.

تعداد کاربران: اگر تنها در زمینه ی وب بررسی کنیم تعداد کاربران PHP قطعا بیشتر خواهد بود که می تواند به دلیل رایگان بودن و یا راحتی در یادگیری آن باشد ولی همانطور که در متن های قبلی نیز گفته شد , در حوضه ی غیر وب زبان های مورد استفاده ASP.NET که به C# اشاره شد بسیار پر کاربر تر و مشهور تر می باشند.

سرور و انواع مختلف آن (Servers)

سرور (Server), کامپیوتری است که به صورت دائم و شبانه روزی به اینترنت با سرعت بسیار بالا متصل است. سرورها معمولا در محلی به نام دیتاسنتر نگهداری می شوند و ممکن است صدها و یا هزاران سرور در یک دیتاسنتر کنار یکدیگر قرار بگیرند. هر سرور همانند یک کامپیوتر خانگی دارای مادربرد, CPU, هارد دیسک, رم و .. می باشد اما به دلایل مختلف مانند حجم پردازش بالا, درخواست های بسیار بالا در هر لحظه, روشن بودن بی وقفه در تمام مدت سال و … معمولا قطعات آن بسیار قویتر و با کیفیت تر از کامپیوترهای خانگی می باشند و به همین دلیل قیمت یک Server چندین برابر قیمت یک کامپیوتر خانگی می باشد.

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

فایل سرور (File Server):
این نوع سرور یکی از پایه ای ترین انواع سرور و یا ساده ترین نوع آن ها می باشد, که در واقع همان طور که از نام آن مشخص است برای اشتراک فایل استفاده می گردد, به صورتی که فایل های مورد نیاز یک مجموعه شبکه بر روی سرور قرار می گیرد و یوسر های مختلف از کامپیوتر های مختلف می توانند به فایل ها دسترسی داشته باشند که امکان محدود کردن دسترسی ها برای هر یوسر به صورت ویژه نیز وجود دارد.

دیتابیس سرور (Database Server):
این نوع سرور بیشتر در سازمان ها و شرکت ها مورد استفاده قرار می گیرد که کاربری آن به این صورت است که Database مورد استفاده ی یک نرم افزار یا سرویس که توسط کاربران بر روی کامپیوتر های آن ها مورد استفاده قرار می گیرد بر روی سرور قرار می گیرد و تمام کاربران و کامپیوتر های متصل از یک دیتابیس مشترک که بر روی سرور می باشد استفاده می کنند و اطلاعات نیز به صورت یکپارچه و متمرکز ذخیره سازی و پردازش می گردد.

سرور کاربرد (Application Server):
مشابه همان مورد Database Server است, با توجه بر این نکته که در مواردی دیتابیس بر روی سرور بوده اما نرم افزار مورد استفاده بر روی کامپیوتر هر کاربر به صورت جداگانه نصب شده است. اما در نوع Application Server نرم افزار نیز تنها بر روی سرور نصب می گردد و کاربران از روی کامپیوتر های خود می توانند به نرم افزار دسترسی داشته باشند, که مشخص است در این صورت دیتابیس نیز بروی سرور قرار خواهد داشتو به عبارتی Database Server نیز می باشد.

سرور بازی (Game Server):
این نوع از سرور در واقع گونه ای از Application Server می باشد با این تفاوت که کاربری آن تنها برای بازی می باشد. به این شیوه که بازی بر روی سرور نصب و میزبانی می گردد و افراد و کاربران متصل به آن شبکه می توانند با برقراری ارتباط با سرور بر روی کامپیوتر خود از بازی استفاده کنند, که استفاده آن در واقع برای بازی هایی می باشد که به صورت گروهی یا به عبارتی Multiplayer هستند.

پرینتر سرور (Print Server):
هنگامی که در یک نوع از شبکه پرینتر های موجود در مجموعه شبکه به یکدیگر متصل شده و از طریق یک سرور کنترل می گردند و کاربران می توانند با اتصال به سرور به پرینتر مورد نظر خود دسترسی داشته باشند, به این نوع از خدمات سرور Print Server میگویند, که Fax Server نیز نوعی مشابه بوده که تفاوت آن ارتباط بیت دستگاه های فکس بجای پرینتر می باشد.

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

سرور ارتباطات (Communication Server):
این سرور برای فراهم آوردن سرویس های ارتباطی راه اندازی می گردد که هر یوسر و یا کامپیوتر به عنوان یک end point می توانند با اتصال به سروری که برای این منظور راه اندازی شده است با دیگر کاربران در ارتباط باشد و متن ها موارد مورد نیاز را به کاربر یا end point مقابل خود ارسال کند, که میزان دسترسی ها و ارتباطات هر فرد با افراد دیگر نیز توسط سرویس های امنیتی کنترل می گردد.

سرور محاسبات (Computing Server):
این سرور برای انجام پردازش و محاسبه استفاده می گردد, به این صورت که در زمانی که پردازنده های یک کامپیوتر برای پروسه یا کاربری خاصی کافی نمی باشند, می توان با اتصال این کامپیوتر به یک سرور دیگر از پردازنده های سرور نیز در کنار پردازنده های کامپیوتر کاربر استفاده نمود.

وب سرور (Web Server):
این نوع سرور مخصوص میزبانی وب سایت ها می باشد و با استفاده از سرویس های خاص ارتباط بین آدرس ها و کاربران شبکه های اینترنت را با صفحه ی وبی که بر روی آن سرور میزبانی می گردد فراهم می نماید. که کاربرد آن به طور ویژه در حوضه ی وب هاستینگ و راه اندازی سایت های می باشد.

ایمیل سرور (Mail Server):
این سرور همانطور که نام آن مشخص است برای کاربری ارسال ایمیل استفاده می گردد, به این صورت که بر روی سرور یک سرویس ارسال ایمیل یا Web Mail قرار می گیرد و خدمات و تراکنش های ارسال ایمیل از طریق آن سرور انجام می گردد.

این سرور به عنوان یک رابط بین Server اصلی و Client قرار می گیرد و اطلاعات را از طرفین گرفته و پس از بررسی به گیرنده ارسال می نماید و در برخی موارد کاربری Tunnel را داشته و مانند خدمات VPN شخصی استفاده می گردد. در نتیجه در واقع یک سرور در مسیر سرور اصلی می باشد که اطلاعات را دریافت کرده و سپس بررسی و به مقصد مورد نظر انتقال می دهد.

نکات امنیت در سایت

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

ابتدا اشاره به این موضوع الزامی به نظر می رسد که امنیت وبسایت و اطلاعات شما کاربر عزیز به دو بخش امنیت سرور و امنیت سیستم مدیریت محتوا تفکیک می گردد. بخش مربوط به امنیت سرورهای اشتراکی ورلدباس توسط کارشناسان فنی شرکت و شرکت های مطرح جهانی مطابق با استانداردها انجام شده است, از جمله موارد امنیتی که روی سرورهای ما وجود دارد, استفاده از آنتی ویروس ClamAV, استفاده از برنامه CXS جهت جلوگیری از موارد مخرب به صورت لحظه ای, استفاده از CloudLinux برای بروز رسانی دائمی و حفاظت از سیستم عامل, استفاده از فایروال نرم افزاری و سخت افزاری جهت جلوگیری از حملات اینترنتی, استفاده از سرور بک آپ جداگانه و بسیاری تنظیمات داخلی سرویس ها که همگی توسط شرکت ورلدباس مطابق با استادارد جهانی صورت گرفته است. اما مبحث امنیت اطلاعات مربوط به سیستم مدیریت محتوا بر عهده شما کاربر عزیز و تیم طراحی سایت شما می باشد که از شما درخواست می گردد به منظور تأمین امنیت این بخش همواره از امنیت و به روز بودن وب سایت خود اطمینان حاصل فرمایید و در غیر اینصورت مشکلات امنیتی احتمالی ناشی از عدم رعایت اصول امنیتی طراحی سایت و… بر عهده شما می باشد. در نتیجه لطفاً در اسرع وقت با کارشناسان مدیریت و طراحی سایت خود ارتباط برقرار نموده تا همواره امور پیشنهادی زیر در وبسایت شما رعایت گردد:

  • به روز رسانی سیستم مدیریت محتوا (جوملا, وردپرس, پرستاشاپ, Vbulletin, و…) به آخرین نسخه منتشرشده
  • به روز رسانی پلاگین ها, ماژول ها و کامپوننت های استفاده شده در وبسایت
  • نصب و تنظیم پلاگین های امنیتی ارائه شده توسط سیستم مدیریت محتوا به منظور افزایش امنیت وب سایت
  • قرار دادن کد Captcha در بخش ها و صفحاتی مانند (نظرسنجی, تماس با ما و…) که اطلاعاتی از کاربران گرفته می شود
  • تغییر نام کاربری و رمز عبور دیتابیس مورد استفاده توسط سیستم مدیریت محتوا در بازه های زمانی مشخص و ویرایش اطلاعات به دسترسی جدید در فایل تنظیماتی سیستم مدیریت محتوا ( فایل wp-config.php در وردپرس و فایل configuration.php در جوملا و…)
  • تغییر رمز عبور مدیریت وبسایت و سایر اکانت های بخش مدیریت وبسایت به رمزهای با سطح امنیت بالا به صورت دوره ای
  • بررسی ایمیل های دریافتی وب سایت و اطمینان از عدم دانلود و یا نگهداری محتویات مشکوک و…
  • پرهیز از استفاده از هرگونه قالب های آماده, کرک شده و… که ممکن است دارای مشکلات امنیتی و… باشند
  • پرهیز از نصب اسکریپت های نامعتبر و… که از مراجع ناشناخته و نامعتبر ارائه می گردند
  • بازبینی تمام اطلاعات اکانت هاست اشتراکی خود توسط ابزار Virus Scanner در کنترل پنل هاست و پاکسازی محتویات آسیب دیده و یا مشکوک
    و…

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

مقایسه پردازنده های دسکتاپ و Xeon

یکی از مسائلی که در خرید یک سیستم کامپیوتری یا سرورهای خوب بسیار موثر است بحث انتخاب CPU است . امروزه دیگر CPU ای را پیدا نمی کنید که دارای چند هسته یا Core داخلی نباشد. کامپیوتر های شخصی و دسکتاپ از پردازنده های اینتل بهره می برند و موسوم به Core i (مانند Core i5, Core i7) هستند و در سرور های با پردازش بالا از سری پردازنده های زئون اینتل (Xeon) استفاده می شود اما این دو پردازنده از لحاظ سرعت پردازش و سرعت تفاوت های زیادی دارند و می خواهیم امروز به آن بپردازیم در کل پردازنده های Xeon با هدف پردازش در سرور ها و ایستگاه های کاری طراحی و ساخته شدند و از خیلی جهات با پردازنده های دسکتاپ,مانند Core i7 متفاوت هستند.

پردازنده های intel xeon (زئون) , سری  از پردازندهای با معماری x86 ,ساخت کمپانی intel  می باشد. مزایای اولیه پردازنده های Xeon  در مقایسه با سری desktop  (رومیزی) , قابلیت multi socket  (چندپردازنده ای) تعداد هسته های بالاتر و پشتیبانی از حافظه های ECC  می باشد.

پردازنده های Xeon نسبت به بازدهی و کارایی که دارند, دمای کمتری دارند و به دلیل کاربرد در سرور ها و دیتا سنتر ها, از پایداری بیشتری برخوردارند و در شرایط مساوی, درصد بسیار کمتری از هنگ و کرش (Crash) سیستم, در سیستم هایی دیده می شود که از پردازنده های Xeon بهره برده اند که خود این مورد هم دلایل فنی و تکنولوژی هایی هست که در این سری پردازنده ها از آن ها استفاده شده است.

از لحاظ معماری, پردازنده های سرور ۹۹% مشابه معماری پردازنده های دسکتاپ می باشد. مثلا زمانی که معماری Sandy Bridge ارائه شد (نوعی معماری پردازنده های اینتل که در سال ۲۰۰۵ از آن رونمایی و در محصولات بعدی این شرکت از آن استفاده شد.), پردازنده های زئون و مثلا سری Core i 2xxx دقیقا از همان معماری سندی بریج (Sandy Bridge) استفاده کردند. اما نقطه تفاوت در یک سری تکنولوژی های اضافی هستکه در ادامه به چند مورد اصلی آن ها اشاره میکنم.

  • پردازنده های Xeon از (QPI (The Intel QuickPath Interconnect دوم برای بکارگیری در مادربرد های دارای دو سوکت پردازنده (Dual Socket) بهره می برند.
  • پردازنده های Xeon از تکنولوژی Intel Direct IO و Integrated IO پشتیبانی می کند اما سری Core i و دسکتاپ خیر(این تکنولوژی باعث افزایش بازدهی پردازنده می شود)
  • پردازنده های Xeon تا چند برابر بیشتر از حافظه Cache نسبت به پردازنده های معمولی و پیشرفته Desktop پشتیبانی می کنند.
  • پردازنده های Xeon از ECC Memory و یا سیستم تصحیح خطا در پردازش حافظه پشتیبانی می کنند.
  • پردازنده های Xeon کنونی تا حدود ۷۶۸ گیگابایت از حافظه رم پشتیبانی می کنند اما پردازنده های دسکتاپ نهایتا تا ۶۴ گیگابایت.
  • پردازنده های Xeon از تعداد بیشتر کانال نصب حافظه (Memory Slots) نسبت به پردازنده های دسکتاپ پشتیبانی می کنند.

و خیلی از موارد دیگر مثل مجموعه دستورات پردازشی اختصاصی و یا تعداد بیشتر رجیسترها در هسته های پردازشی و… که در نهایت باعث می شود تمامی سرورها و ایستگاه های کاری (Work Stations) و دیتاسنترهای معتبر و البته ابر کامپیوترهای دنیا, از پردازنده های Xeon استفاده کنند.

مقایسه جامع هارد های SSD با HDD

با پیشرفت روز افزون تکنولوژی تمام قطعات کامپیوتر نیز پیشرفت کرده اند و روز به روز سریعتر و کوچک تر می شوند. در این مطلب قصد داریم شما را با تفاوت ها و مزیا و معایب هارد دیسک SSD و HDD اشنا سازیم.

HDD مخفف عبارت Hard Disk Drive به معنای “دیسک درایو سخت” است. هارد دیسکها یک صفحه گرد سخت (بشقاب) دارند که قادر است میدان مغناطیسی را نگه دارد, بر خلاف لایه پلاستیکی انعطاف پذیری که در فلاپیها و کاستها دیده می شود. در ساده ترین حالت یک هارد دیسک هیچ تفاوتی با یک نوار کاست ندارد. هم هارد دیسک و هم نوار کاست از یک تکنیک برای ذخیره کردن اطلاعات استفاده میکنند . این دو وسیله از مزایای عمده ذخیره سازی مغناطیسی استفاده میکنند. میدان مغناطیسی براحتی پاک و دوباره نوشته می شود. این میدان براحتی می تواند الگوی شار مغناطیسیای که بر روی میدان ذخیره شده را بیاد بیاورد.

SSD وسیله ذخیره اطلاعات است. به عبارت دیگر عملکرد SSD همانند هارد دیسک کامپیوتر شماست اما سریعتر است. تفاوت اصلی SSD با هارد دیسک این است که هارد دیسک الکترومکانیکی است اما SSD الکترونیکی. یعنی هارد دیسک دارای اجزاء و قطعات متحرک است به طوری که هارد دیسک دارای صفحات مغناطیسی است که به دور محور خود میچرخند و اطلاعات بر روی آن صفحات ذخیره میشود. بنابراین مدت زمانی طول میکشد تا این دیسک ها چرخیده و در موقعیت مناسب برای خواندن یا نوشتن داده قرار گیرند. بر خلاف هارد دیسک , SSD هیچگونه قطعه متحرکی ندارد و اطلاعات رو بر روی میکروچیپ ها ذخیره میکند, مانند فلش دیسک های USB اما بسیار سریعتر. همچنین SSD ها میتوانند بلافاصله شروع به نوشتن یا خواندن اطلاعات کنند زیرا نیازی به زمان برای جابجایی قطعات متحرک نیست.

با مقایسه SSD با HDD , اولین نکته حائز اهمیت عدم استفاده از قطعات متحرک مکانیکی در تولید SSD است که برتری های زیر را برای این محصول فراهم می کند :
دسترسی فوق الاده سریع به اطلاعات :
هاردهای مغناطیسی بر خلاف SSD ها برای دسترسی به اطلاعات نیازمند بالارفتن سرعت چرخش دیسک ها و تعویض Head خواننده می باشد. SSD ها برای خواندن اطلاعات توانایی دسترسی مستقیم تصادفی به اطلاعات را دارند. در نتیجه سرعت بارگذاری سیستم عامل و دسترسی به داده ها در آنها بسیار بالاست.
مقاومت بالا در برابر لرزش و ضربه:
SSD ها ضربه و لرزش تا ۱۵۰۰G را تحمل می کنند و حتی در حین لرزش وقفه ای در عملیات شان ایجاد نمی شود ولی HDD ها نهایتا تا ۹۰۰G شوک را تحمل می کنند و به دلیل داشتن قطعات متحرک در حین لرزش ممکن است عملیات را متوقف کنند. این به معنای مقاومت ۱.۶ برابر در مقابل ضربه است که SSD ها را برای نوت بوک بسیار مناسب می نماید.
مصرف انرژی کمتر و تولید گرمای کمتر:
SSD ها ۲۰ درصد کمتر از HDD ها انرژی مصرف می کنند و مصرف باتری نوت بوک یا برق را بسیار کاهش می دهند.هارد مغناطیسی در حالت بیکاری بیش از ۴ وات و SSD کمتر از ۰.۵ وات انرژی مصرف می کنند . در حالت پر کاری این رقم در هارد مغناطیسی به ۶ و در SSD کمتر از ۲ می رسد. SSD ها گرمای کمتری نیز در حین کار تولید می کنند.
قابلیت اطمینان بالا در ذخیره سازی اطلاعات:
مقیاس اندازه گیری مقاوت ابزارهای ذخیره سازی اطلاعات MTBF مخفف Mean Time Between Failures به معنای میانگین زمان خرابی می باشد.زمان خرابی SSD ها ۱.۲ میلیون ساعت و هاردهای مغناطیسی به دلیل داشتن قطعات مکانیکی ۶۰۰ هزار ساعت تخمین زده شده است.(دو برابر HDD)
عدم تولید صدا هنگام کار کردن:
هاردهای مغناطیسی در حین کار ۲۴db صدا تولید می کنند ولی هاردهای SSD هیچ تولید صدایی در هنگام کار ندارند.
وزن کمتر:
SSD های نوت بوک یک پنجم هاردهای مغناطیسی نوت بوک ها وزن دارند.یک درایو جامد ۸۰ گرم و یک دیسک سخت ۷۵۰ گرم وزن دارد. و در عین حال حجم کمتری نیز دارند.
تحمل دما:
دمای عملیاتی هاردهای مغناطیسی نوت بوک از ۵ تا ۵۵ درجه سلسیوس و دمای عملیاتی SSD های نوت بوک از ۰ تا ۷۰ درجه سلسیوس است.

بررسی حمله DOS و DDOS

DOS مخفف “Denial Of Service” و DDOS مخفف “Distributed Denial Of Service” می باشد. در علم رایانه حمله منع سرویس یا حمله منع سرویس توزیع شده, تلاش برای خارج کردن ماشین و منابع شبکه از دسترس کاربران مجازش می باشد.اگرچه منظور از حمله DOS و انگیزه انجام آن ممکن است متفاوت باشد, اما به طور کلی شامل تلاش برای قطع موقت یا دائمی و یا تعلیق خدمات یک میزبان متصل به اینترنت است. به عبارت دیگر در این حملات مهاجم مانع از دسترسی کاربران معتبر به سرویس های وب می شود.
در DOS مهاجم به واسطه یک برنامه درخواست های متعدد به سرور هدف ارسال می کند تا بدین وسیله دسترسی به شبکه را از سرور وب سلب کند. به این سبب دیگر کاربران معتبر قادر به دسترسی به وبسایت نیستند. در این هنگام اگر شما سعی در بارگزاری وبسایت داشته باشید با پیغام خطای Network Timeout مواجه خواهید شد.

تفاوت این دو (DOS و DDOS) حمله در چیست؟
در هر دو این حملات سرور هدف از ادامه فعالیت باز می ماند اما تفاوت این دو در منبع حمله می باشد. در حمله DOS مهاجم برنامه را از یک کامپیوتر اجرا نموده, در حالی که در حمله DDOS برنامه مهاجم از چندین سیستم یا سیستم هایی که در حیطه یک شبکه گسترش یافته اند اجرا می شود. در DDOS مهاجم از کامپیوترهای دیگر نیز جهت حمله استفاده می نماید.

انواع حملات محروم‌سازی از سرویس:
روش های زیادی برای این نوع حملات وجود دارد, بنده سعی کردم تمامی نوع این حملات را برای شما جمع آوری کنم اما باز هم ممکن است روش جدیدتری وجود داشته باشد.

HTTP(s) Header
HTTP(s) Post Flood
HTTP(s) Post Request
HTTP(s) GET Flood
Ping of Death
NTP Reflection
DNS Amplification
SSL Exhaustion
TCP Flood
ICMP Flood
Application Attacks
SYN Flood
UDP Flood
Zero-Day Attacks
Smurf Attack
Botnets
RAW Flood
Tear Drop
Buffer Overflow Attack

چند نوع از این حملات را توضیح می دهیم :
Buffer Overflow Attack
حمله سر ریز بافر هنگامی رخ می دهد که میزان اطلاعات نوشته شده در بافر بیش از میزان پیش بینی شده برای آن در مموری سیستم باشد. حمله کننده می تواند دیتای کنترل کننده مسیر اجرای برنامه را بازنویسی کرده و با سرقت و در دست گرفتن کنترل برنامه کدهای برنامه دلخواه خود را به جای پروسه های سرور به اجرا در آورد.

Ping of Death Attack
در تمامی قرن بیستم این شیوه یکی از مشهورترین حملات DoS بود. اما امروزه به طور کلی بلوکه شده و جلوی آن گرفته شده است. حمله کننده به عمد یک پاکت یا بسته IP بزرگتر از ۶۵۵۳۶ بایت را که توسط پروتکل IP مجاز شناخته می شود ارسال می کرد. در این پروتکل فایل در مبدا به بسته های اطلاعاتی خرد شده و پس از ارسال به کامپیوتر مقصد, بسته های اطلاعاتی در مقصد سر هم شده و بر روی کامپیوتر مقصد فایل دوباره ساخته می شود. اما سیستم عامل مقصد از عهده سر هم کردن پاکت های اطلاعاتی با اندازه بزرگتر از استاندارد که حمله کننده به صورت عمدی ساخته و ارسال کرده بود, بر نمی آمد و قفل می کرد, ری استارت می شد یا حتی به راحتی کرش می کرد.

Smurf Attack
این حمله شیوه ای برای ایجاد یک ترافیک معنی دار و آزار دهنده بر روی شبکه کامپیوتری قربانی است. در این شیوه حمله کننده سیستم قربانی را با ارسال پیام های Ping قلابی غرق می کند.
در این روش, جانی تعداد بسیار زیادی ترافیک ICMP echo یا همان پینگ تولید می کند و آنها را از منابع ناشناس و قلابی به سمت هاست قربانی ارسال می کند. نتیجه هم تعداد فراوانی پاسخ پینگ است که باعث نابودی سیستم قربانی می شود.

Tear Drop
این حمله شامل ارسال قطعات پاکت های اطلاعاتی روی هم افتاده ای است که بزرگ تر از اندازه معمول هستند اما کاملا انباشته نشده اند. این بسته های ناقص الخلقه در سیستم عامل های مختلف به دلیل باگ های موجود در کد های دوباره سازی بسته های اطلاعاتی مرتبط با پروتکل TCP/IP, باعث کرش کردن سیستم می شوند.

SYN Attack
حمله کننده درخواست های TCP SYN جعلی برای سرور قربانی ارسال می کند. سرور تمامی منابع را به کار می گیرد تا درخواست های دریافتی پاسخ دهد. اما مشکل اینجا است که درخواست دهنده ها قلابی هستند! هر پاسخ تا تایید توسط درخواست دهنده به صورت یک اتصال نیمه باز بر روی سرور باقی می ماند. سرور در پاسخ یک بسته TCP/SYN-ACK برای درخواست دهنده ارسال می کند و منتظر پاسخ از آدرس فرستنده می ماند. به هر حال به دلیل عدم وجود فرستنده واقعی, هیچ گاه پاسخی برنمی گردد. و کم کم اتصالات نیمه باز تمام اتصالات ممکن سرور را می مکند و اشباع می کنند. پس سرور از پاسخ گویی به دیگر کاربران معمول خود باز می ماند.