خط وضعیت HTTP، اصطلاحیه که به کد وضعیت HTTP زمانی که با عبارت HTTP همراه شده ، اطلاق میشه. کدهای وضعیت HTTP یه چیزی شبیه یه سری یادداشت کوتاه از طرف سروری که وب سایت روی اون قرار داره هستن که به سمت مرورگر کاربر ارسال میشن و نتیجه درخواستشون مشخصه. این خطوط در سئو ، تجربه کاربری و همینطور فروش تاثیر ویژهای دارن. ما کدهای وضعیت HTTP مختلفی رو تعریف کردیم که شما با مهمترینشون از قبل آشنایی دارید: کدهای وضعیت 4XX و کدهای وضعیت 5XX.
تو این مقاله از میزفا سعی خواهیم کرد یه اول یه دسته بندی مفهومی و بعد یه فهرست کامل از خطوط وضعیت HTTP یا همان HTTP status داشته باشیم تا بتونید در مواقع لازم، به سرعت به اطلاعاتی که نیاز دارید دسترسی داشته باشید. بنابراین پیشنهاد میکنم این مقاله رو به قسمت بوکمارک مرورگرتون اضافه کنید تا در صورت نیاز، فوری بهش دسترسی داشته باشید.
سرفصلهای پست
دستهبندی کد وضعیت HTTP
همون طور که توپایین مشاهده میکنید، کدهای وضعیت HTTP، یه سری اعداد صحیح سه رقمی هستند. رقم اول برای شناسایی یا تعریف کد مورد نظر در یک دستهبندی خاص استفاده میشه که یکی از پنج حالت زیره:
- 1XX: اطلاعات – به این معنی که درخواست، پذیرفته شده است یا فرایند همچنان ادامه داره.
- 2XX: تایید میکنه که عمل با موفقیت انجام و یا با موفقیت دریافت شد. مثل کد 200.
- 3XX: راهنمایی مجدد یا هدایت لازم داره – برای تکمیل درخواست خود، به یه چیز دیگه نیازه. مثل ریدایرکت 301.
- 4XX: خطای سرویسگیرنده (سمت کاربر) که نشون میده درخواست قابلیت تکمیل نداره یا اینکه کاربر یه چیزیو نادرست وارد میکنه. [برای آموزش رفع خطاهای مربوط به 4XX کلیک کنید]
- 5XX: خطای سرویسدهنده (سمت سرور) که یعنی سرور در تکمیل یا انجام درخواستی که داشتیم و ظاهراَ معتبر بوده، ناتوانه. [برای آموزش رفع خطاهای مربوط به 5XX کلیک کنید]
درک این کدها در بافت و کانتکس و برنامهای که داریم استفاده میکنیم بسیار مهمه. مثلا اگر برنامه یه سایته و از یه CMS مثل وردپرس استفاده میکنیم، مهمه که این سیستم بتونه خطاها رو درست تشخیص بده تا بتونه براساس نوع کد به بررسی سایت و یا حل مشکلات بپردازه. (اینم اضافه کنم که اصولا به موارد بالا کد وضعیت یا خط وضعیت میگن ولی گاهی مثلا با اسمهای خطای 404 هم شناخته میشن. به همین دلیل ما تو دسته عیب یابی خطاها هم این مقاله رو اضافه کردیم.)
اما یه شکل عمومی هم میتونید این کدها رو درک کنید. خصوص اگر برنامه مورد استفاده در سایت شما در مورد کدی خاص، اطلاع نداره، شما تو این وضعیت دستکم میتونید رده این کد رو شناسایی کنید. به عنوان نمونه اگر کد وضعیت 404 برای برنامهی کاربردی نامشخصه، میتونه با این کد شبیه کد 400 رفتار کنه چرا که کد 404 با کد 400 تو یه دستهبندی (رده) قرار میگیره. بنابراین میتونیم این طور فرض کنیم که (کد 404) به این معناست که اشتباه یا خطایی رخ داده و منشا اون به سرویسگیرنده (سمت کاربر) برمیگرده.
خطوط وضعیت HTTP (کدهای وضعیت HTTP + معنای آن)
کد وضعیت | معنای آن در فارسی به همراه اطلاحات انگلیسی آن |
100 | ادامه – Continue |
101 | پروتکل انتقال – Switching Protocols |
102 | پردازش – Processing |
200 | حله یا بسیار خوب – OK |
201 | ایجاد شده است – Created |
202 | پذیرفته شده است – Accepted |
203 | اطلاعات غیرمجاز – Non-Authoritative Information |
204 | بدون محتوا – No Content |
205 | تنظیم مجدد محتوا – Reset Content |
206 | محتوای ناقص (جزئی) – Partial Content |
207 | چند وضعیتی – Multi-Status |
300 | چند گزینهای – Multiple Choices |
301 | انتقال دائم (معروف به ریدایرکت 301) – Moved Permanently |
302 | تغییر مسیر موقت – Found |
303 | دیگری را ببینید – See Other |
304 | اصلاح نشده – Not Modified |
305 | استفاده از پراکسی – Use Proxy |
307 | تغییر مسیر موقت (ریدایرکت موقت) – Temporary Redirect |
308 | تغییر مسیر دائم – Permanent Redirect |
400 | درخواست بد – Bad Request |
401 | غیرمجاز – Unauthorized |
402 | پرداخت الزامی است – Payment Required |
403 | ممنوع – Forbidden |
404 | یافت نشد – Not Found |
405 | روش غیرمجاز – Method Not Allowed |
406 | غیرقابل پذیرش – Not Acceptable |
407 | تایید پراکسی الزامی است – Proxy Authentication Required |
408 | مهلت زمانی درخواست، پایان یافته است – Request Time-out |
409 | تعارض و یا تضاد – Conflict |
410 | رفته (گذشته) – Gone |
411 | طول مورد نیاز – Length Required |
412 | پیش نیاز لازم انجام نشد – Precondition Failed |
413 | موجودیت درخواست خیلی طولانی است – Request Entity Too Large |
414 | درخواست نشانی اینترنتی خیلی طولانی است – Request-URI Too Large |
415 | (این) نوع رسانه پشتیبانی نمیشود – Unsupported Media Type |
416 | بُعد درخواست، رضایتبخش نیست – Request Range Not Satisfiable |
417 | انتظار برآورده نشد – Expectation Failed |
421 | درخواست گمراهکننده – Misdirected Request |
422 | هویت غیرقابل پردازش – Unprocessable Entity |
423 | قفل شده – Locked |
424 | وابستگی از بین رفت – Failed Dependency |
425 | مجموعه نامرتب – Unordered Collection |
426 | نیازمند به ارتقارسانی – Upgrade Required |
428 | پیشنیاز لازم است – Precondition Required |
429 | درخواستهای بسیار زیاد – Too Many Requests |
431 | فیلدهای درخواست سرصفحه خیلی بزرگ است – Request Header Fields Too Large |
451 | به دلایل قانونی غیرقابل دسترس است – Unavailable For Legal Reasons |
500 | خطای سرویسدهندهی داخلی – Internal Server Error |
501 | قابل اجرا نیست – Not Implemented |
502 | دروازهی بد – Bad Gateway |
503 | خدمات در دسترس نیست – Service Unavailable |
504 | وقفه در دروازه – Gateway Time-out |
505 | این نسخه از HTTP قابل پشتیبانی نیست – HTTP Version Not Supported |
506 | متغیر قابل انتقال – Variant Also Negotiates |
507 | فضا ذخیرهسازی ناکافی است – Insufficient Storage |
508 | حلقهشناسایی شده است – Loop Detected |
510 | تمدید نشده – Not Extended |
511 | احراز صلاحیت شبکه مورد نیاز است – Network Authentication Required |
فرق بین 302 با 307
شاید برای شما سوال پیش اومده که کد 302 و کد 307 که هر دو نشندهندهی تغییر مسیر موقت هستن، چه تفاوتی با هم دارن؟ فرق اصلی این دو کد تو اینه که در کد 302 میشه از یک متد به متد دیگه رفت ولی در کد 307 همچه چیزی امکان پذیر نیست. حالا متد چیه؟ متدها جموعهای از کدها هستند که یه رفتار یا وظیفه رو تعریف میکنن و در برنامه نویسی کاربرد دارن..
فرق بین 301 و 308
تفاوت این کدها هم مثل کدهای بالا است و کد 301 میتونه متد رو تغییر بده. به شکل خلاصه:
Temporary | Permanent | |
302 | 301 | Allows changing the request method from POST to GET |
307 | 308 | Doesn’t allow changing the request method from POST to GET |
خطوط وضعیت HTTP غیر رسمی
خطوط وضعیت HTTP که در بخش بهشون اشاره کردیم ممکنه به وسیلهی خدمات یا سرویسهای شخص ثالث به عنوان پاسخهای خطا استفاده بشن اما توی هیچ RFC مشخص نشدن.
کد وضعیت | معنای آن در فارسی به همراه اطلاحات انگلیسی آن |
103 | محل بررسی (چکپوینت) – Checkpoint |
420 | روش با شکست مواجه شده است – Method Failure |
420 | آرامش خود را ارتقا ببخشید – Enhance Your Calm |
440 | پایان زمان ورود – Login Timeout |
449 | تلاش دوباره – Retry With |
450 | مسدود شده به وسیلهی برنامههای کنترل توسط والدین که در ویندوز است – Blocked by Windows Parental Controls |
451 | تغییر مسیر – Redirect |
498 | نامعتبر است – Invalid Token |
499 | کد مورد نیاز است – Token Required |
499 | درخواست به وسیلهی آنتیویروسها ممنوع شده است – Request has been forbidden by antivirus |
509 | پهنای باند بیش از حد مجاز است – Bandwidth Limit Exceeded |
530 | سایت متوقف شده است – Site is frozen |
توجه: مهمه که به یاد داشته باشید که با وجود این که کدهای وضعیت HTTP ممکنه با شمارههای مربوط به پیغامهای خطایی که توی متون دیگه ست (مثل کدهای خطای مربوط به مدیریت دستگاه )به اشتراک گذاشته بشن، اما این به این معنا نیست که این دو (کد وضعیت و شمارهها) به هم ربطی دارن.
نتیجه گیری
تو این مقاله از میزفا سعی کردیم بعد از تعریف خطوط وضعیت HTTP، یه توضیح شفاف راجع به معنای دسته بندیهای خطوط وضعیت HTTP بدیم. بعد هم برای این کارتون با این کدها تسهیل بشه، دو جدول داشتیم از خطوط وضعیت HTTP رسمی و غیر رسمی که با مراجعه کردن بهشون، بدون فوت وقت متوجه میشید با کدوم خط وضعیت HTTP طرفید.
شاید بد نباشه در پایان، راجع به تقسیم بندی کلی خطوط وضعیت HTTP و کدها در قالب استانداردها یه منبع معرفی کنیم. تصویر زیر (که میتونید از این لینک نسخه باکیفیت یا پی دی افش رو هم دانلود کنید) یه منبع خوبیه که میتونه مکمل چیزایی که تو این مقاله خوندید باشه.
امیدوارم از خوندن این مقاله لذت برده باشید.
12 پاسخ
سلام
سوالم اینه که دلیل وجود کلید status در Response چیست؟
چرا که با status_code میتوان نتیجه سرویس را کشف کرد.
دلیل استفاده از کلید status چیه
سلام
اگر منظورت response header هست که من داخلش status ندیدم.
سلام جناب آریافر کارتون خیلی درسته (:
سلام سعید عزیز.
ممنونم از حضور گرم شما
سلام در سایت اینستاگرام که وارد میشم نوشته 5xx eroor server میاد و واقعا نمیدونم چیکار کنم اگه میشه برای رفع این ارور کمکم کنید
سلام
مقالات مربوط به خطاهای 5xx بخونید.
سلام وقت بخیر من همین مشکلو وقتی کلود فلر استفاده کردم داشتم.با قطع کردنش درست شد.cdn بهتری سراغ دارین که مشکلات این شکلی کمتر باشه؟
سلام
چرا فکر میکنی مشکل میتونه از سی دی ان باشه؟ شاید مشکل از هاستت هست که با سی دی ان تداخل داره.
سلام
وقتی ارور Server error (5xx) میده ، چطوری میشه تشخیص داد که کدوم مورد از انواع ارور 500 تا 511 هست که بر اساس اون روش رفع مشکل را جلو ببریم؟
سپاس
سلام رضا. وقتی سرور نتونسته تشخیص بده پس باید دونه دونه راه حل ها رو تست کنی از ارورهای ۵۰۰ تا …. و ببینی کدوم بوده.
بسیار عالی، از چه سایتی می توانیم با وارد کردن دامنه از وضعیت کد http مطلع شویم؟
با تشکر
سلام
با همین کروم میشه.