tigtools

کدهای وضعیت HTTP

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

در مرورگر شما اجرا می‌شود بدون ثبت‌نام

۷۹ کد نمایش داده می‌شود

  • 100 Continue

    سرور سرآیندهای درخواست را دریافت کرده است و کلاینت می‌تواند بدنه را ارسال کند. زمانی دیده می‌شود که کلاینت پیش از بارگذاری یک بدنه بزرگ «Expect: 100-continue» ارسال می‌کند.

    تعریف‌شده در RFC 9110

  • 101 Switching Protocols

    سرور موافقت می‌کند به پروتکلی که کلاینت در سرآیند Upgrade درخواست کرده تغییر یابد. زمانی دیده می‌شود که اتصال به WebSocket ارتقا یابد.

    تعریف‌شده در RFC 9110

  • 102 Processing

    منسوخ یا بلااستفاده

    سرور درخواست WebDAV را پذیرفته اما هنوز آن را به پایان نرسانده است. این کد از نسخه‌های بعدی مشخصات WebDAV حذف شد و امروزه به‌ندرت استفاده می‌شود.

    تعریف‌شده در RFC 2518

  • 103 Early Hints

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

    تعریف‌شده در RFC 8297

  • 200 OK

    درخواست موفق بوده و پاسخ شامل نتیجه است. این پاسخ معمول برای بارگذاری صفحه یا یک فراخوانی موفق API است.

    تعریف‌شده در RFC 9110

  • 201 Created

    درخواست موفق بوده و منبع جدیدی ایجاد کرده است که معمولاً با سرآیند Location مشخص می‌شود. نمونه‌ای معمول پس از یک POST موفق که رکوردی می‌سازد.

    تعریف‌شده در RFC 9110

  • 202 Accepted

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

    تعریف‌شده در RFC 9110

  • 203 Non-Authoritative Information

    درخواست موفق بوده اما یک پروکسی تغییردهنده محتوای بازگردانده‌شده توسط سرور مبدأ را تغییر داده است.

    تعریف‌شده در RFC 9110

  • 204 No Content

    درخواست موفق بوده و محتوایی برای بازگرداندن وجود ندارد. برای درخواست‌های DELETE و زمانی که کلاینت به بدنه پاسخ نیاز ندارد، رایج است.

    تعریف‌شده در RFC 9110

  • 205 Reset Content

    درخواست موفق بوده و کلاینت باید نمای سند را بازنشانی کند؛ برای مثال فرمی را پاک کند. به‌ندرت استفاده می‌شود.

    تعریف‌شده در RFC 9110

  • 206 Partial Content

    سرور تنها بازه بایتی را که کلاینت درخواست کرده برمی‌گرداند. هنگام پخش ویدئو، از سرگیری دانلود یا ارسال سرآیند Range توسط کلاینت دیده می‌شود.

    تعریف‌شده در RFC 9110

  • 207 Multi-Status

    پاسخی از WebDAV که کدهای وضعیت جداگانه‌ای برای چند منبع در یک بدنه XML دارد.

    تعریف‌شده در RFC 4918

  • 208 Already Reported

    درون پاسخ WebDAV 207 استفاده می‌شود تا از فهرست شدن دوباره اعضای منبع پیوندی یکسان جلوگیری کند.

    تعریف‌شده در RFC 5842

  • 226 IM Used

    سرور تغییراتی روی نمونه منبع فعلی اعمال کرده است (مانند کدگذاری دلتا). بسیار به‌ندرت دیده می‌شود.

    تعریف‌شده در RFC 3229

  • 300 Multiple Choices

    منبع چندین نمایش دارد و کلاینت باید یکی را انتخاب کند. در عمل به‌ندرت استفاده می‌شود.

    تعریف‌شده در RFC 9110

  • 301 Moved Permanently

    منبع برای همیشه به URL موجود در سرآیند Location منتقل شده است. مرورگرها و موتورهای جستجو پیوندهای خود را به‌روزرسانی می‌کنند؛ برخی از کلاینت‌ها هنگام دنبال کردن آن، POST را به GET تبدیل می‌کنند.

    تعریف‌شده در RFC 9110

  • 302 Found

    منبع به‌طور موقت در URL دیگری است که در هدر Location آمده است. معمولاً پس از ورود و برای تغییرمسیرهای کوتاه‌مدت رخ می‌دهد؛ مرورگرها معمولاً آن را با GET دنبال می‌کنند.

    تعریف‌شده در RFC 9110

  • 303 See Other

    کلاینت باید نتیجه را با GET از URL دیگری دریافت کند. پس از ارسال فرم با POST برای هدایت به صفحه تأیید استفاده می‌شود (الگوی Post/Redirect/Get).

    تعریف‌شده در RFC 9110

  • 304 Not Modified

    نسخه کش‌شده همچنان معتبر است، بنابراین سرور بدنه‌ای ارسال نمی‌کند. زمانی دیده می‌شود که مرورگر یک فایل کش‌شده را با If-None-Match یا If-Modified-Since اعتبارسنجی مجدد می‌کند.

    تعریف‌شده در RFC 9110

  • 305 Use Proxy

    منسوخ یا بلااستفاده

    از کلاینت می‌خواهد از پروکسی مشخص‌شده در هدر Location استفاده کند. این کد به دلایل امنیتی منسوخ شده و مرورگرها آن را نادیده می‌گیرند.

    تعریف‌شده در RFC 9110

  • 306 (Unused)

    منسوخ یا بلااستفاده

    رزرو شده است. در پیش‌نویس اولیه HTTP/1.1 استفاده می‌شد و دیگر استفاده نمی‌شود.

    تعریف‌شده در RFC 9110

  • 307 Temporary Redirect

    منبع به‌طور موقت در URL دیگری است و کلاینت باید درخواست را با همان متد و بدنه تکرار کند. مرورگرها همچنین از آن برای هدایت‌های داخلی HSTS به HTTPS استفاده می‌کنند.

    تعریف‌شده در RFC 9110

  • 308 Permanent Redirect

    منبع برای همیشه منتقل شده است و کلاینت باید از همان متد و بدنه در URL جدید استفاده کند. نسخه دائمی 307 است و برای هدایت درخواست‌های POST امن است.

    تعریف‌شده در RFC 9110

  • 400 Bad Request

    سرور نمی‌تواند درخواست را پردازش کند زیرا بدساختار است؛ برای مثال JSON نامعتبر، پارامتر کوئری نادرست یا کوکی خراب.

    تعریف‌شده در RFC 9110

  • 401 Unauthorized

    درخواست فاقد اعتبارنامه احراز هویت معتبر است. برخلاف نامش، به معنای «احراز هویت نشده» است؛ سرور هدر WWW-Authenticate را ارسال می‌کند که نحوه ورود را توضیح می‌دهد.

    تعریف‌شده در RFC 9110

  • 402 Payment Required

    برای استفاده آینده در مشخصات HTTP رزرو شده است. برخی APIها و سرویس‌های پرداخت وقتی پرداخت یا اشتراک لازم است از آن استفاده می‌کنند.

    تعریف‌شده در RFC 9110

  • 403 Forbidden

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

    تعریف‌شده در RFC 9110

  • 404 Not Found

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

    تعریف‌شده در RFC 9110

  • 405 Method Not Allowed

    منبع وجود دارد اما از متد HTTP استفاده‌شده پشتیبانی نمی‌کند؛ مانند POST به یک URL فقط‌خواندنی. پاسخ، متدهای مجاز را در هدر Allow فهرست می‌کند.

    تعریف‌شده در RFC 9110

  • 406 Not Acceptable

    سرور نمی‌تواند پاسخی در هیچ‌یک از قالب‌های فهرست‌شده در هدرهای Accept کلاینت تولید کند.

    تعریف‌شده در RFC 9110

  • 407 Proxy Authentication Required

    مانند 401، اما کلاینت ابتدا باید با پروکسی احراز هویت کند. در شبکه‌های سازمانی دارای پروکسی احراز هویت دیده می‌شود.

    تعریف‌شده در RFC 9110

  • 408 Request Timeout

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

    تعریف‌شده در RFC 9110

  • 409 Conflict

    درخواست با وضعیت فعلی منبع در تضاد است؛ مانند تداخل ویرایش یا ایجاد چیزی که از قبل وجود دارد.

    تعریف‌شده در RFC 9110

  • 410 Gone

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

    تعریف‌شده در RFC 9110

  • 411 Length Required

    سرور به هدر Content-Length نیاز دارد و درخواست شامل آن نیست.

    تعریف‌شده در RFC 9110

  • 412 Precondition Failed

    شرطی در هدرهای درخواست، مانند If-Match، برآورده نشده است. برای جلوگیری از بازنویسی منبعی استفاده می‌شود که از آخرین باری که کلاینت آن را خوانده تغییر کرده است.

    تعریف‌شده در RFC 9110

  • 413 Content Too Large

    بدنه درخواست بزرگ‌تر از حدی است که سرور می‌پذیرد. هنگام بارگذاری فایلی فراتر از محدودیت، مانند client_max_body_size در nginx، دیده می‌شود.

    تعریف‌شده در RFC 9110

  • 414 URI Too Long

    URL طولانی‌تر از آن است که سرور پردازش کند. معمولاً به دلیل ارسال داده بیش از حد یک فرم با GET یا یک حلقه تغییرمسیر است که مدام پارامترها را اضافه می‌کند.

    تعریف‌شده در RFC 9110

  • 415 Unsupported Media Type

    سرور از قالب بدنه درخواست پشتیبانی نمی‌کند؛ مثلاً ارسال XML به endpointای که application/json انتظار دارد.

    تعریف‌شده در RFC 9110

  • 416 Range Not Satisfiable

    محدوده بایتی درخواست‌شده در هدر Range خارج از اندازه منبع است.

    تعریف‌شده در RFC 9110

  • 417 Expectation Failed

    سرور نمی‌تواند نیاز موجود در هدر Expect کلاینت را برآورده کند.

    تعریف‌شده در RFC 9110

  • 418 I'm a teapot

    یک شوخی اول آوریل از پروتکل Hyper Text Coffee Pot Control Protocol محصول ۱۹۹۸: قوری‌ای که از دم‌کردن قهوه خودداری می‌کند. HTTP این کد را بدون استفاده رزرو کرده است، اما برخی سرورها آن را به‌عنوان ایستر اگ یا برای رد کردن ربات‌های ناخواسته برمی‌گردانند.

    تعریف‌شده در RFC 2324 / RFC 9110 (Unused)

  • 419 Page Expired

    غیراستاندارد

    این کد استاندارد نیست. لاراول آن را زمانی برمی‌گرداند که توکن CSRF یک فرم موجود نباشد یا منقضی شده باشد؛ معمولاً پس از اتمام زمان نشست.

    تعریف‌شده در Laravel

  • 420 Enhance Your Calm

    غیراستاندارد

    این کد استاندارد نیست. API قدیمی توییتر آن را برای محدودسازی نرخ استفاده می‌کرد؛ کد استاندارد برای این وضعیت 429 است.

    تعریف‌شده در Twitter API v1

  • 421 Misdirected Request

    درخواست به سروری رسیده است که نمی‌تواند برای این میزبان پاسخ تولید کند؛ مثلاً وقتی یک اتصال HTTP/2 برای دامنه دیگری استفاده مجدد شود.

    تعریف‌شده در RFC 9110

  • 422 Unprocessable Content

    درخواست خوش‌ساختار است اما محتوای آن نامعتبر است؛ مانند فرمی که قوانین اعتبارسنجی را رد کرده است. APIها به‌طور گسترده از آن برای خطاهای اعتبارسنجی استفاده می‌کنند.

    تعریف‌شده در RFC 9110

  • 423 Locked

    منبع WebDAV قفل است و نمی‌توان آن را تغییر داد.

    تعریف‌شده در RFC 4918

  • 424 Failed Dependency

    درخواست WebDAV به دلیل شکست عملیات دیگری که به آن وابسته بود، ناموفق بود.

    تعریف‌شده در RFC 4918

  • 425 Too Early

    سرور درخواستی را که ممکن است بازپخش شود پردازش نمی‌کند؛ مانند درخواستی که به‌صورت early data در TLS 1.3 ارسال شده است.

    تعریف‌شده در RFC 8470

  • 426 Upgrade Required

    سرور درخواست را با پروتکل فعلی رد می‌کند و پروتکل موردنیاز را در هدر Upgrade اعلام می‌کند.

    تعریف‌شده در RFC 9110

  • 428 Precondition Required

    سرور برای جلوگیری از گم‌شدن به‌روزرسانی‌ها به درخواست شرطی (مثلاً با If-Match) نیاز دارد.

    تعریف‌شده در RFC 6585

  • 429 Too Many Requests

    کلاینت در یک بازه زمانی معین درخواست‌های زیادی فرستاده است. APIها از آن برای محدودسازی نرخ استفاده می‌کنند و اغلب هدر Retry-After را اضافه می‌کنند که زمان تلاش دوباره را مشخص می‌کند.

    تعریف‌شده در RFC 6585

  • 431 Request Header Fields Too Large

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

    تعریف‌شده در RFC 6585

  • 444 No Response

    غیراستاندارد

    کد استانداردی نیست. nginx آن را به‌صورت داخلی برای بستن اتصال بدون ارسال هیچ پاسخی استفاده می‌کند؛ اغلب برای دور ریختن ترافیک ناخواسته. کلاینت‌ها هرگز آن را دریافت نمی‌کنند.

    تعریف‌شده در nginx

  • 451 Unavailable For Legal Reasons

    منبع به دلایل قانونی در دسترس نیست؛ مانند حکم دادگاه یا سانسور دولتی. این عدد به رمان فارنهایت ۴۵۱ اشاره دارد.

    تعریف‌شده در RFC 7725

  • 494 Request Header Too Large

    غیراستاندارد

    کد استانداردی نیست. نسخهٔ اختصاصی nginx از کد ۴۳۱ است و زمانی ثبت می‌شود که هدرهای درخواست از محدودیت‌های بافر آن فراتر روند.

    تعریف‌شده در nginx

  • 495 SSL Certificate Error

    غیراستاندارد

    کد استانداردی نیست. nginx آن را زمانی برمی‌گرداند که اعتبارسنجی گواهی کلاینت ناموفق باشد.

    تعریف‌شده در nginx

  • 496 SSL Certificate Required

    غیراستاندارد

    کد استانداردی نیست. nginx آن را زمانی برمی‌گرداند که گواهی کلاینت مورد نیاز ارائه نشده باشد.

    تعریف‌شده در nginx

  • 497 HTTP Request Sent to HTTPS Port

    غیراستاندارد

    کد استانداردی نیست. nginx آن را زمانی برمی‌گرداند که یک درخواست HTTP معمولی به پورتی ارسال شود که برای HTTPS پیکربندی شده است.

    تعریف‌شده در nginx

  • 499 Client Closed Request

    غیراستاندارد

    کد استانداردی نیست. nginx آن را زمانی ثبت می‌کند که کلاینت پیش از پاسخ سرور اتصال را بسته باشد؛ برای مثال وقتی کاربر صفحهٔ کُند را لغو می‌کند یا مهلت زمانی سمت کلاینت سر می‌آید.

    تعریف‌شده در nginx

  • 500 Internal Server Error

    سرور با خطای غیرمنتظره‌ای روبه‌رو شد و نتوانست درخواست را کامل کند. خطایی عمومی ناشی از باگ، خرابی یا پیکربندی نادرست؛ جزئیات در لاگ‌های سرور موجود است.

    تعریف‌شده در RFC 9110

  • 501 Not Implemented

    سرور از قابلیت مورد نیاز پشتیبانی نمی‌کند؛ مانند یک متد HTTP که آن را نمی‌شناسد.

    تعریف‌شده در RFC 9110

  • 502 Bad Gateway

    یک دروازه یا پروکسی پاسخی نامعتبر از سرور بالادستی دریافت کرد. زمانی رایج است که برنامهٔ پشت nginx یا متعادل‌کنندهٔ بار از کار افتاده یا در حال راه‌اندازی مجدد است.

    تعریف‌شده در RFC 9110

  • 503 Service Unavailable

    سرور موقتاً قادر به پردازش درخواست نیست؛ زیرا بیش از حد بارگذاری شده یا برای نگهداری از دسترس خارج است. هدر Retry-After ممکن است زمان مناسب برای تلاش دوباره را مشخص کند.

    تعریف‌شده در RFC 9110

  • 504 Gateway Timeout

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

    تعریف‌شده در RFC 9110

  • 505 HTTP Version Not Supported

    سرور از نسخهٔ HTTP استفاده‌شده در درخواست پشتیبانی نمی‌کند.

    تعریف‌شده در RFC 9110

  • 506 Variant Also Negotiates

    خطای پیکربندی مذاکرهٔ محتوا روی سرور: واریانت انتخاب‌شده خودش برای مذاکره پیکربندی شده است.

    تعریف‌شده در RFC 2295

  • 507 Insufficient Storage

    سرور نمی‌تواند آنچه را که برای تکمیل درخواست لازم است ذخیره کند؛ برای مثال پُر شدن دیسک روی سرور WebDAV.

    تعریف‌شده در RFC 4918

  • 508 Loop Detected

    سرور یک عملیات WebDAV را متوقف کرد زیرا یک حلقهٔ بی‌نهایت پیدا کرد.

    تعریف‌شده در RFC 5842

  • 509 Bandwidth Limit Exceeded

    غیراستاندارد

    کد استانداردی نیست. در برخی تنظیمات میزبانی اشتراکی (ماژول‌های Apache و cPanel) زمانی استفاده می‌شود که سایت از سهمیهٔ پهنای باند خود فراتر رود.

    تعریف‌شده در Apache / cPanel

  • 510 Not Extended

    منسوخ یا بلااستفاده

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

    تعریف‌شده در RFC 2774

  • 511 Network Authentication Required

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

    تعریف‌شده در RFC 6585

  • 520 Web Server Returned an Unknown Error

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که سرور مبدأ پاسخی خالی، ناشناخته یا غیرمنتظره ارسال کرده باشد.

    تعریف‌شده در Cloudflare

  • 521 Web Server Is Down

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که سرور مبدأ اتصال را رد کند؛ معمولاً به این دلیل که وب‌سرور خاموش است یا آدرس‌های IP مربوط به Cloudflare را مسدود کرده است.

    تعریف‌شده در Cloudflare

  • 522 Connection Timed Out

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که مهلت اتصال TCP به سرور مبدأ به پایان رسیده باشد.

    تعریف‌شده در Cloudflare

  • 523 Origin Is Unreachable

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که نتواند به سرور مبدأ دسترسی پیدا کند؛ برای مثال به دلیل مشکل DNS یا مسیریابی.

    تعریف‌شده در Cloudflare

  • 524 A Timeout Occurred

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که به سرور مبدأ متصل شده اما پاسخ HTTP را در مهلت تعیین‌شده دریافت نکرده است (به‌طور پیش‌فرض ۱۰۰ ثانیه).

    تعریف‌شده در Cloudflare

  • 525 SSL Handshake Failed

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که مرحله دست‌داد SSL/TLS با سرور مبدأ ناموفق باشد.

    تعریف‌شده در Cloudflare

  • 526 Invalid SSL Certificate

    غیراستاندارد

    کد استانداردی نیست. Cloudflare زمانی آن را برمی‌گرداند که گواهی SSL سرور مبدأ نامعتبر باشد و حالت SSL از نوع Full (strict) فعال باشد.

    تعریف‌شده در Cloudflare

نحوه استفاده

  1. یک شماره کد تایپ کنید (مثلاً 404 یا فقط 5 برای همهٔ خطاهای سرور) یا یک کلیدواژه مانند «redirect» یا «timeout».
  2. فهرست را با فیلتر کلاس محدود کنید: اطلاعاتی، موفقیت، تغییر مسیر، خطای کلاینت یا خطای سرور.
  3. برای اشتراک‌گذاری لینک مستقیم هر کد، از «کپی لینک» روی آن استفاده کنید؛ مثلاً در گزارش باگ.

نحوه کار

هر پاسخ HTTP با یک کد وضعیت سه‌رقمی شروع می‌شود. رقم اول کلاس را مشخص می‌کند: 1xx پاسخ‌های اطلاعاتی، 2xx موفقیت، 3xx تغییرمسیر، 4xx خطاهای ناشی از درخواست و 5xx خطاهای سمت سرور. کلاینت‌هایی که کد خاصی را نمی‌شناسند با آن مانند کد x00 کلاس مربوطه رفتار می‌کنند؛ بنابراین کد 4xx ناشناخته مانند 400 مدیریت می‌شود.

کدهای اصلی در RFC 9110 (HTTP Semantics, 2022) تعریف شده‌اند که جایگزین RFC 7231 قدیمی‌تر شده است. بقیه از افزونه‌ها می‌آیند: WebDAV (RFC 4918)، RFC 6585 برای 428، 429، 431 و 511، RFC 7725 برای 451 و RFC 8470 برای 425. RFC 9110 همچنین دو کد را تغییر نام داد: 413 اکنون «Content Too Large» و 422 «Unprocessable Content» است، هرچند ممکن است هنوز با نام‌های قدیمی «Payload Too Large» و «Unprocessable Entity» دیده شوند.

برخی کدهایی که در لاگ‌ها می‌بینید اصلاً استاندارد نیستند. nginx به‌صورت داخلی از 444 و 494 تا 499 استفاده می‌کند (499 نشان‌دهنده کلاینتی است که از انتظار منصرف شده است) و Cloudflare وقتی نتواند پاسخ درستی از سرور مبدأ بگیرد کدهای 520 تا 526 را برمی‌گرداند. این موارد در فهرست به‌عنوان «Non-standard» علامت‌گذاری شده‌اند. عبارت‌های دلیل (مانند «Not Found») همان‌گونه که در مشخصات نوشته شده‌اند به انگلیسی نمایش داده می‌شوند؛ HTTP/2 و HTTP/3 فقط عدد را ارسال می‌کنند.

نمونه‌ها

301 یا 308 هنگام انتقال سایت

هر دو دائمی هستند. برای انتقال عادی صفحه از 301 استفاده کنید؛ زمانی از 308 استفاده کنید که کلاینت‌ها باید درخواست‌های POST یا PUT را برای URL جدید تکرار کنند، زیرا برخی کلاینت‌ها پس از 301 درخواست POST را به GET تغییر می‌دهند.

401 در برابر 403

یک API وقتی هیچ توکنی ارسال نشود یا توکن منقضی باشد 401 برمی‌گرداند، بنابراین کلاینت باید وارد شود. وقتی توکن معتبر است اما کاربر مجوز ندارد 403 برمی‌گرداند، بنابراین ورود دوباره کمکی نمی‌کند.

عیب‌یابی خطای 502 پشت nginx

خطای 502 Bad Gateway از nginx یعنی برنامه پشت آن به‌درستی پاسخ نداده است. بررسی کنید که فرآیند برنامه در حال اجراست و چه چیزی لاگ کرده است؛ 504 یعنی خیلی کند پاسخ داده است.

پرسش‌های متداول

تفاوت 404 و 410 چیست؟

404 یعنی سرور نمی‌تواند منبع را پیدا کند و چیزی درباره آینده نمی‌گوید. 410 یعنی منبع عمداً حذف شده است و برنخواهد گشت؛ این موضوع به موتورهای جست‌وجو کمک می‌کند URL را زودتر حذف کنند.

آیا خطای اعتبارسنجی باید 400 برگرداند یا 422؟

هر دو استفاده می‌شوند. 400 برای درخواست‌هایی مناسب است که سرور نمی‌تواند تجزیه کند، مانند JSON خراب. 422 برای درخواست‌هایی مناسب است که درست تجزیه می‌شوند اما مقدارهای نامعتبر دارند، مانند فیلد ایمیل بدون @.

آیا 418 با متن «I'm a teapot» یک کد وضعیت واقعی است؟

این کد از یک RFC شوخی اول آوریل در سال 1998 می‌آید. RFC 9110 کد 418 را به‌عنوان استفاده‌نشده رزرو کرده است تا به چیز دیگری اختصاص نیابد، و برخی سرورها آن را به‌شوخی برمی‌گردانند، اما معنای استانداردی ندارد.

کد 499 از کجا می‌آید؟

کد 499 مخصوص nginx است. وقتی کلاینت پیش از ارسال پاسخ سرور، اتصال را ببندد، این کد در لاگ‌های nginx ظاهر می‌شود. کلاینت هرگز 499 دریافت نمی‌کند؛ این کد معمولاً به پاسخ‌های کند یا تایم‌اوت سمت کلاینت اشاره دارد.

آیا موتورهای جستجو با 302 مانند 301 برخورد می‌کنند؟

کد 302 نشانهٔ جابه‌جایی موقت است، بنابراین موتورهای جستجو معمولاً در ابتدا URL اصلی را ایندکس‌شده نگه می‌دارند. اگر 302 برای مدت طولانی باقی بماند، گوگل ممکن است آن را مانند ریدایرکت دائمی در نظر بگیرد. برای جابه‌جایی دائمی از 301 یا 308 استفاده کنید.

حریم خصوصی

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