خطوط وضعیت پروتکل HTTP چه هستند؟ ما در این مقاله یک فهرست کاملی از خطوط وضعیت HTTPیا همان HTTPstatus درج کردهایم و مهمترین این کدها را به مرور زمان در سایت سئوراز تشریح خواهیم کرد. توجه داشته باشید که این کدها میتواند در سئو ، تجربه کاربری و همینطور فروش تاثیر ویژهای داشته باشد.
نکته: کد وضعیت HTTP یا HTTP status code و یا کد وضعیت اچ تی تی پی، یک اصطلاح هستند و همینطور خط وضعیت HTTP یا HTTP status line و یا خط وضعیت اچ تی تی پی، یک معنی دارند.
خط وضعیت HTTP، اصطلاحی است که به کد وضعیت HTTP زمانی که با عبارت HTTP همراه شده است، اطلاق میشود، ما کدهای وضعیت HTTP مختلفی را تعریف کردهایم که مهمترین آنها کدهای وضعیت 4XX و کدهای وضعیت 5XX هستند.
البته اگرچه از فنی نادرست است اما خطوط وضعیت HTTP در بیشتر اوقات تحت عنوان کدهای وضعیت HTTP مورد اشاره قرار میگیرند.
- 1 دستهبندی کد وضعیت HTTP
- 2 خطوط وضعیت HTTP (کدهای وضعیت HTTP + معنای آن)
- 2.1 فرق بین 302 با 307
- 2.2 فرق بین 301 و 308
- 3 خطوط وضعیت HTTP غیر رسمی
دستهبندی کد وضعیت HTTP
همان گونه که در پایین مشاهده میکنید، کدهای وضعیت HTTP، اعداد صحیح سه رقمی هستند؛ رقم نخست آنها برای شناسایی یا تعریف کد مورد نظر در یک دستهبندی خاص استفاده میشود که یکی از پنج حالت زیر است:
- 1XX: اطلاعات – به این معنی که درخواست، پذیرفته شده است یا فرایند همچنان ادامه دارد.
- 2XX: تایید میکند که عمل با موفقیت انجام شد و یا با موفقیت دریافت شد. همانند کد 200
- 3XX: راهنمایی مجدد یا هدایت لازم دارد – برای تکمیل درخواست خود، به چیز دیگری نیاز دارد. همانند ریدایرکت 301
- 4XX: خطای سرویسگیرنده (سمت کاربر) که نشان میدهد درخواست قابلیت تکمیل ندارد یا اینکه کاربر چیزی را نادرست وارد میکند.
- 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 | تغییر مسیر موقت (ریدایرکت موقت) – Tiporary 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 Impliented |
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 قابلیت تغییر متد را داراست. به شکل خلاصه:
Tiporary | 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 ممکن است با شمارههای مربوط به پیغامهای خطایی که در متون دیگر است ، مانند کدهای خطای مربوط به مدیریت دستگاه به اشتراک گذاشته شود اما این بدان معنا نیست که این دو (کد وضعیت و شمارهها) در هر حالبه هم مرتبط هستند.
سایت ویکی پدیا هم در این مقاله به توضیحات خوبی اشاره کرده است.
مطلب قبلی : رفع خطای 401 unauthorized