در راستای افزایش علم و آگاهی کاربران در زمینه وب در این مطلب قصد داریم لیست کدهای وضعیت HTTP را که از سمت سرور و کلاینت ارسال و دریافت میشوند را توضیح دهیم.
شاید تا به حال با وارد کردن نام یک وب سایت و یا رفتن به صفحهای از یک وب با خطایی روبهرو شده باشید که از پربرخوردترین آنها میتوان به خطای 404 اشاره کرد.
در اکثر مواقع خیلی ساده از کنار گذر میکنیم ، اما اگر این خطاها بر روی وب سرور خودمان هم اتفاق بیافتد ، به همین شکل از آن گذر میکنیم ؟
پس به عنوان یک کلاینت حرفهای وب و یا به عنوان کسی که سعی دارد وب و دنیای اینترنت را به صورت حرفهای فرا بگیرد باید این کدها را بشناسید و دلایل رخ دادن آنها را بدانید.
قبل از شروع توضیح کدها باید خدمت شما عرض کنم که این کدها در اینترنت استاندارد است و توسط مؤسسه IETF پایهگذاری و تعریف شده که در کنار موارد غیر استاندارد RFC تکمیل میگردند.
نکته : در IIS مایکروسافت ممکن است این خطاها با عددی اعشاری در کنار آن نمایش داده شود ، این تنها به این دلیل است که مایکروسافت خطاهای رخ داده را با جزئیات بیشتری به سمع و نظر کاربران میرساند.
با لیست کدهای وضعیتHTTP همراه ما باشید.
لیست کدهای وضعیت HTTP
لیست کدهای وضعیت HTTP به پنج دسته یا پنج سری تقسیم میشوند که عبارتاند از:
- سری 1xx : کدهای پاسخ موقت
- سری 2xx : کدهای پاسخ موفق
- سری 3xx : کدهای ریدایرکت ( تغییر مسیر )
- سری 4xx : کدهای خطای رخ داده در کلاینت ( کاربر )
- سری 5xx : کدهای خطای رخ داده در سرور ( وب سرور )
حال با توجه به آشنایی به سریهای مختلف میتوان به راحتی حدس زد که اگر خطایی با پیش شماره 4 رخ داد ، مربوط به خطایی است که از سمت کاربر رخ داده و یا اگر خطایی مانند 503 رخ داد ، شما متوجه خواهید شد این خطا مربوط به سرور است.
سری 1xx : کدهای پاسخ موقت
100 ( ادامه درخواست ) : در هنگامی این کد از سمت سرور ارسال میشود که درخواست کاربر دریافت شده و در انتظار سایر درخواستهای کاربر میماند.
101 ( تعویض پروتکل ) : کاربر به سرور درخواست تغییر پروتکل را داده و سرور در حال تأیید این درخواست میباشد.
102 ( در حال پردازش ) : در هنگامی که سرور در حال پردازشهای درخواستها کاربر باشد این وضعیت نمایش داده خواهد شد.
103 ( ایست بازرسی ) : در حال بازخوانی درخواست کاربر برای استفاده از متد PUT یا POST و حذف درخواست اضافی میباشد.
این کدها ، کدهای عموماً در معرض نمایش کاربران نیستند و سرورها با این کدها با سیستم کاربر صحبت کرده تا ارتباط حفظ شود و درخواستها به درستی ارسال و دریافت گردد.
سری 2xx : وضعیت موفقیت
200 ( موفقیت آمیز ) : سرور درخواست ارسال شده را با موفقیت پردازش کرده و صفحه وب درخواستی بدون هیچ تغییر فراهم است.
201 ( ساخته شده ) : درخواست ارسالی موفقیت آمیز بوده و سرور برای ارسال درخواست یک منبع جدید ایجاد کرده است.
202 ( موافقت شده ) : سرور درخواست موافقت شده را هنوز محاسبه نکرده است.
203 ( اطلاعات نامعتبر ) : سرور درخواست موافقت شده را پردازش کرده است اما ممکن است اطلاعاتی که نمایش میدهد برای منبعی دیگر باشد.
204 ( بدون محتوا ) : سرور با موفقیت درخواست را پردازش کرده اما محتوایی برای نمایش وجود ندارد.
205 ( تنظیم مجدد محتوا ) : همانند کد 204 این درخواست با موفقیت پردازش شده و محتوایی برای نمایش وجود نداشته است و برای ادامه ارتباط کاربر باید درخواست خود را یک بار ریست کند.
206 ( محتوا جزئی ) : درخواست با موفقیت پردازش شده ولی سرور محتوا جزئی را نمایش خواهد داد.
این سری کدها مربوط به سرور بوده و نمایانگر وضعیت درخواستی است که کاربر ارسال کرده است. این کدها عموماً در مرورگر نمایش داده نمیشود و شما میتوانید آنها را در هنگامی که از سایتهای آنالیز وب استفاده میکنید ، مشاهده نمایید.
سری 3xx : کدهای ریدایرکت ( تغییر مسیر )
300 ( انتخاب چندگانه ) : سرور لیستی از لینکها را نمایش داده و کاربر میتواند آنها را انتخاب کرده و به آن مکان برود.
301 ( انتقال دائم ) : صفحه درخواست داده شده به صورت دائمی به صفحه دیگری انتقال و یا ارجاع داده خواهد شد. در این حالت سرور به صورت خودکار کاربر را به صفحه جدید هدایت میکند.
302 ( انتقال موقت یا پیدایش) : درخواست صفحه مورد نظر شما به صورت موقت به صفحه جدیدی ریدایرکت خواهد شد.
303 ( مراجعه به قسمت دیگری ) : این خطا در هنگامی رخ میدهد که کاربر باید برای دریافت درخواست خود به محل دیگری مراجعه کند.
304 ( اصلاح نشده ) : هنگامی که سرور این وضعیت را نمایش میدهد بدین معناست که از آخرین باری که درخواست ارسال شده ، صحفه مورد نظر اصلاح نشده است و در این حالت سرور به اجبار یک صفحه خالی به شما نمایش خواهد داد.
305 ( استفاده از پروکسی ) : کاربر زمانی میتواند از صفحه مورد درخواست استفاده کند که از پروکسی استفاده کرده باشد.
307 ( انتقال موقت ) : همانند کد 302 عمل کرده اما نوع ریدایرکت موقت آن کمی متفاوت خواهد بود.
این نوع وضعیت عموماً در صفحه نمایش به صورت کامل نمایش داده نخواهد شد و به صورت وضعیتهای موقتی رد میشوند و تنها سرور با ارسال این وضعیتها سرور دلیل انتقال صفحه را به سیستم کاربر میگوید.
نکته : لیست کدهای وضعیت HTTP سری یک تا سه عموماً وضعیتهایی است که بین سرور و کلاینت رخ خواهد داد و اکثراً در هنگام مذاکره سرور با کلاینت صورت میپذیرد و کاربر نقش زیادی در آن ندارد.
سری 4xx : کدهای خطای رخ داده در کلاینت ( کاربر )
400 ( درخواست اشتباه ) : سرور قادر به تشخیص نوع درخواست کاربر ندارد.
401 ( غیر مجاز ) : درخواست ارسالی غیر مجاز است . در این حالت ممکن است نیاز با لاگین باشد.
402 ( پرداخت اجباری ) : این خطا نماینگر استفاده از بخشی است که کاربر باید هزینه پرداخت نماید و پس از پرداخت این بخش باز خواهد شد.
403 ( ممنوع ) : استفاده از این صفحه برای کاربر ممنوع میباشد. به طورمثال اگر سایتی کاربران یک بخش یا یک کشور را تحریم کرده باشد با این خطا روبهرو خواهید شد.
404 ( پیدا نشد ) : سرور قادر به پیدا کردن صفحه درخواست شده کاربر نمیباشد و یا صفحه مورد نظر به کل وجود ندارد.
405 ( استفاده از متد غیرمجاز ) : متد درخواستی کاربر مجاز نمیباشد.
406 ( استفاده از متد غیر قابل قبول ) : سرور قادر به پاسخ دهی درخواست شما با این متد نمیباشد.
407 ( نیاز به تصدیق پروکسی ) : همانند کد 401 درخواست غیر مجاز است ولی با توجه به اینکه سرور به کاربر خواهد گفت برای استفاده از این صفحه باید از پروکسی استفاده نمایید.
408 ( وقفه در درخواست ) : انتظار سرور برای ارسال درخواست از سمت کاربر به پایان رسیده است.
409 ( ناسازگاری ) : در هنگام پردازش درخواست کاربر از سمت سرور ، Conflict (ناسازگاری) پیش آمده است.
410 ( از بین رفته ) : این کد همانند 404میباشد ولی برخی از اوقات سرور اگر احساس کند کل منابعی مورد درخواست کاربر از بین رفته است این خطا را نشان میدهد.
411 ( طول اجباری ) : درخواست کاربر نیاز به مقدار طول درخواست دارد و سرور بدون دریافت آن پردازشی برای کاربر انجام نمیدهد.
412 ( خطا در پیششرط ) : سرور در هنگام دریافت درخواست کاربر برخی از پیششرطها یا پیشنیازها را دریافت نکرده است.
413 ( درخواست بیش از حد بزرگ ) : سرور قادر به پردازش درخواست شما به دلیل بزرگ بودن آن نیست.
414 ( آدرس درخواست شما طولانی است ) : URL درخواستی شده برای پردازش از طول مجاز بزرگ است و سرور آن را نمیپذیرد.
415 ( عدم پشتیبانی از رسانه ) : درخواست از سمت سرور پذیرش نشده و دلیل آن عدم پشتیبانی از فایل رسانهای ارسال شده کاربر است.
416 ( عدم رضایت درخواست ) : سرور در حالتی این کد را نمایش خواهد داد که بخشی از یک صفحه درخواستی کاربر برای سرور و پردازش آن قابل قبول نیست.
417 ( شکست در انتظار ) : سرور قادر به برقراری حداقلهای فیلد درخواست هدر فایل نیست.
این خطاها عموماً در صفحه مرورگر کاربران نمایش داده خواهد شد و برای اطلاع کاربران است که به نمایش درخواهند آمد ، به طور مثال خطاهایی مانند 404 و یا 403 را کاربران در سطح اینترنت زیاد خواهند دید.
سری 5xx : کدهای خطای رخ داده در سرور ( وب سرور )
500 ( خطا داخلی سرور ) : در حال حاضر سرور در هنگام پردازش با خطا روبهرو شده است.
501 ( عدم اجرا درخواست ) : این کد زمانی نمایش داده خواهد شد که سرور قادر به پردازش درخواست کاربر نباشد.
502 ( خطا Gateway ) : در این حالت سرور همانند یک پروکسی یا درگاه از سرور بالا دستی خود پاسخی دریافت نکرده است.
503 ( سرویس در دسترسی نمیباشد ) : این وضعیت نمایانگر یک وضعیت موقت برای خارج شدن از حالت سرویس دهی سرور است.
504 ( وقفه در Gateway ) : همانند وضعیت 502 است ولی با این تفاوت که پاسخ از سرور بالا دستی را با تأخیر دریافت کرده است.
505 ( عدم پشتیبانی از ورژن HTTP ) : ورژن HTTP مورد نظر در سرور پشتیبانی نمیشود.
511 ( نیاز به تصدیق در شبکه ) : کاربر درخواست کننده قبل از درخواست باید در شبکه موجود شناسایی شده باشد.
خطاهای سری 5xx همانگونه که ملاحظه کردید مربوط به خود سرور است و عموماً این خطاها در داخل سرور رخ داده و در برخی اوقات برای اطلاع کاربر از وضعیت در مرورگر نمایش داده خواهد شد.
خُب در کل با اکثریت کدهای وضعیت HTTP آشنا شدید.
امیدواریم مطلب لیست کدهای وضعیت HTTP برای شما مفید باشد.
در صورت تغییرات در وضعیتها از سمت IEFT ، مطلب لیست کدهای وضعیت HTTP بروزرسانی خواهد شد.