خطای 404 (404 error) چیست و دقیقا به چه معناست؟
آیا تا به حال در حین مرور اینترنت با پیغام خطا (404 error) مواجه شدهاید؟ شاید سعی داشتید از یک صفحه وب بازدید کنید و به جای دیدن محتوایی که انتظار داشتید، پیام خطا یا صفحه عجیبی را مشاهده کردید که معنی نداشت. این پیامهای خطا اغلب توسط کدهای وضعیت HTTP ایجاد میشوند.
HTTP مخفف Hypertext Transfer Protocol است که سیستمی است که به رایانهها اجازه میدهد تا از طریق اینترنت با یکدیگر ارتباط برقرار کنند. هنگامی که از یک وب سایت بازدید می کنید، مرورگر شما درخواستی را به سرور وب سایت ارسال می کند و صفحه وب را که می خواهید مشاهده کنید درخواست می کند. سرور با یک کد وضعیت HTTP به درخواست شما پاسخ می دهد، که به مرورگر شما می گوید که آیا درخواست موفقیت آمیز بوده است یا خیر.
گاهی اوقات ممکن است حتی ندانید که با کد وضعیت HTTP مواجه شده اید، اما می دانید که خطایی رخ داده است. به عنوان مثال، ممکن است صفحه خندهداری را ببینید که چیزی مانند “اوه، مشکلی پیش آمد!” یا «متأسفیم، ما نمیتوانیم آنچه را که به دنبال آن هستید پیدا کنیم».این صفحات خطا اغلب توسط کدهای وضعیت HTTP مانند خطای 404 ایجاد می شوند، به این معنی که سرور نمی تواند صفحه مورد نظر شما را پیدا کند.
HTTP مخفف Hypertext Transfer Protocol است که سیستمی است که به رایانهها اجازه میدهد تا از طریق اینترنت با یکدیگر ارتباط برقرار کنند. هنگامی که از یک وب سایت بازدید میکنید، مرورگر شما درخواستی را به سرور وب سایت ارسال میکند و صفحه وب را که میخواهید مشاهده کنید درخواست میکند. سرور با یک کد وضعیت HTTP به درخواست شما پاسخ میدهد، که به مرورگر شما میگوید که آیا درخواست موفقیت آمیز بوده است یا خیر.
بیشتر بخوانید:
- خطای Network Discovery Is Turned Off در ویندوز ۱۱
- SSL چیست؟ http در مقابل https
- نام دامنه(Domain) چیست؟
- چگونه با استفاده از گوشی هوشمند دستگاه های متصل به وای فای خانه را پیدا کنیم
- چگونه از خاموش شدن وای فای(WiFi) خود در ویندوز ۱۰/۱۱ جلوگیری کنیم
اهمیت درک کدهای وضعیت
کدهای وضعیت HTTP ممکن است مانند اصطلاحات تخصصی به نظر برسد که فقط برنامه نویسان باید بدانند، اما در واقع برای هر کسی که از اینترنت استفاده میکند مهم است. درک کدهای وضعیت می تواند به شما در عیب یابی مشکلات هنگام مرور وب کمک کند و به شما بینشی در مورد نحوه عملکرد اینترنت بدهد.
به عنوان مثال، اگر هنگام تلاش برای دسترسی به یک صفحه وب، پیام خطای 404 را دریافت کردید، به این معنی است که سرور نمیتواند صفحه مورد نظر شما را پیدا کند. این ممکن است به این دلیل رخ دهد که صفحه حذف شده است، یا به این دلیل که URL وارد شده نادرست است. دانستن این اطلاعات میتواند به شما کمک کند دوباره با URL تصحیح شده امتحان کنید یا اطلاعات را در جای دیگری جستجو کنید.
چند کد وضعیت خانواده(families) وجود دارد؟
کدهای وضعیت HTTP به چهار خانواده تقسیم میشوند: 200، 300، 400 و 500. هر خانواده نشان دهنده نوع متفاوتی از پاسخ از طرف سرور است. در اینجا یک بررسی اجمالی است:
- خانواده 200 نشاندهنده پاسخهای موفق است. به عنوان مثال، کد وضعیت 200 به این معنی است که سرور با موفقیت محتوای درخواستی شما را تحویل داده است.
- خانواده 300 پاسخهای تغییر جهت را نشان میدهد. به عنوان مثال، کد وضعیت 301 به این معنی است که منبع درخواستی به طور دائم به یک مکان جدید منتقل شده است.
- خانواده 400 پاسخهای خطای مشتری را نشان میدهد. به عنوان مثال، کد وضعیت 404 به این معنی است که سرور نمی تواند منبع درخواستی را پیدا کند.
- خانواده 500 پاسخهای خطای سرور را نشان میدهد. به عنوان مثال، کد وضعیت 500 به این معنی است که سرور با یک شرایط غیرمنتظره مواجه شده است که مانع از انجام درخواست شده است.
خانواده 200
آیا تا به حال از وب سایتی بازدید کردهاید و محتوای مورد نظر خود را بدون مشکل مشاهده کردهاید؟ اگر چنین است، با کد وضعیت 200 مواجه شدهاید! کد وضعیت 200 به این معنی است که سرور با موفقیت محتوای درخواستی شما را تحویل داده است. به عبارت دیگر، همه چیز همانطور که باید کار میکند، و شما می توانید صفحه وب مورد نظر خود را مشاهده کنید.
انواع خانواده 200
در حالی که کد وضعیت 200 رایج ترین کد وضعیتی است که با آن مواجه میشوید، در واقع چندین تغییر مختلف در خانواده 200 وجود دارد. در اینجا چند نمونه آورده شده است:
- 200 OK: این کد وضعیت استاندارد 200 است که به سادگی نشان میدهد که سرور توانسته منبعی را که شما درخواست کردهاید پیدا کرده و بدون هیچ مشکلی به مرورگر شما تحویل دهد.
- 201 Created: این کد وضعیت زمانی استفاده میشود که منبع جدیدی در سرور ایجاد میشود، مانند زمانی که فایلی را در یک وب سایت آپلود میکنید و برای اولین بار در سرور ذخیره میشود.
- 202 Accepted: این کد وضعیت برای نشان دادن اینکه سرور درخواستی را پذیرفته است، اما درخواست هنوز در حال پردازش است استفاده میشود. برای مثال، اگر فرمی را در وبسایتی ارسال کنید که یک فرآیند طولانیمدت را راهاندازی میکند، سرور ممکن است با یک کد وضعیت ۲۰۲ پاسخ دهد تا به شما اطلاع دهد که روی درخواست شما کار میکند.
- 203 اطلاعات غیرمجاز: این کد وضعیت برای نشان دادن اینکه سرور به جای به روزترین نسخه، یک نسخه کش شده از منبع درخواستی را برمیگرداند استفاده میشود. این میتواند زمانی اتفاق بیفتد که یک سرور به گونهای پیکربندی شده باشد که منابع درخواستی مکرر را به منظور سرعت بخشیدن به زمان پاسخ در حافظه پنهان ذخیره کند.
موارد استفاده رایج برای کد وضعیت 200
به طور کلی، کد وضعیت 200 زمانی استفاده میشود که یک سرور با موفقیت محتوای درخواستی شما را ارائه دهد، خواه این یک صفحه وب، یک تصویر یا نوع دیگری از منبع باشد. تغییرات خاص در خانواده 200 در شرایط خاص، همانطور که در بالا ذکر شد، استفاده میشود. با درک این تغییرات، میتوانید درک بهتری از آنچه در پشت صحنه در هنگام تعامل با یک وب سایت یا سایر منابع آنلاین رخ میدهد، داشته باشید.
بنابراین، دفعه بعد که با کد وضعیت 200 مواجه شدید، نگاه دقیقتری بیندازید تا ببینید آیا پاسخ OK استاندارد 200 است یا یکی از تغییرات دیگر در خانواده 200. با این دانش، میتوانید نحوه عملکرد اینترنت را بهتر درک کنید و مشکلات را در صورت بروز عیبیابی کنید.
بیشتر بخوانید:
- کابل شبکه چیست؟ همه چیز درباره کابل لَن LAN
- چگونه می توان به صورت رایگان به سایت های مسدود شده، دسترسی داشت؟
- فایروال (firewall) شبکه چیست؟
- سیستم پیشگیری از نفوذ در شبکه (IPS) چیست؟
خانواده 300
آیا تا به حال سعی کردهاید به یک صفحه وب دسترسی داشته باشید و فقط به یک URL دیگر هدایت شوید؟ اگر چنین است، با کد وضعیت 300 مواجه شده اید. کد وضعیت 300 برای نشان دادن این که منبع درخواستی به مکان دیگری منتقل شده است استفاده میشود و مشتری (یعنی مرورگر شما) باید برای بازیابی منبع به URL جدید هدایت شود.
موارد استفاده رایج برای کد وضعیت 300
چندین تغییر در خانواده 300 کدهای وضعیت HTTP وجود دارد که هر کدام دارای موارد استفاده کمی متفاوت هستند. در اینجا چند نمونه آورده شده است:
- 301 Moved Permanently: این کد وضعیت زمانی استفاده میشود که منبع درخواستی به طور دائم به یک URL جدید منتقل شده باشد. برای مثال، زمانی که یک وبسایت نام دامنه خود را تغییر میدهد یا محتوای آن را بازسازی میکند، ممکن است این اتفاق بیفتد. هنگامی که با کد وضعیت 301 مواجه میشوید، مرورگر شما به طور خودکار به URL جدید برای بازیابی منبع هدایت میشود.
- 302 Found: این کد وضعیت مشابه کد 301 است، اما نشان میدهد که منبع فقط به طور موقت به یک URL جدید منتقل شده است. این ممکن است زمانی اتفاق بیفتد که برای مثال، یک وب سایت در حال تعمیر و نگهداری است و منابع خاصی باید به طور موقت به سرور دیگری منتقل شوند. هنگامی که با کد وضعیت 302 مواجه میشوید، مرورگر شما به URL جدید هدایت میشود، اما در درخواستهای بعدی به استفاده از URL اصلی ادامه میدهد.
- 304 اصلاح نشده: این کد وضعیت زمانی استفاده میشود که یک کلاینت (یعنی مرورگر شما) منبعی را درخواست کند که قبلاً آن را کش کرده است و سرور تشخیص میدهد که نسخه ذخیرهشده هنوز معتبر است. در این حالت، سرور یک کد وضعیت 304 را ارسال می کند تا به مشتری اطلاع دهد که میتواند از نسخه کش شده منبع استفاده کند، نه اینکه دوباره آن را از سرور درخواست کند.
- تغییر مسیر موقت 307: این کد وضعیت مشابه کد 302 است، اما جدیدتر به مشخصات HTTP اضافه شده است. مانند کد 302، برای نشان دادن اینکه منبع درخواستی به طور موقت به یک URL جدید منتقل شده است استفاده میشود. با این حال، در نظر گرفته شده است که دقیقتر و قابل پیش بینیتر از کد 302 باشد، که بسته به مرورگر و سرور میتواند رفتار متفاوتی داشته باشد.
چرا دانستن این کدها مهم است؟
درک خانواده 300 کدهای وضعیت HTTP به چند دلیل مهم است. ابتدا، اگر با کد وضعیت 301 یا 302 مواجه شدید، میدانید که منبعی که به دنبال آن هستید به یک URL جدید منتقل شده است. اگر میخواهید به محتوایی دسترسی پیدا کنید که دیگر در مکان اصلی آن موجود نیست، این میتواند مفید باشد. دوم، اگر با کد وضعیت 304 مواجه شدید، میدانید که منبعی که درخواست میکنید قبلاً در مرورگر شما ذخیره شده است، که میتواند به سرعت بخشیدن به تجربه مرور شما کمک کند. در نهایت، درک این کدهای وضعیت میتواند به شما کمک کند در صورت بروز مشکلات، مانند زمانی که یک صفحه وب بارگیری نمیشود یا زمانی که در دسترسی به یک منبع خاص مشکل دارید، عیبیابی کنید.
در نتیجه، خانواده 300 کدهای وضعیت HTTP ممکن است به اندازه 200 کد آشنا نباشند، اما نقش مهمی در نحوه عملکرد وب دارند. با درک این کدها، می توانید بهتر در دنیای آنلاین پیمایش کنید و مشکلات را در صورت بروز عیب یابی کنید.
خانواده 400
آیا تا به حال سعی کردهاید به یک وب سایت دسترسی پیدا کنید و پیام خطا دریافت کنید؟ یکی از پیامهای خطای رایج کد وضعیت 400 است. در این بخش، معنای کد وضعیت 400، موارد استفاده متداول آن را بررسی میکنیم و عمیقتر به کد وضعیت 404 میپردازیم.
کد وضعیت 400 بخشی از خانواده 4xx کدهای وضعیت HTTP است که نشان میدهد مشتری در درخواست خود دچار خطا شده است. به طور خاص، کد وضعیت 400 به این معنی است که سرور نمی تواند یا نمیتواند درخواست را به دلیل نحو نامناسب یا یک پیام درخواست نامعتبر پردازش کند.
موارد استفاده رایج برای کد وضعیت 400
کد وضعیت 400 ممکن است به دلایل مختلفی رخ دهد، از جمله:
- نشانی وب نامعتبر: وقتی یک آدرس وب نادرست یا وجود ندارد را تایپ میکنید و سرور نمیتواند وبسایتی را که میخواهید به آن دسترسی پیدا کنید، پیدا کند.
- نحو درخواست نادرست: این پیام خطا زمانی ظاهر میشود که سرور قادر به درک نحوه درخواست شما برای صفحه وب نباشد. به عنوان مثال، اگر میخواهید با استفاده از یک پیوند شکسته یا ناقص به صفحه وب دسترسی پیدا کنید.
- پارامترهای مورد نیاز در درخواست از دست رفته: این پیغام خطا زمانی نمایش داده میشود که تمام اطلاعات مورد نیاز وب سایت برای نمایش صفحه را ارائه نکنید. به عنوان مثال، اگر وب سایت از شما میخواهد که یک فرم را پر کنید، و شما فراموش کردهاید که یک فیلد الزامی را پر کنید.
- روش درخواست نامعتبر: این پیام خطا زمانی نشان داده میشود که از روش نادرستی برای درخواست صفحه وب استفاده میکنید. به عنوان مثال، اگر سعی میکنید از روشی استفاده کنید که وب سایت از آن پشتیبانی نمیکند، یا اگر از روش POST به جای روش GET استفاده میکنید.
- رمزگذاری کاراکتر نامعتبر: این پیام خطا زمانی ظاهر میشود که سرور قادر به تفسیر صحیح کاراکترهای صفحه وب نباشد. اگر وب سایت از فرمت رمزگذاری نویسه مناسب استفاده نکند، یا اگر مرورگر شما روی کدگذاری صحیح تنظیم نشده باشد، ممکن است این اتفاق بیفتد.
- عدم موفقیت در مجوز: این پیام خطا زمانی رخ میدهد که میخواهید به صفحه وبی دسترسی پیدا کنید که به اطلاعات کاربری ورود به سیستم یا مجوزهایی نیاز دارد که ندارید. به عنوان مثال، اگر سعی میکنید به صفحه ای دسترسی پیدا کنید که فقط برای مدیران قابل دسترسی است، اما به عنوان یک سرپرست وارد نشدهاید.
و در مورد کد وضعیت 404 چطور؟
یکی از رایج ترین خطاهایی که ممکن است با آن مواجه شوید، کد وضعیت 404 است. این بدان معناست که سرور نمیتواند منبع درخواستی، معمولاً یک صفحه وب یا فایل را پیدا کند. این خطا ممکن است به دلایل مختلفی رخ دهد، مانند حذف منبع یا انتقال آن به مکان دیگری.
دلایل رایج برای خطای 404
دلایل مختلفی وجود دارد که ممکن است با خطای 404 مواجه شوید. برخی از رایج ترین دلایل عبارتند از:
- URL درخواستی دیگر در سرور وجود ندارد
- URL اشتباه تایپ شده یا اشتباه نوشته شده است
- URL درخواستی منتقل شده یا تغییر نام داده شده است
- سرور با مشکلاتی مواجه است و نمی تواند درخواست را انجام دهد
- نمونه هایی از وب سایتهایی که خطاهای 404 را نشان میدهند
- احتمالاً در زمانی که در اینترنت جستجو میکنید، پیام خطای 404 را مشاهده کردهاید. برخی از وبسایتها ممکن است پیام ساده «صفحه ۴۰۴ یافت نشد» را نمایش دهند، در حالی که برخی دیگر ممکن است حاوی اطلاعات دقیقتری باشند، مانند نوار جستجو برای کمک به شما در یافتن محتوای مورد نظر.
نکاتی برای رفع خطاهای 404
اگر با خطای 404 مواجه شدید، چند چیز وجود دارد که می توانید آن را حل کنید:
- آدرس اینترنتی را از نظر غلط املایی یا خطا دوباره بررسی کنید
- از عملکرد جستجوی وب سایت برای جستجوی محتوایی که میخواهید به آن دسترسی داشته باشید استفاده کنید
- کش مرورگر خود را پاک کنید و دوباره سعی کنید به صفحه دسترسی داشته باشید
- برای راهنمایی بیشتر با مدیر وب سایت یا تیم پشتیبانی تماس بگیرید
- در نتیجه، کد وضعیت 400 یک پاسخ خطایی است که زمانی رخ میدهد که مشتری یک درخواست نامعتبر داشته باشد، در حالی که کد وضعیت 404 به طور خاص نشان میدهد که سرور نمیتواند منبع درخواستی را پیدا کند. با درک این کدهای وضعیت، بهتر می توانید مشکلات را هنگام مرور اینترنت عیب یابی کنید.