راهنمای جامع کدهای وضعیت HTTP – انواع کدهای HTTP
در دنیای وب هر تعاملی بین مرورگر شما کاربران و سرور وب با یک کد رمزگذاری شده همراه می باشد. این کدها که به عنوان کدهای وضعیت HTTP شناخته می باشند اطلاعات حیاتی در مورد وضعیت درخواست شمارا ارائه می کند. که در این مقاله و مقالات آینده ما با هم سفری خواهیم داشت به دنیای رمزگذاری کد های وضعیت HTTP و قراره با هم همه چیز را که باید در مورد آنها بدانید، مانند معانی هر کد ، انواع و دسته بندی کدها، و تاثیر این کدها بر روی سئوی وب سایت شما(در مقاله بعدی در مورد سئو صحبت میکنیم)، به شما خواهیم گفت.
شما حتما با ارور 404 (404 NOT FOUND) آشنا شدید و برخورد داشته اید اما لازم به ذکر است که بدانید تعداد کد های وضعیت بسیار زیاد می باشد که عموما کاربران قادر به دیدن شون نیستند.
شاید براتون سوال بشه که دانستن این کدها چه خاصیتی برای ما داره! نکته ای که اینجا باید بهش توجه کنیم اینکه برای سئو و رابط کاربری بهتر نیازه که هر وبمستری با این موارد آشنایی کامل را داشته باشه برای مثال اگر سایت شما به کاربر کد وضعیت 500 را نشان بده تاثیر بسیار زیادی در سئوی سایت شما در گوگل خواهد داشت و سایت شما سئوش افت میکنه!
در این مقاله قراره با هم در سایت بیت آموز با انواع کد های وضعیت و بررسی مفهومی هر کدام از کد های وضعیت بپردازیم.
در این مقاله چه می آموزید؟
Toggleکد وضعیت HTTP (HTTP Status Codes) چیست؟
همان طور که گفتم زمانی که مرورگر شما آدرس سایتی را وارد میکند یا سرچ میکند پس از کلیک دکمه Enter درخواست هایی (Packet) به سمت سرور فرستاده می شود که سرور در جواب اون درخواست های ما میاد و یک کد وضعیتی را به مرورگر ما نشان میده جهت اطلاع از وضعیت سرچ برای مثال اگر صفحه موجود نبود سرور کد 404 را برمیگردونه که نشان دهنده وجود نداشتن چنین صفحه ای هستش یا زمانی که با موفقیت درخواست به پایان رسید جواب کد 200 میده که نشان دهنده موفقیت هستش!
نکته: کد های وضعیت اعداد 3 رقمی می باشند!
لازم به ذکر که این پاسخ ها در چندین طبقه از هم جدا میشن، و نشانه فهمیدن کدام طبقه بودن کد از طریق رقم صدگان کد میباشد برای مثال کد 200 به این صورت در نظر میگیریم 2xx و طبقه بندی 2 می باشد که در ادامه با کاربرد هر طبقه آشنا می شید.
کدهای وضعیت HTTP (HTTP Status Codes) چگونه طبقه بندی میشود؟
همان طور که گفتم طبقه بندی کد های وضعیت HTTP به صورت رقم صدگان کد وضعیت می باشد. کل کد های وضعیت HTTP به 5 طبقه بندی تقسیم می شود. شما اگر اطلاعات زیادی در این باره ندارید تنها با دانستن این طبقه بندی متوجه میشید مشکل از کجاست!
این 5 دسته عبارت اند از :
1xx: پاسخ موقت یا اطلاعات: به این معنی است که درخواست فرستاده شده درحال انجام می باشد و منتظر ادامه فرآیند پروسه باشید.
2xx: موفقیت آمیز: این دسته کد های وضعیت نشان دهنده موفقیت سرور در پردازش درخواست و اتمام درخواست با موفقیت می باشد.
3xx: تغییر مسیر یا هدایت لازم: از این کدها هنگام تغییر مسیر استفاده می شود که به این کدها ریدایرکت (redirecttion) هم نیز گفته می شود.
4xx: خطای سمت کاربر (Client): زمانی که اطلاعات ارسال شده از سمت کاربر اشتباه باشد که مانع پردازش اطلاعات در سرور می باشد یا دسترسی به بخشی از سایت برای کاربر امکان پذیر نمی باشد، این دسته از کد های وضعیت نمایش داده می شود.
5xx: خطای سرویس دهنده (Server): این دسته نشان دهنده اینکه سرور هنگام پردازش اطلاعات با خطای داخلی مواجه شده است و در این شرایط مشکلی از سمت کاربر نمی باشد و کل مشکلات از سمت سرور می باشد.
انواع کدهای وضعیت HTTP (HTTP Status Code)
بررسی کدهای وضعیت HTTP 100( پاسخ موقت یا اطلاعات ):
کد 100 “Continue” (ادامه): این کد یعنی بخش اول درخواست کاربر تایید شده و کاربر باید فرآیند ارسال درخواست را ادامه بده و در صورت تمایل میتونه درخواست لغو فرآیند ثبت کنه و پروسه رو ببنده.
کد 101 “Switching protocols” (در حال تغییر پروتکل ها): مرورگر کاربر از سرور درخواست تغییر پروتکل داده و سرور در حال انجام تغییرات لازم می باشد.
کد 102 “Processing” (پردازش درخواست): سرور درخواست های مرورگر را به طور کامل دریافت کرده است اما هنوز پردازش تمام نشده و در حالا انجام پردازش می باشد!
بررسی کد های وضعیت HTTP 200( موفقیت آمیز ):
کد 200 “OK Success” (موفقیت آمیز): سرور با موفقیت درخواست هارو پردازش کرده است. و به این معنی می باشد که صفحه مورد نظر را به طور کامل برای کاربر فراهم کرده است.
کد 201 “Created” (ساخته شده): درخواست موفقیت آمیز بوده و سرور یک یا چندین سورس (منبع) ایجاد شده است.
کد 202 “Accepted” (پذیرفته شده): سرور درخواست را پذیرفته اما هنوز آن را محاسبه نکرده است و مشخص نیست نتیجه این درخواست چه شود.
کد 203 “Non-Authoritative Information” (اطلاعات نامعتبر): سرور با موفقیت درخواست را محاسبه کرده اما اطلاعاتی را نمایش می دهد با اطلاعاتی که در سرور مبدا می باشد متفاوت است
کد 204 “No Content” (بدون محتویات): سرور با موفقیت درخواست را محاسبه کرده اما چیزی جهت نمایش وجود ندارد و معمولا برای زمانی می باشد که کاربر نیازی ندارد صفحه فعلی را ترک کند برای مثال فرم هایی همانند ذخیره پیش نویس در سایت های بلاک و…
کد 205 “Reset Content” (تنظیم مجدد محتوا): این کد شباهت زیادی با کد 204 دارد با این تفاوت که سرور با موفقیت درخواست را محاسبه کرده است اما کاربر باید تنظیم مجدد کنه فرم یا صفحه ای که داخلش بود به اصطلاح ریست محتوا یا Reset Content کنه.
کد 206 “Partial Content” (محتوا جزئی): سرور با موفقیت درخواست های جزئی را پردازش میکنه برای مثال مواقعی است که سرور یک فایل دانلودی و به چندین بخش تقسیم میکنه یا دانلود و متوقف و ادامه میکنه در این حالات این کد را دریافت میکنید.
بررسی کد های وضعیت HTTP 300( تغییر مسیر یا هدایت لازم ):
کد 300 “Multiple Choices” (چندین انتخاب): زمانی است که سرور فعالیت ها یا پاسخ های متفاوتی برای درخواست کاربر دارد که در این شرایط سرور با توجه به درخواست یا خودش به طور خودکار یک پاسخ را انتخاب میکنه یا به صورت لیست پاسخ ها حق انتخاب را بر عهده کاربر میزاره.
کد 301 “moved permanently” (انتقال دائم): همان طور که از اسم کد مشخص است سرور به محض درخواست کاربر در پاسخ کاربر را به صفحه ای جدید به طور دائمی انتقال میده و معمولا برای انتقال دائم از URL استفاده میشه.
کد 302 “found” (انتقال موقتی): این کد زمانی نمایش داده می شود که درخواست ها در صفحه ای دیگر در حال محاسبه است و نه در صفحه ای که انتظارش می رفت و کاربر برای دریافت پاسخ خود به صفحه ای جدید انتقال پیدا میکنه با استفاده از URL.
کد 303 “See Other” (به محل دیگری مراجعه کنید): زمانی است که درخواست کننده با روش GET درخواستی میفرسته و پاسخ درخواستش مکان دیگری است و ریدایرکت می شود به آن مکان.
کد 304 “Not Modified” (اصلاح نشده): این کد معمولا برای زمانی است که کش های موجود در مرورگر مانع لود درست سایت می شود و معمولا در این مواقع تغییرات قبلی را مجدد لود میکنه و این کد نمایش داده می شود.
کد 305 “Use Proxy” (استفاده از پروکسی): درخواست کننده زمانی میتونه از صفحه مورد نظر استفاده کنه و دسترسی داشته باشه که از پروکسی استفاده کنه.
کد 306 “Switch Proxy” (تعویض پروکسی): این کد همانند کد 305 می باشد با این تفاوت که کاربر باید پروکسی را تعویض کند.
کد 307 “Temporary Redirect” (تغییر مسیر موقت): این کد مشابه کد 302 عمل می کند.
بررسی کدهای وضعیت HTTP 400( خطای سمت کاربر (Client)):
کد 400 “Bad Request” (درخواست ناصحیح): در این مواقع سرور به دلیل مشکل در کدها (Syntax) نمیتونه درخواست را محاسبه کنه.
کد 401 “Unauthorized” (مجاز نیست): این کد زمانی نمایش داده می شود که کاربر مشکل در احراز هویت داره و ابتدا باید احراز هویت کنه و سپس دسترسی پیدا کنه.
کد 403 “Forbidden” (نداشتن مجوز دسترسی): مواقعی است که سرور توانایی دسترسی به بخش هایی را نمیده و به همین دلیل محدود میکنه کاربر و از دسترسی به اون بخش و یا ممکن است برای دسترسی به بخشی نیازمند به حساب کاربری خاصی باشیم.
کد 404 “Not Found” (پیدا نشد): این کد را حتما باهاش آشنا هستید! مربوط به زمانی است که سرور نتونسته صفحه مورد درخواست شما رو براتون پیدا کنه تا نمایش دهد و سرور اکثرا این کد را نمایش میده.
کد 405 “Method not allowed” (متود مجاز نیست): این کد شمارو از اجرا شدن یک متد محدود و منع می کند و توانایی استفاده از این متد را ندارید.
کد 406 “Not acceptable response” (قابل قبول نیست): برای زمانی است که سرور نتونسته با توجه به معیارهایی که کاربر داره پاسخ هایی را پیدا کنه و میتواند پاسخ هایی ایجاد کند که مطابق خواسته کاربر نیست.
کد 407 “Proxy Authentication Required” (نیاز به تصدیق پروکسی می باشد): زمانی نمایش داده می شود که شما در حال استفاده از پروکسی هستید و مرورگر شما باید ابتدا احراز هویت بشه.
کد 408 “Request Timeout Error” (وقفه درخواست): این کد درواقع تمام شدن مدت زمان انتظار برای پاسخ یا time out شدن می باشد.
کد 409 “Conflict” (ناسازگاری): به این معنی است که سرور نمی تواند درخواست مارو پردازش کنه و سرور برای انجام درخواست خودش با ناسازگاری مواجه شده است!
کد 410 “Gone” (رفته): این کد همانند کد 404 می باشد و برای زمانی استفاده می شود که فایل به طور دائم حذف شده. بطور کلی گاهی اوقات به جای کد 404 برای منابعی که دیگر وجود نداره از کد 410 استفاده میشه.
کد 411 “Length Required” (طول مورد نیاز است): به این معنی است که سرور درخواست را بدون فیلد هدر (Content-Length header field) نمی تواند پردازش کند.
کد 412 “Precondition Failed” (پیش شرط با شکست مواجه شد): مرورگر نتوانسته شرط هایی که در هدر در نظر گرفته شده را اجرا کند.
کد 413 “Request Entity Too Large” (موجودیت درخواست بسیار بزرگ است): به دلیل بزرگی درخواست سرور توانایی پردازش اون درخواست را نخواهد داشت.
کد 414 “URI Too Long” (URL درخواست شده بسیار بزرگ است): URL درخواست شده برای پردازش از طرف سرور بسیار طولانی می باشد.
کد 415 “Unsupported Media Type” (نوع رسانه پشتیبانی نمی شود): درخواست شامل نوعی رسانه می باشد که سرور توانایی پشتیبانی از آن را ندارد.
کد 416 “Range Not Satisfiable” (محدوده درخواست رضایت شده مورد تایید نیست): اگر درخواست برای محدوده ای باشه که برای صفحه در دسترس نیست این کد نمایش داده میشه.
کد 417 “Expectation Failed” (انتظار با شکست مواجه شد): یعنی سرور توانایی برطرف کردن نیازهایی که در هدر در نظر گرفته شده نمی باشد.
کد 422 “Unprocessable Entity” (موجودیت قابل دسترسی): درخواست کاربر به سمت سرور هدایت شده اما به دلیل خطای معنایی نتوانسته درخواست را پردازش کند.
کد 425 “Too Early” (پردازش با ریسک): این بخش کد مربوط به امنیت سرور می باشد و سرور میگوید تمایلی به اجرای درخواستی که ممکن است دوباره تکرار شود ندارد به دلیل جلوگیری از بروز حمله Replay Attack.
کد 426 “Upgrade Required” (ارتقا لازم است): سرور در این مواقع از انجام درخواست های داده شده با پروتکل فعلی جلوگیری میکنه. سرور با دادن کد 426 پروتکل های مورد نیاز را هم نیز نمایش می دهد و با ارتقا پروتکل میتواند وارد صفحه شود مجددا.
کد 428 “Precondition Required” (پیش شرط لازم است): این کد به این معنی می باشد که سرور نیاز به شرطی بودن درخواست دارد و نشان دهنده نبودن یک هدر پیش شرط می باشد.
کد 429 “Too many requests” (درخواست زیاد): زمانی که کاربر در مدت زمان معینی تعداد زیادی درخواست به سمت سرور بفرسته با این کد مواجه میشه.
کد 431 “Request Header Fields Too Large” (درخواست فیلد های هدر بسیار بزرگ است): این کد زمانی نمایش داده می شود که سرور توانایی پردازش درخواست را به دلیل بزرگ بودن فیلد های هدر نداشته باشد که هم میتواند مشکل از یک فیلد یا چندین فیلد باشد.
کد 451 “Unavailable for Legal Reasons” (به دلایل قانونی در دسترس نیست): همان طور که از نام کد مشخصه سرور دسترسی مارو به منابع درخواستی محدود میکنه و از نظر قانونی توانایی ارائه اونارو نداره.
کد 499 “Client closed request” (درخواست کاربر بسته شد): این کد زمانی رخ می دهد که کاربر در حالی که Nginx در حال پردازش است درخواست خود را می بندد.
بررسی کد های وضعیت HTTP 500( خطای سمت سرور(Server) ):
کد 500 “Server Error” (خطای داخلی سرور): معمولا زمانی نمایش داده می شود که سرور با خطا مواجه بشه و قادر به پردازش درخواست ها نباشه. این کد معمولا توسط افزونه های جانبی و یا کدهای PHP معیوب و یا قطع اتصال به پایگاه داده به وجود می آید.
کد 501 “Not Implemented” (اجرا نشده): سرور قابلیت انجام درخواست را ندارد. و سرور از متد مورد نیاز برای پردازش درخواست پشتیبانی نمی کند.
کد 502 “Bad Gateway” (درگاه خراب): سرور مانند درگاه یا پروکسی عمل کرده و اطلاعات مناسبی از سرور بالا دستی نتونسته بدست بیاره و در نگاه کلی زمانی نمایش داده می شود که یک سرور از سرور دیگری پاسخ نامعتبر دریافت میکنه.
کد 503 “service unavailable” (سرویس در دسترس نیست): سرور در دسترسی نمی باشد معمولا برا زمان هایی که سرور در حال تعمیر می باشد و یا گرانبار شدن و یا از کار افتادگی این کد نمایش داده می شود. اما این دستور معمولا موقتی می باشد.و این کد ممکن است توسط سروری که ترافیک زیادی و تحمل میکنه و قادر به رسیدگی به درخواست نیست این کد را برگرداند.
کد 504 “gateway timeout” (وقفه درگاه): زمانی نمایش داده می شود که دو سرور با هم درگیر پردازش یک درخواست باشد و سرور اول همانند پروکسی عمل کرده و درخواست به موقع از سرور بالا دست به سرور اول نرسه این کد نمایش داده می شود.
کد 505 “HTTP Version Not Supported” (نگارش HTTP پشتیبانی نمی شود): این سرور از ورژن HTTP که کاربر استفاده کرده در درخواست خود پشتیبانی نمی کند.
نتیجه گیری
درک کد های وضعیت HTTP کلید داشتن یک وبسایت سالم و کارآمد است. با نظارت بر این کدها، میتوانید به سرعت مشکلات را شناسایی و برطرف کنید، تجربه کاربری را بهبود ببخشید و رتبهبندی وبسایت خود را در موتورهای جستجو افزایش دهید. به خاطر داشته باشید که دنیای وب پر از رمز و راز است، اما با کمی دانش و ابزار مناسب، میتوانید این رمزها را رمزگشایی کرده و وبسایت خود را به سطح بالاتری ارتقا دهید. و همیشه سعی کنید در زمینه های سئو سایت بروز باشید و این مقاله به محض اومدن یک آپدیت از شرکت و ربات های گوگل آپدیت میشه مطالب.
آیا میخواهید رازهای بیشتری از دنیای رمزنگاری شده کد های وضعیت HTTP و تاثیر آنها بر سئوی وبسایت خود را کشف کنید؟
در وبسایت ما، به شما آموزش میدهیم که چگونه از این کدها برای ارتقای رتبهبندی خود در موتورهای جستجو و تبدیل وبسایت خود به یک آهنربای ترافیک استفاده کنید!
همین الان به ما (بیت آموز) بپیوندید و سفر خود را به سوی تسلط بر سئوی وبسایت آغاز کنید!
جهت مشاهده کامل کدهای وضعیت HTTP به سایت httpstatuses.com مزاجعه فرمایید.
درباره ابوالفضل عنایتی
باسلام! من ابوالفضل عنایتی هستم بنیان گذار سایت بیت آموز و مدیر تیم HTHTM ! فعالیت من در زمینه هک و امنیت و برنامه نویسی به زبان های Python - C# می باشد و امیدوارم در این سایت و صفحه های دیگر ما بتونیم بهتون بهترین کمک هارو کنیم تا به اون چیزی که میخواین برسین با کمک ما!! جهت ارتباط با من: instagram: Abolfazl_enayati_org telegram: HTHTM_BOT
نوشتههای بیشتر از ابوالفضل عنایتی
دیدگاهتان را بنویسید