افرادی که با سایتها سروکار دارند، معمولا با چالشهای زیادی روبرو میشوند. یکی از این چالشها، ارورها و خطاهایی است که ممکن است بنا به علل متفاوتی رخ دهد. حال این ارورها خود انواع مختلفی دارند و به خاطر دلایل خاصی رخ میدهند. ارور 5xx یکی از رایجترین انواع ارورها است که بهتر است طراحان سایت با آن آشنایی داشته باشند. در این مطلب به بررسی ارور 5xx پرداخته و با دلایل رخ دادن آن بیشتر آشنا میشویم.
ارور 5xx چیست؟
وقتی صحبت از خطای 5xx است، منظور کلیه خطاهایی است که با عدد 5 شروع میشوند؛ مانند خطای 500 یا 504. خطاهای 5xx جزو خطاهای سروری هستند. به این معنا که سرور دچار مشکلی شده و قادر به ارائه درخواست و سرویس به مشتری نمیباشد. خطاهای 5xx به عنوان بخشی از پروتکل انتقال ابرمتن (HTTP) برگردانده میشوند که اساس بسیاری از ارتباطات در اینترنت و شبکههای خصوصی است. این خطاها را میتوان در شرایط زیر مشاهده کرد:
- کاربر در حال مرور یک وب سایت است و سرور وب با خطا مواجه میشود.
- یک برنامه نرم افزاری به یک API دسترسی پیدا میکند و سرور API یک خطا را بر میگرداند.
- یک جزء از یک سیستم توزیع شده مانند Kubernetes، به درخواستهای سرور توسط سایر مؤلفهها پاسخ نمیدهد.
رایجترین خطاهای 5xx کدامند؟
از رایجترین ارورهای 5xx میتوان به موارد زیر اشاره کرد:
- ارور 500 – خطای سرور داخلی (Internal Server Error)
- ارور 501 – خطای اجرا نشدن (Not Implemented)
- ارور 502 – خطای دروازه بد (Bad Gateway)
- ارور 503 – در دسترس نبودن خدمات (Service Unavailable)
- ارور 504 – خطای مهلت زمانی دروازه (Gateway Timeout)
- ارور 509 – خطای فراتر از حد پهنای باند رفتن (Bandwidth Limit Exceeded)
- ارور 511 – احراز هویت شبکه مورد نیاز است (Network Authentication Required)
زمانی که کاربر با این خطاها مواجه میشود، در بیشتر مواقع نمیتواند کاری برای رفع آنها انجام دهد. به طور معمول، خطا نشان میدهد که سرور دارای یک مشکل نرم افزاری، سخت افزاری یا پیکربندی است که باید اصلاح شود.
کدهای وضعیت HTTP چیست؟
HTTP یک پروتکل سرویس کلاینت-سرور است. کلاینت که به عنوان user-agent شناخته میشود، به یک سرور متصل شده و درخواست میدهد. سرور هر درخواستی را دریافت کرده، آن را رسیدگی میکند و پاسخی را بر میگرداند. واسطههایی به نام پروکسی بین مشتری و سرور وجود دارد که درخواستها و پاسخها را به مقصد ارسال میکنند. HTTP از کد خطاهای زیر پشتیبانی میکند:
- پاسخ اطلاعاتی 1xx: درخواست دریافت شد و سرور به کار خود ادامه میدهد.
- 2xx موفقیت آمیز: درخواست دریافت و با موفقیت انجام شد.
- تغییر مسیر 3xx – درخواست به URL دیگری هدایت شد.
- خطای مشتری 4xx – درخواست نادرست یا نامعتبر بود و قابل انجام نیست.
- خطای سرور 5xx – مشکل در سرور بوده و مانع از انجام درخواست میشود.
چرا باید به خطاهای 5xx توجه شود؟
-
اهمیت ارورهای 5xx برای مدیران سایت
خطای 5xx به مالک یا توسعه دهنده سایت، نشان میدهد که یک کاربر در تلاش بوده تا به یک URL دسترسی پیدا کند و نتوانسته موفق به مشاهده آن شود. علاوه بر این، اگر خزندههای موتورهای جستجو به یک وب سایت دسترسی پیدا کنند و خطای 5xx را دریافت کنند، ممکن است درخواست را رها کرده و URL را از فهرست جستجو حذف کنند. این کار میتواند عواقب شدیدی برای ترافیک وب سایت و تاثیر منفی بر روی سئوی سایت داشته باشد.
-
اهمیت خطاهای 5xx برای توسعه دهندگان API
یک خطای 5xx که توسط یک API برگردانده میشود، نشان میدهد که API خراب بوده یا در حال تعمیر است. و یا در حال گذراندن مشکل دیگری است. وقتی در نقطه پایانی API با مشکل مواجه میشود، بازگرداندن کد خطای 5xx رفتاری خوب و مورد انتظار است و میتواند به مشتریان کمک کند تا بفهمند چه اتفاقی میافتد و خطا را در سمت سرویس گیرنده مدیریت کنند.
بررسی ارورهای مختلف 5xx و دلایل آن
-
ارور 500 – خطای سرور داخلی
این خطا نشان میدهد که سرور با یک وضعیت غیرمنتظره مواجه شده است که به طور خاص مدیریت نشده است. به طور معمول ارور 500 به این معنا است که درخواست قابل اجرا نیست؛ زیرا برنامه به درستی پیکربندی نشده است. متاسفانه این ارور به طور دقیق مشخص نمیکند که مشکل از کجا است. با نمایش ارور 500، سایت از دسترس خارج شده و موتور جستجو آن را تشخیص میدهد. برای همین اگر به موقع برطرف نشود، تاثیر منفی بر روی سئوی سایت گذاشته میشود.
-
ارور 501 – Not Implemented
این خطا نشان میدهد که سرور از عمل درخواست شده مشتری پشتیبانی نمیکند یا روش درخواستی را تشخیص نمیدهد. با این حال احتمال اینکه سرور بتواند در آینده به این درخواست پاسخ دهد، زیاد است.
-
ارور 502 – دروازه بد
این خطا نشان میدهد که سرور یک پروکسی یا دروازه بوده و یک پاسخ نامعتبر از یک سرور بالادستی دریافت کرده است. به عبارت دیگر، پروکسی قادر به ارسال درخواست به سرور مقصد نیست.
-
ارور 503 – سرویس در دسترس نیست
این خطا نشان میدهد که سرور به طور موقت قادر به ارائه سرویسدهی نیست. زمانی که سرور در حال تعمیر بوده یا بارگذاری بیش از حد را تجربه میکند، با این پیغام به کاربر اعلام میکند. این ارور نیز همچون خطای 500، باعث تاثیر منفی بر روی سئوی سایت و افت آن میشود.
-
ارور 504 – خطای مهلت زمانی دروازه
ارور 504 یکی دیگر از ارورهای رایج 5xx است. این خطا نشان میدهد که سرور بالادستی به موقع به پروکسی پاسخ نمیدهد. زمانی که سرور در دریافت و ارسال درخواست به سمت مرورگر برای گرفتن پاسخ در یک زمان خاص به مشکل بخورد، این پیام را نشان میدهد. این خطا میتواند با اشکال و پیامهای مختلفی ظاهر شود که رایجترین آن Gateway Timeout 504 است.
-
ارور 505 – نسخه HTTP پشتیبانی نمیشود
این خطا نشان میدهد که وب سرور از نسخه اصلی HTTP که توسط درخواستکننده استفاده شده است پشتیبانی نمیکند. با نمایش این ارور به این میتوان پی برد که سرور با یک خطای داخلی یا پیکربندی نادرست مواجه شده است.
-
ارور 506 – Variant Also Negotiates
این خطا هنگام استفاده از Transparent Content Negotiation رخ میدهد. عموما نمایش این خطا به خاطر کانفیگ و پیکربندی اشتباه سرور است. در واقع ارور 506 به این صورت است که یک منبع Negotiation به منبع دیگری اشاره میکند که نمایندگی (representation) ارائه نمیدهد؛ اما همچنان سعی در انجام مذاکره دارد.
-
ارور 507 – ذخیره سازی ناکافی
ارور 507 Insufficient Storage یکی دیگر از خطاهای 5xx است که به معنای ذخیرهسازی ناکافی یکی از کدهای وضعیت HTTP میباشد. زمانی این خطا نمایش داده میشود که سرور فضای کافی برای رندر صفحه مورد درخواست نداشته باشد. ارور 507 معمولاً به محدودیتهای RAM یا فضای دیسک روی سرور مربوط میشود.
-
ارور 508 – Loop Detected
این خطا در زمینه پروتکل WebDAV رخ میدهد. ارور 508 Loop Detected نشان میدهد که سرور یک عملیات کلاینت را به خاطر شناسایی یک حلقه نامحدود متوقف کرده است. این خطا میتواند زمانی رخ دهد که مشتری یک درخواست WebDav را با Depth: Infinity انجام دهد.
به جز خطاهای اشاره شده، از دیگر ارورهای 5xx میتوان به ارورهای 509، 510 و 511 اشاره کرد.
چه چیزی باعث خطاهای سرور 5xx میشود؟
خطاهای 5xx میتوانند در چندین لایه از محیط سرور رخ دهند. در یک برنامه وب، این لایهها عبارتند از:
- شبکه توزیع محتوا (CDN)
- وب سرور (مانند آپاچی)
- چارچوب توسعه وب (مانند PHP)
- سیستم مدیریت محتوا (مانند وردپرس)
- پلاگین هایی که در CMS اجرا میشوند
در اینجا چند دلیل رایج برای نمایش خطاهای سرور 5xx، صرف نظر از نوع برنامه ذکر شده است:
- به روز رسانی: برنامه به روز شده است و نسخه جدید قادر به ارائه درخواست به درستی نیست.
- ناسازگاریها: برنامه با سایر نرم افزارهای موجود در هاست یا با سخت افزار موجود در هاست سازگار نیست.
- مشکلات سیستم عامل: سیستم عامل از کار افتاده، خراب شده یا پیکربندی نادرستی دارد.
- مشکلات سخت افزاری: خرابی سخت افزار یا پیکربندی نادرست در هاست.
- منابع ناکافی: میزبان ممکن است منابع کافی برای ارائه بار برنامه فعلی نداشته باشد.
- پهنای باند ناکافی: پهنای باند شبکه میزبان ممکن است توسط بار برنامه فعلی تمام شود.
روش رفع خطاهای 5xx
- بررسی مجوزهای سرور
- بررسی زمانبندی اسکریپت
- بررسی تایم اوت سرور
- بررسی خطای htaccess
- بررسی خطاهای خاص اسکریپت
- بررسی خطاهای خاص سرور
جمع بندی
در این مطلب به بررسی کامل ارورهای 5xx، دلایل نمایش آنها و همچنین رفع آنها پرداختیم. خطاهای 5xx از خطاهای سمت سرور هستند و به این معنا هستند که سرور دچار مشکلی شده و در حال حاضر قادر به ارائه درخواست و سرویس به مشتری نمیباشد. خطاهای 5xx شامل تمام ارورهایی میشوند که با عدد 5 شروع میشوند. از رایجترین این خطاها میتوان به ارورهای 503، 504، 505، 508 و 509 اشاره کرد. توجه داشته باشید بهترین روش برای اطلاع از این خطاها، استفاده از ابزار سرچ کنسول است.