کدهای وضعیت HTTP مانند یادداشت های کوتاهی از یک سرور هستند که بر روی یک صفحه وب قرار می‌گیرند. اما آنها بخشی از محتوای سایت نیستند. در عوض، آنها پیام‌هایی از طرف سرور هستند که به شما اطلاع می‌دهند وقتی درخواست مشاهده یک صفحه خاص را دریافت کرد، اوضاع چگونه پیش رفته است.

این نوع پیام‌ها هر بار که مرورگر شما با یک سرور تعامل می‌کند، بازگردانده می‌شوند، حتی اگر آنها را نبینید. اگر مالک یا توسعه دهنده وب سایت هستید، درک کدهای وضعیت HTTP بسیار مهم است. هنگامی‌که کدهای وضعیت HTTP ظاهر می‌شوند، ابزاری ارزشمند برای تشخیص و رفع خطاهای پیکربندی وب سایت هستند.

در این مقاله خواهیم گفت خطای سرور چیست و راه‌حل برطرف کردن هرکدام را بررسی خواهیم کرد.

درخواست HTTP چیست؟

درخواست HTTP چیست

هر بار که روی پیوندی کلیک می‌کنید یا URL را تایپ می‌کنید و Enter را فشار می‌دهید، مرورگر شما درخواستی را برای وب‌سرور سایتی که می‌خواهید به آن دسترسی داشته باشید ارسال می‌کند. سرور درخواست را دریافت و پردازش می‌کند و سپس منابع مربوطه را به همراه یک هدر HTTP برمی‌گرداند.

هنگامی‌که از یک وب سایت بازدید می‌کنید، مرورگر شما ده‌ها یا صدها درخواست را در پس زمینه به سرور آن ارسال می‌کند. سرور با ارائه تمام داده‌ها و فایل هایی که سایت برای بارگیری نیاز دارد به این درخواست‌ها پاسخ می‌دهد. با این حال، روند واقعی پیچیده تر از آن است.

اگر می‌خواهید عملکرد وب سایت خود را افزایش دهید، درک نحوه عملکرد درخواست های HTTP ضروری است. برخی از این اقدامات بهینه سازی شامل به حداقل رساندن و فشرده سازی درخواست‌ها است. در اصل، شما سرور خود را برای پاسخگویی بهتر به درخواست های HTTP بهینه می‌کنید.

انواع مختلفی از روش های درخواست HTTP وجود دارد که به طور کامل نوع پاسخی که از سرور دریافت می‌کنید را تغییر می‌دهد. رایج ترین آنها عبارتند از:

  • درخواست Get

این متداول ترین روش درخواست HTTP است که تاکنون استفاده می‌شود. یک درخواست GET از سرور اطلاعات یا منبع خاصی را می‌خواهد. هنگامی‌که به یک وب سایت متصل می‌شوید، مرورگر شما معمولاً چندین درخواست GET برای دریافت داده هایی که برای بارگذاری صفحه نیاز دارد ارسال می‌کند.

  • درخواست Head

با درخواست HEAD، شما فقط اطلاعات هدر صفحه ای را که می‌خواهید بارگیری کنید، دریافت می‌کنید. شما می‌توانید از این نوع درخواست HTTP برای اطلاع از اندازه سند قبل از دانلود با استفاده از GET استفاده کنید.

  • درخواست Post

مرورگر شما از روش درخواست POST HTTP زمانی که نیاز به ارسال داده به سرور دارد استفاده می‌کند. به عنوان مثال، اگر یک فرم تماس را در یک وب سایت پر کنید و آن را ارسال کنید، از یک درخواست POST استفاده می‌کنید تا سرور آن اطلاعات را دریافت کند.

  • درخواست Put

درخواست های PUT از نظر عملکرد مشابه روش POST هستند. با این حال، به جای ارسال داده، از درخواست های PUT برای به روز رسانی اطلاعاتی که از قبل در سرور نهایی وجود دارد استفاده می‌کنید.

انواع دیگری از درخواست های HTTP وجود دارد که می‌توانید از آنها استفاده کنید، از جمله روش های DELETE، PATCH، و OPTIONS.. با این حال، آنها در استفاده روزانه نسبتاً غیر معمول هستند.

ارسال یک درخواست HTTP شامل ارسال یک پیام به سرور گیرنده در یک فرمت خاص است. سرور پاسخی را برمی‌گرداند و کلاینت بر این اساس اقدام می‌کند. به عنوان مثال، ممکن است منابع را بارگیری کند یا شما را به صفحه دیگری هدایت کند.

وقتی یک خطای HTTP دریافت می‌کنید، معمولاً به این دلیل است که سرور نمی‌تواند درخواست شما را برآورده کند. کد خطایی که دریافت می‌کنید باید دلیل آن را توضیح دهد. برخی از رایج ترین دلایل خطاهای HTTP شامل عدم اتصال به سرور و یافتن منابع درخواست شده است.

چه زمانی کد خطاهای HTTP دریافت می‌کنیم؟

درخواست Http و کدهای وضعیت HTTP در هدر HTTP به مرورگر شما تحویل داده می‌شود. در حالی که هر بار که مرورگر شما یک صفحه وب یا منبعی را درخواست می‌کند، کدهای وضعیت بازگردانده می‌شوند، اکثر اوقات شما آنها را نمی‌بینید.

معمولاً فقط زمانی که مشکلی پیش می‌آید ممکن است یکی از آنها را در مرورگر خود مشاهده کنید. این روش سرور برای گفتن این است که خطایی وجود دارد و یا “چیزی درست نیست. در اینجا کدی وجود دارد که توضیح می‌دهد چه چیزی اشتباه بوده است.

۵ کلاس مختلف کدها در پروتکل HTTP

۵ کلاس مختلف کدها در پروتکل HTTP

در همه سرورها کدهای وضعیت HTTP به 5 “کلاس” تقسیم می‌شوند. این کلاسها گروه‌هایی از پاسخ‌ها هستند که معانی مشابه یا مرتبط دارند. دانستن اینکه آنها چه هستند می‌تواند به شما کمک کند تا به سرعت محتوای کلی یک کد وضعیت را قبل از جستجوی معنای خاص آن تعیین کنید.

در هر یک از این کلاس ها، انواع کدهای سرور وجود دارد و ممکن است توسط سرور بازگردانده شوند. هر کد جداگانه معنای خاص و منحصر به فردی دارد که در لیست جامع‌تر زیر به آن خواهیم پرداخت.

  1. کلاس 1xx: کدهای اطلاعاتی که نشان می‌دهد درخواست آغاز شده و توسط مرورگر ادامه دارد.
  2. کلاس 2xx: زمانی که درخواست مرورگر توسط سرور دریافت، درک و پردازش شد، کدهای موفقیت از این نوع برگردانده می‌شوند.
  3. کلاس 3xx: زمانی که منبع جدیدی جایگزین منبع درخواستی شده باشد، کدهای تغییر مسیر یا ریدایرکت بازگردانده می‌شوند.
  4. کلاس 4xx: کدهای خطای کلاینت نشان می‌دهد که مشکلی در درخواست وجود دارد.
  5. کلاس 5xx: کدهای خطای سرور نشان می‌دهد که درخواست پذیرفته شده است، اما یک خطا در سرور مانع از انجام درخواست شده است.

تمامی‌خطاهای پروتکل HTTP + روش های برطرف کردن آن

خطاهای کلاینت یا Client Error

خطاهای کلاینت یا Client Error

در سطح 400، کدهای وضعیت HTTP شروع به مشکل شدن می‌کنند. اینها کدهای خطایی هستند که مشخص می‌کنند ایرادی در مرورگر و/یا درخواست شما وجود دارد. کد وضعیت‌ها به شرح زیر میباشند:

۱- خطای 400

کد 400 http یا «درخواست بد». سرور نمی‌تواند پاسخی را به دلیل خطایی در سمت مشتری بازگرداند.

۲- خطای 401

کد 401 یا «غیر مجاز» یا «مجوز مورد نیاز است». هنگامی‌که منبع هدف فاقد اعتبارنامه معتبر احراز هویت باشد، این کد توسط سرور برگردانده می‌شود. اگر احراز هویت اولیه HTTP را با استفاده از htpa تنظیم کرده باشید، ممکن است این کد خطا را ببینید.

۳- خطای 402

کد 402 یا “Payment Required یعنی «پرداخت الزامی‌است». در اصل، این کد برای استفاده به عنوان بخشی از یک سیستم نقدی دیجیتال ایجاد شده است. با این حال، آن طرح هرگز اجرا نشد.

درعوض، پلتفرم‌های مختلفی از آن استفاده می‌کنند تا نشان دهند که یک درخواست معمولاً به دلیل کمبود بودجه مورد نیاز نمی‌تواند برآورده شود. موارد رایج عبارتند از:

  • به محدودیت درخواست روزانه خود برای Google Developers API رسیده اید.
  • به طور مثال شما هزینه های Shopify خود را پرداخت نکرده اید و فروشگاه شما به طور موقت غیرفعال شده است.
  • پرداخت شما از طریق Stripe ناموفق بوده است، یا Stripe سعی دارد از پرداخت تقلبی جلوگیری کند.

۴- خطای 403

کد 403 یا Access to that resource is forbidden «دسترسی به آن منبع ممنوع است». این کد زمانی برگردانده می‌شود که کاربر تلاش می‌کند به چیزی دسترسی پیدا کند که اجازه مشاهده آن را ندارد.

به عنوان مثال، تلاش برای دسترسی به محتوای محافظت شده با رمز عبور بدون ورود به سیستم ممکن است خطای 403 ایجاد کند.

۵- خطای 404

خطای 404

کد خطای 404 یا The requested resource was not found با “منبع درخواستی یافت نشد.” این رایج ترین پیام خطاهای 400 است. این کد به این معنی است که منبع درخواستی وجود ندارد و سرور از وجود آن اطلاعی ندارد.

۶- خطای 405

کد 405 یا «متد مجاز نیست». این زمانی ایجاد می‌شود که سرور میزبان (سرور مبدأ) از روش دریافتی پشتیبانی می‌کند، اما منبع هدف این کار را نمی‌کند.

۷- خطای 406

کد  406 یا “پاسخ قابل قبول نیست.” منبع درخواستی تنها قادر به تولید محتوایی است که مطابق با هدرهای پذیرش ارسال شده در درخواست، قابل قبول نیست.

۸- خطای 408

کد 408 یا زمان انتظار سرور برای بقیه درخواست از مرورگر تمام شد. این کد زمانی ایجاد می‌شود که یک سرور در حالی که منتظر درخواست کامل مرورگر است، زمان اتمام آن تمام شود.

به عبارت دیگر، سرور درخواست کامل ارسال شده توسط مرورگر را دریافت نکرد. یکی از دلایل احتمالی می‌تواند تراکم خالص باشد که منجر به از دست رفتن بسته های داده بین مرورگر و سرور می‌شود.

۹- خطای 410

کد 410 The requested resource is gone and won’t be coming back یا “منبع درخواستی از بین رفته است و دیگر باز نمی‌گردد.” این شبیه به کد 404 “Not Found” است، با این تفاوت که کد 410 نشان می‌دهد که وضعیت مورد انتظار و دائمی‌ است.

۱۰- خطای 413

کد 413 Payload Too Large  یا «بارگیری خیلی بزرگ» یا «درخواست موجودیت خیلی بزرگ». درخواست شما بزرگتر از آن چیزی است که سرور بخواهد یا بتواند آن را پردازش کند.

۱۱- خطای 414

کد 414 یا “URI خیلی طولانی است.” این معمولاً نتیجه یک درخواست GET است که به عنوان یک رشته کوئری کدگذاری شده است که برای پردازش سرور بسیار بزرگ است.

۱۲- خطای 429

کد 429 Too many requests یا “درخواست های خیلی زیاد.” این زمانی توسط سرور ایجاد می‌شود که کاربر در مدت زمان معین درخواست های زیادی ارسال کرده باشد (محدود کردن نرخ).

این کد ممکن است گاهی اوقات به دلیل تلاش ربات‌ها یا اسکریپت‌ها برای دسترسی به سایت شما رخ دهد. در این مورد، ممکن است بخواهید URL ورود به وردپرس خود را تغییر دهید.

خطاهای سرور یا Server Error

خطاهای سرور یا Server Error

کدهای وضعیت سطح 500 نیز خطا محسوب می‌شوند. با این حال، آنها نشان می‌دهند که مشکل در سمت سرور است. این امر می‌تواند حل آنها را دشوارتر کند.

۱- خطای 500

کد خطای 500 There was an error on the server and the request could not be completed  یا  “خطایی در سرور وجود داشت و درخواست تکمیل نشد.” این کد عمومی‌است که به سادگی به معنای “خطای سرور داخلی” است.

مشکلی در سرور رخ داده و منبع درخواستی تحویل داده نشده است. این کد معمولاً توسط پلاگین های شخص ثالث، PHP معیوب یا حتی اتصال به پایگاه داده قطع می‌شود.

۲- خطای 501

کد خطا 501 یا  “اجرا نشده.” این خطا نشان می‌دهد که سرور از عملکرد مورد نیاز برای انجام درخواست پشتیبانی نمی‌کند. این تقریباً همیشه یک مشکل در خود سرور وب است و معمولاً باید توسط میزبان حل شود.

این وضعیت همچنین می‌تواند یک هدر Retry-After ارسال کند که به درخواست‌کننده می‌گوید چه زمانی دوباره بررسی کند تا ببیند آیا عملکرد تا آن زمان پشتیبانی می‌شود یا خیر.

501 پاسخ مناسب زمانی است که سرور روش درخواست را تشخیص نمی‌دهد و قادر به پشتیبانی از آن برای هیچ منبعی نیست. تنها روش هایی که سرورها باید از آنها پشتیبانی کنند (و بنابراین نباید 501 را برگردانند) GET و HEAD هستند.

اگر سرور روش را تشخیص دهد، اما عمداً از آن پشتیبانی نکند، پاسخ مناسب 405 Method Not Allowed است.

۳- خطای 502 (Bad Gateway)

کد خطای 502 معمولاً به این معنی است که یک سرور از سرور دیگری پاسخ نامعتبر دریافت کرده است، مانند زمانی که یک سرور پراکسی در حال استفاده است.

سایر مواقع یک پرس و جو یا درخواست خیلی طول می‌کشد و بنابراین توسط سرور لغو یا کشته می‌شود و اتصال به پایگاه داده قطع می‌شود.

۴- خطای 503

خطای 503

کد خطا 501 یا “سرور در حال حاضر برای حل این درخواست در دسترس نیست.” درخواست را نمی‌توان در این مقطع زمانی تکمیل کرد. این کد ممکن است توسط سروری که بیش از حد بارگذاری شده است که قادر به انجام درخواست های اضافی نیست، بازگردانده می‌شود.

۵- خطای 504

کد خطای 504 یا The server, acting as a gateway, timed out waiting for another server to respond  “سرور که به عنوان یک دروازه عمل می‌کند، زمان انتظار برای پاسخگویی سرور دیگر به پایان رسیده است.”

این کد زمانی است که دو سرور درگیر پردازش یک درخواست هستند و زمان سرور اول در انتظار پاسخ سرور دوم است.

۶- خطای 505

کد خطا 505 یا  “نسخه HTTP پشتیبانی نمی‌شود.” سرور از نسخه HTTP که مشتری برای ارسال درخواست استفاده کرده است پشتیبانی نمی‌کند.

کد وضعیت پاسخ پروتکل انتقال ابرمتن (HTTP) 505 با مظمون “نسخه HTTP پشتیبانی نمی‌شود” نشان می‌دهد که نسخه HTTP استفاده شده در درخواست توسط سرور پشتیبانی نمی‌شود.

۷- خطای 507

کد وضعیت پاسخ HTTP 507 Insufficient Storage یک پیام خطای سرور است که نشان می‌دهد سرور فضای کافی برای پاسخگویی به درخواست HTTP ندارد. وقتی کد وضعیت 507 Insufficient Storage دریافت می‌شود، سرور فضای ذخیره‌سازی کافی برای پاسخگویی به درخواست HTTP ندارد.

این می‌تواند یک درخواست HTTP PUT یا POST باشد که معمولاً معتبر است و در صورت لزوم از سهمیه مشتری تجاوز نمی‌کند، اما در عوض نمی‌تواند موفق شود زیرا فضای ذخیره‌سازی سرور پر است.

پیام به عنوان بخشی از مشخصات WebDAV طراحی شده است و به عنوان یک مشکل موقت در نظر گرفته می‌شود.

نتیجه گیری

در حالی که ممکن است در ظاهر گیج کننده یا ترسناک به نظر برسند، کدهای وضعیت HTTP در واقع بسیار آموزنده هستند. با یادگیری برخی از موارد رایج، می‌توانید مدیریت سرور را ساده تر نموده و مشکلات سایت خود را سریعتر عیب یابی کنید.

در این پست، ما بیش از 10 کد وضعیت HTTP را تعریف کرده ایم که ممکن است با آنها مواجه شوید. از کدهای  400 گرفته تا خطاهای 500 پیچیده تر، درک این پیام‌ها برای حفظ وب سایت شما و اطمینان از در دسترس بودن آن برای کاربران بسیار مهم است.

سوالات متداول

کد وضعیت 200 OK به این معنی است که درخواست موفقیت آمیز بوده است، اما معنای موفقیت به روش درخواست استفاده شده بستگی دارد: GET:  منبع درخواستی واکشی شده و به بدنه پیام منتقل شده است. HEAD:  فیلدهای سرصفحه از منبع درخواستی بدون متن پیام ارسال می‌شوند.

بارگیری مجدد صفحه را امتحان کنید. یکی از ساده ترین و اولین کارهایی که باید هنگام مواجه شدن با خطای 501 not implemented امتحان کنید این است که به سادگی یک دقیقه یا بیشتر صبر کنید و صفحه را بارگذاری مجدد کنید (F5 یا Ctrl + F5) . همچنین میتوانید اقدامات زیر را نیز انجام دهید.
  • کش مرورگر خود را پاک کنید
  • غیرفعال کردن تنظیمات پروکسی

Accepted 202 به این معنی است که درخواست برای پردازش پذیرفته شده است، اما پردازش تکمیل نشده است. ممکن است در نهایت به این درخواست رسیدگی شود یا نشود، زیرا ممکن است زمانی که پردازش واقعاً انجام می‌شود، غیرمجاز باشد. هیچ امکانی برای بازگشت وضعیت از عملیات ناهمزمان مانند این وجود ندارد.

دو روش رایج HTTP عبارتند از: GET و POST. مابقی متدها به شرح زیر می باشد:
  • HEAD Method.
  • PUT Method.
  • DELETE Method.
  • CONNECT Method.
  • OPTIONS Method.
  • TRACE Method.

یک درخواست HTTP توسط یک کلاینت، به یک میزبان با نام، که در یک سرور قرار دارد، انجام می‌شود. هدف از درخواست دسترسی به یک منبع در سرور است. برای درخواست، مشتری از اجزای یک URL (Uniform Resource Locator) استفاده می‌کند که شامل اطلاعات مورد نیاز برای دسترسی به منبع است.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بخشی از آمار خدمات وب رمز

تعداد خدمت ارائه شده

71111
خدمات هاست و سرور
220110
خدمات ثبت دامنه
461
پروژه طراحی سایت
155
پروژه سئو سایت

در وب‌رمز رضایت مشتریان اولویت ماست

کارفرمایان در مورد ما چه می‌گویند

خانم مهندس درفشی

خانم مهندس درفشی

مدیر سایت "آژانس ارتباطات دان"
آقای مهندس منظمی

آقای مهندس منظمی

مدیر "هلدینگ گام"
خانم مهندس اسدی

خانم مهندس اسدی

مدیر دیجیتال مارکتینگ "ایران ادونچر"
آقای مهندس طالب زاده

آقای مهندس طالب زاده

مدیر مجموعه مهاجرتی - تحصیلی "کانادا از ایران"

برخی برندها که افتخار خدمت به آنها را داشتیم

جایگاه برند معظم شما اینجا خالیست

webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers
webramz customers

تعدادآرا: 8 - میانگین: 3.9

رأی شما ثبت شد.