کدهای وضعیت HTTP که باید بدانید – انجمن DEV

سلام،
هنگامی که مشتری درخواستی را به سرور ارسال می کند، پاسخ همیشه شامل یک کد وضعیت است. ممکن است همیشه این را نبینید، اما این کدهای وضعیت با هر تعامل CPU و سرور برگردانده میشوند. حتی اگر برنامه نویس نباشیم، اکثر ما با خطای 404 Page not found آشنا هستیم.
در این مقاله، آنچه را که در مورد HTTP و کدهای وضعیت یاد گرفتم و تحقیق کردم را با شما به اشتراک خواهم گذاشت.
این مقاله چه می گوید؟
- HTTP چیست؟
- کد وضعیت چیست؟
- 1XX – پاسخ اطلاعاتی
- 2XX – پاسخ های تراکنش موفقیت آمیز (موفقیت)
- 3XX – پیام های تغییر مسیر
- 4XX – خطاهای مشتری
- 5XX – خطاهای سرور
HTTP چیست؟
HTTP که مخفف «پروتکل انتقال ابر متن» است، معادل آن را در زبان ترکی «پروتکل انتقال ابرمتن» یا «پروتکل انتقال ابرمتن» می یابد. کاربرد جهانی آن HTTP است و یک پروتکل استاندارد است که قالب و تحویل پیام ها را در وب تعریف می کند.
کد وضعیت چیست؟
کدهای وضعیت HTTP کدهای عددی سه رقمی هستند که موفقیت یا عدم موفقیت پاسخهایی را که سرورها به مشتریان بازمیگردانند تعیین میکنند. هر کد وضعیت معنای خاصی دارد و نشان دهنده نوع خاصی از پاسخ است.
اساساً پنج گروه استاندارد وجود دارد. این موارد به شرح زیر است:
- 1XX – پاسخ اطلاعاتی
- 2XX – پاسخ های تراکنش موفقیت آمیز (موفقیت)
- 3XX – پیام های تغییر مسیر
- 4XX – خطاهای مشتری
- 5XX – خطاهای سرور
بیایید نگاهی کوتاه به هر گروه بیندازیم.
1XX – پاسخ اطلاعاتی
پاسخ آموزنده نشان می دهد که درخواست دریافت و درک شده است. تا زمانی که درخواست ادامه دارد به طور موقت اعطا شد.
100 ادامه: مشتری می تواند به درخواست خود ادامه دهد. سرور درخواست را پذیرفت و منتظر ادامه درخواست است.
101 پروتکل های سوئیچینگ: سرور به درخواست مشتری پروتکل را تغییر می دهد.
102 – پردازش: این کد نشان می دهد که سرور درخواست را دریافت کرده و در حال پردازش است، اما هنوز پاسخی دریافت نکرده است.
103 – نکات اولیه: برای بازگرداندن برخی سرصفحههای پاسخ قبل از آخرین پیام HTTP استفاده میشود.
2XX – موفقیت
سرور با موفقیت این درخواست را پردازش کرد.
200 خوب: درخواست با موفقیت انجام شد، سرور منبع درخواستی را پیدا کرد و پاسخ داد.
201 ایجاد شد: درخواست با موفقیت انجام شد، سرور یک منبع جدید ایجاد کرد.
202 پذیرفته شده: سرور درخواست را پذیرفت اما هنوز آن را پردازش نکرده است.
203 اطلاعات غیر معتبر: سرور هنگام پاسخگویی مستقیماً منبع را دریافت نکرد، اطلاعات را از منبع دیگری به عنوان پاسخ برگرداند.
204 بدون محتوا: سرور با موفقیت این درخواست را پردازش کرد اما هیچ محتوایی را در پاسخ برگرداند.
3XX – تغییر مسیر
مشتری باید به یک مکان جدید حرکت کند.
300 گزینه چندگانه: ممکن است مشتری مجبور به انتخاب باشد زیرا چندین نسخه از منبع وجود دارد.
301 به طور دائم منتقل شد: نشان می دهد که منبع به طور قابل توجهی دوباره طراحی شده است و یک URI دائمی جدید به منبع درخواستی مشتری اختصاص داده شده است.
302 پیدا شد: از آنجا که منبع درخواست شده به طور موقت در یک URI دیگر قرار دارد، مشتری درخواست را به مکان جدید خود هدایت می کند.
303 سایر موارد را ببینید: مشتری باید به URI دیگری هدایت شود.
304 اصلاح نشده: مشتری می تواند از داده های ذخیره شده استفاده کند زیرا هیچ تغییری در منبع وجود ندارد.
307 تغییر مسیر موقت: مشتری پاسخی دریافت می کند که نشان می دهد منبع به طور موقت در یک URI دیگر قرار دارد.
4XX – خطاهای مشتری
سرور نمی تواند درخواست را پردازش کند.
400 درخواست بد: نشان می دهد که سرور به دلیل یک درخواست نامعتبر نمی تواند درخواست را درک کند.
401 غیر مجاز: از نظر معنایی به معنای “تصویر نشده” است. مشتری باید به نوعی خود را احراز هویت کند تا پاسخ دلخواه را دریافت کند.
403 ممنوع: مشتری به محتوا دسترسی ندارد، یعنی غیرمجاز است. تفاوت با 401 این است که هویت مشتری برای سرور شناخته شده است.
404 پیدا نشد: سرور نمی تواند منبع درخواستی را پیدا کند. یعنی URL توسط مرورگر شناسایی نمی شود. در سمت API، به این معنی است که نقطه پایانی معتبر است اما خود منبع در دسترس نیست.
روش 405 مجاز نیست: منبع درخواستی با روش HTTP درخواستی سازگار نیست.
406 قابل قبول نیست: سرور از انواع محتوای قابل قبول مشتری پشتیبانی نمی کند.
5XX – خطاهای سرور
سرور نمی تواند درخواست را پردازش کند و به مشتری پاسخ دهد. کد وضعیت 500 نشان می دهد که یک خطای سرور وجود دارد و درخواست ناموفق است.
500 خطای سرور داخلی: سرور نتوانست درخواست را پردازش کند و یک خطای غیرمنتظره رخ داد.
501 اجرا نشد: سرور توانایی انجام عملیات درخواستی مشتری را ندارد.
دروازه بد 502: زمانی ارسال می شود که سرور برای انجام درخواست مشتری به یک سرور پروکسی یا سرور واسطه دیگری نیاز دارد و پاسخ مورد انتظار آن سرور واسطه دریافت نمی شود.
503 خدمات در دسترس نیست: سرور به طور موقت برای انجام درخواست در دسترس نیست.
مهلت زمانی دروازه 504: زمانی ارسال می شود که سرور برای انجام درخواست مشتری به یک سرور پروکسی یا سرور واسطه دیگری نیاز دارد و زمان پاسخگویی مورد انتظار از آن سرور واسطه فراتر رفته است.
نسخه 505 HTTP پشتیبانی نمی شود: سرور از نسخه HTTP درخواست شده توسط مشتری پشتیبانی نمی کند.
امیدوارم آنچه در این مقاله به شما بگویم برای شما مفید بوده باشد. سپاس برای وقتی که برای خواندن گذاشتید.
منبع:
- Chatgpt
- https://developer.mozilla.org/en-US/docs/Web/HTTP/Status