وقتی کدهای وضعیت HTTP تکلیفمان را با سایتها مشخص میکنند!
هیچکدام از ما از خطای 404 خاطره خوشی نداریم. 503 هم عادی نیست. اما این عددها چه معنایی دارند؟ کدهای HTTP را سرور به صفحه سایت اضافه میکند. این کدها بخشی از صفحه وب نیستند و در واقع پیامهای سرور هستند. سرور از کدهای HTTP استفاده میکند تا چگونگی درخواستهای شما را برای دسترسی به یک صفحه وب خاص نشان دهد.
هرگاه مرورگر را باز میکنید و وبسایتی را جستجو میکنید، از مرورگر شما، درخواستی به سمت سرور ارسال میشود. سپس سرور پاسخ را در قالب یک کد وضعیت به مرورگر شما میفرستد. البته معمولا کاربران این کدها را نمیبینند اما آنها نشانهای از وضعیت سرور و سایت هستند.
کدهای HTTP را سرور به صفحه سایت اضافه می کند. این کدها بخشی از صفحه وب نیستند و در واقع پیام های سرور هستند. سرور از کدهای HTTP استفاده می کند تا چگونگی درخواست های شما را برای دسترسی به یک صفحه وب خاص نشان دهد.
کدهای وضعیت، در حوزه سئو اهمیت بالایی دارند در حدی که اگر یک وبسایت بهطور مستمر کدهای وضعیتی حاکی از خارج از دسترس بودن را برای کاربر ارسال کند، رتبه آن به شدت در نتایج گوگل افت خواهد کرد. اما هر کدام از کدهای وضعیت HTTP به چه معنا هستند؟
دستهبندی کدهای وضعیت HTTP
به طور کلی کدهای وضعیت HTTP به 5 دسته تقسیم میشوند و هر یک نشانهای برای یک موضوع خاص هستند. این 5 دسته عبارتند از:
- کدهای سری 100 برای اطلاعرسانی هستند و نشان میدهند که درخواستها دریافت شدهاند و یا در حال انجام هستند.
- کدهای سری 200 نشانه موفقیت درخواست هستند. این کدها حاکی از موفق بودن پروسه و دریافت اطلاعات مورد نظر در مرورگر هستند.
- کدهای سری 300 به ریدایرکت اختصاص دارند.
- کدهای سری 400 نشان از خطاهای سمت کاربر و در دسترس نبودن صفحه مورد نظر دارند.
- کدهای سری 500 هم نشاندهنده خطای سرور هستند.
فهرست کدهای وضعیت HTTP
هریک از دستهبندیهای بالا، خودشان شامل چندین کد هستند. در ادامه ببینیم هر کدام چه معنایی دارند.
کدهای وضعیت سری 100: اطلاعات
- کد 100: Continue
این کد نشان میدهد سرور درخواست مرورگر را دریافت کرده است. این کد بهویژه وقتی که درخواستهای زیادی به سرور ارسال میشود، اهمیت پیدا میکند.
- کد 101: Switching Protocols
کد 101 نشان میدهد که سرور تعویض پروتکل را منطقی و مفید ارزیابی کرده است.
- کد 102: Processing
ممکن است درخواستهای متعددی از سمت مرورگر به سرور ارسال شود و این درخواستها نیاز به پردازش جداگانه داشته باشند. کد 102 در حال پردازش بودن درخواستها را نشان میدهد.
کدهای وضعیت سری 200: موفقیت درخواست
- کد 200: OK
کد 200 نشان میدهد که درخواست یا عملیات مورد نظر بهطور کامل و با موفقیت توسط سرور انجام شده است.
- کد 201: Created
این کد حاکی از درخواست موفق و ایجاد یک منبع جدید در سرور است.
- کد 202: Accepted
این کد به معنای پذیرفته شدن درخواست کاربر است درحالیکه پردازش آن هنوز کامل نشده. بنابراین پس از پایان پردازش ممکن است درخواست اجرا یا رد شود.
- کد 203: Non-Authoritative Information
معنای کد 203 پاسخ موفقیتآمیز سرور به کاربر است اما اطلاعات ارسالی از یک منبع نامعتبر بوده که اطلاعات آن مورد تائید نیست.
- کد 204: Non-Content
این کد مربوط به پاسخی از سرور است که محتوای خاصی ندارد. به این معنا که آدرس درخواستی هیچ تغییری از آخرین درخواست تاکنون نداشته و صفحه به همان صورت قبلی نمایش داده میشود.
- کد 205: Reset Content
هنگامیکه اطلاعات ارسالی سمت کاربر مجددا تنظیم میشوند، کد 205 کاربرد دارد. از این کد معمولا برای پاک کردن اطلاعات وب استفاده میشود.
- کد 206: Partial Content
ارسال این کد از سمت سرور نشان میدهد که به بخشی از درخواست بهصورت جزئی پاسخ داده شده است.
کدهای وضعیت سری 300: انتقال
- کد 300: Multiple Choices
این کد برای زمانی است که سرور چند منبع مختلف را در پاسخ به درخواست پیشنهاد میدهد. در این وضعیت، مرورگر بهصورت خودکار یکی منبع را انتخاب میکند.
- کد 301: Moved Permanently
یکی از مهمترین کدهای HTTP بهویژه در سئو، کد 301 است. این کد نشان میدهد که یک آدرس بهصورت دائمی به آدرس دیگری منتقل شده است.
- کد 302: Found
این کد نشان میدهد که منبع درخواستی بهصورت موقت به آدرس دیگری منتقل شده است. در این شرایط منبع اصلی همچنان در دسترس و معتبر است اما فعلا به آدرس دیگری منتقل شده است.
- کد 303: See Other
در کد 303 بر روی متد GET تاکید میشود و آدرس باید از طریق متد GET درخواست شود.
- کد 304: Not Modified
هنگامیکه مرورگر آخرین تغییرات منبع را از سرور فراخوانی کند و در منبع مورد نظر تغییری اتفاق نیفتاده باشد، سرور کد 304 را ارسال میکند.
- کد 305: Use Proxy
این کد زمانی ارسال میشود که برای دسترسی به منبع نیاز به پروکسی باشد. البته برخی از مرورگرها از این قابلیت پشتیبانی نمیکنند.
- کد 306: Switch Proxy
این کد برای درخواست تغییر پروکسی است که اکنون کاربردی ندارد.
- کد 307: Temporary direct
این کد هم مانند کد 302 و 303 است با این تفاوت که خودکار نیست و نیاز به تایید کاربر دارد.
کدهای وضعیت سری 400: خطای سمت کاربر
- کد 400: Bad Request
این کد نشاندهنده این است که درخواست برای کاربر مفهوم نباشد و به همین دلیل امکان پردازش وجود ندارد.
- کد 401: Unauthorized
کد 401، دسترسی غیر مجاز است و درخواست نیاز به تایید برای دریافت مجوزهای دسترسی دارد. به همین دلیل سرور از کاربر میخواهد تا اعتبارش را اثبات کند.
- کد 402: Payment Require
این کد هم زیاد استفاده نمیشود اما کاربرد آن زمانی است که حسابهای کاربری نیاز به پرداخت دارند.
- کد 403: Forbidden
زمانیکه دسترسی به منبعی برای همه کاربران محدود شده باشد، این کد کاربرد دارد. تفاوت این کد با کد 401 در این است که حتی با ورود اطلاعات کاربری هم امکان دسترسی وجود ندارد و دسترسی از طریق مدیران سایت محدود میشود.
- کد 404: Not Found
این کد نشان میدهد که منبع موجود نیست و یا حذف شده است. با این حال این احتمال نیز هست که باز هم در دسترس قرار گیرد.
- کد 405: Method Not Allowed
زمانیکه متد استفاده شده کاربر برای درخواست منبع از سرور مجاز نیست، این کد کاربرد دارد.
- کد 406: Not Acceptable
برخی از سرورها به دلایل امنیتی از پذیرش برخی از درخواستها خودداری میکنند. در چنین مواقعی کد 406 کاربرد دارد.
کدهای وضعیت سری 500: خطای سمت سرور
- کد 500: Internal Server Error
کد 500 خطای داخلی در سرور را نشان میدهد که ممکن است ناشی از عوامل نرمافزاری، سختافزاری و یا بهروزرسانی باشد.
- کد 501: Not Implemented
کد 501 زمانی ارسال میشود که امکان پردازش درخواست توسط سرور وجود ندارد.
- کد 502: Bad Gateway
علت ارسال کد 502، عدم دریافت پاسخ از سرورهای بالادست است. در این وضعیت دروازه میانجی، بین سرور اصلی و واسط کاربری قرار دارد که قادر به تکمیل فرایند نیست. اما اغلب با تلاش مجدد کاربر، مشکل رفع خواهد شد.
- کد 503: Service Unavailable
این کد به دلیل عدم امکان دسترسی به سرور به دلیل ترافیک بالا و یا بهروزرسانی اتفاق میافتد که اغلب موقتی است.
- کد 504: Gateway Timeout
زمانیکه سرور به عنوان یک دروازه میانجی امکان دریافت پاسخ از سرور را در حداکثر زمان مجاز ندارد.
- کد 505: HTTP Version Not Supported
کد 505 نشان میدهد که نسخه HTTP پشتیبانی نمیشود.
این کدها پیغام دارند!
در مجموع هریک از این کدها نشانهای از وضعیت سایت یا سرور هستند. گاهی همه چیز خوب پیش میرود کدی برای ما نمایش داده نمیشود و گاهی هم یک جای ماجرا ایراد دارد! در چنین مواقعی، این کدها هستند که با ما حرف میزنند. با این کدها تکلیف ما هم روشن میشود که آیا به تلاش خود ادامه دهیم، مدتی صبر کنیم یا کلا بیخیال شویم!
مطلبی دیگر از این انتشارات
اپیزود دوم پادکست هگزاگون | API منبع کلیدی در توسعه کسبوکار
مطلبی دیگر از این انتشارات
مثل یک برنامهنویس فکر کنید!
مطلبی دیگر از این انتشارات
۱۰ عبارت پرکابرد که هر توسعهدهنده API باید بداند!