رفتن به مطلب

معرفی کدهای خطا رایج HTTP


پست های پیشنهاد شده

post020.jpg

 

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

 

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

 

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

 

 

  • ۱xx : اطلاعات (Information)
  • ۲xx : موفقیت (Success)
  • ۳xx : ارجاع (Redirection)
  • ۴xx : خطای سمت کاربر (Client Error)
  • ۵xx : خطای سمت سرور (Server Error)

 

 

 

بررسی خطای سمت کاربر و سرور :

خطاهای سمت کاربر یا کدهای وضعیت از ۴۰۰ تا ۴۹۹، نتیجه ی درخواست های HTTP هستند که توسط نرم افزارهای HTTP سمت کاربر (مانند مرورگر وب) ارسال می شوند. گرچه این دست از خطاها به صورت معمول مربوط به طرف کاربر می باشند ولی آگاهی از اینکه کاربر با چه کد خطای مواجه شده است نیز به جهت امکان سنجی رفع آن از طریق ایجاد تغییرات در تنظیمات سرور، مفید واقع خواهد شد.

 

خطای های سمت سرور یا کدهای وضعیت ۵۰۰ تا ۵۹۹ نیز زمانی نمایش داده می شوند که مشکلی در تنظیمات وب سرور وجود داشته و یا وب سرور توانایی انجام درخواست مربوطه را ندارد.

 

 

 

راهکارهای کلی رفع مشکلات مربوطه :

 

  • زمانیکه از مرورگر به جهت امتحان وب سرور استفاده می کنید، به خاطر داشته باشید که حتما بعداز ایجاد هرگونه تغییر در سرور به جهت مشاهده نتیجه، مرورگر خود را رفرش نمایید.
  • بخش لاگ موجود در سرور خود را برای بدست آوردن اطلاعات بیشتر در رابطه با نحوه مواجه شدن سرور با درخواست های مربوطه بررسی نمایید. به طور مثال وب سرورهایی مانند Apache و Nginx لاگ فایل های مرتبط را در دو فایل به نام های log و error.log ایجاد می نمایند لذا با بررسی کامل این دو فایل اطلاعات جامع و مناسبی کسب خواهد شد.
  • به خاطر داشته باشید که تعاریف کدهای وضعیت HTTP بخشی از استانداردی هستند که توسط نرم افزارهای مرتبط سمت سرور پیاده سازی شده اند. بنابراین کدهای وضعیتی که به نمایش در می آیند به چگونگی برخورد (مواجهه) نرم افزار مرتبط در سمت سرور با خطای مربوطه بستگی خواهد داشت.

 

حال با توجه به اطلاعات ارائه شده از کدهای وضعیت HTTP، می توانیم نسبت به اعلام خطاهای متداول در این زمینه بپردازیم.

 

 

 

۴۰۰ Bad Request :

این کد خطا نشان دهنده این مورد است که درخواست HTTP ارسال شده به سرور دارای syntax صحیحی نمی باشد.

 

در ذیل به برخی از شرایطی که ممکن است باعث بروز این خطا شود اشاره می شود :

 

 

  • کوکی سمت کاربر مرتبط با سایت از بین رفته است.
  • درخواست ارسالی به دلیل وجود مشکل در مرورگر ناقص است.
  • درخواست ارسالی به دلیل استفاده از فرمت اشتباه در زمان تایپ درخواست توسط کاربر ناقص است (به طور مثال زمانیکه از دستور curl به شکل صحیح استفاده نشود)

 

 

 

۴۰۱ Unauthorized :

این خطا زمانی رخ می دهد که کاربری بدون آگاهی از اطلاعات لاگین (نام کاربری و رمز عبور مربوطه) بخواهد به منبع یا صفحه ای که توسط HTTP Authentication محافظت شده دسترسی داشته باشد.

 

 

 

۴۰۳ Forbidden :

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

در ذیل برخی از دلایل اصلی مواجه با این خطا اعلام می گردد :

 

عدم ارائه دسترسی صحیح به فایل : باید بررسی کرد که worker process این وب سایت در سرور به چه کاربری اختصاص داده است و سپس دسترسی لازم (خواندن، نوشتن و یا هردو) به فایل و یا فلدر مربوطه به کاربری مرتبط ارائه گردد.

 

وجود فایل .htaccess با تنظیمات نادرست : از فایل .htaccess می توان به جهت ایجاد محدودیت های دسترسی به منابع خاص استفاده نمود لذا بررسی وجود این فایل و اطمینان از عدم ایجاد محدودیت دسترسی نادرست در رفع این مشکل مفید می باشد.

 

عدم وجود صفحه پیش فرض : در صورتیکه صفحه ی پیش فرض وجود نداشته یا تعریف نشده باشد و قابلیت Directory Browsing نیز فعال نباشد، وب سرور خطای مربوطه را نمایش خواهد داد لذا در این شرایط برای رفع این مشکل می باید صفحه پیش فرض تعریف نموده و یا قابلیت Directory Browsing فعال گردد.

 

 

۴۰۴ Not Found :

در این مورد کاربر قادر به برقرار ارتباط با سرور می باشد ولی صفحه مورد درخواست در مسیر مربوطه در سرور موجود نمی باشد. شرایط متفاوتی برای نمایش این خطا وجود دارد که در مواجهه با آن می توان موارد ذیل را دنبال نمود :

 

 

  • ممکن است لینک ثبت شده در آیکونی که کاربر برروی آن کلیک نموده است دارای خطای تایپی باشد.
  • احتمال دارد کاربر URL مورد نظر خود را به اشتباه وارد کرده باشد.
  • در صورتیکه قبلا صفحه درخواستی در سرور موجود بوده و هم اکنون جابجا و یا حذف شده باشد و یا در مسیر صحیحی در سرور قرار نگرفته باشد، بروز این خطا محتمل خواهد بود.
  • ممکن است دایرکتوری پیش فرض سایت مربوطه در سرور به درستی تنظیم نشده باشد.
  • امکان دارد دسترسی Read و Execute به کاربری مرتبط با worker process سایت مربوطه اعطاء نشده باشد.
  • در صورتیکه آدرس صفحه یا منبع مربوطه شامل لینک نمادین (symbolic link) می باشد باید تنظیمات لازم در وب سرور جهت پشتیبانی از آن صورت پذیرد. (به طور مثال در صورتیکه وب سرور از پسوند iso پشتیبانی ننماید لینک لینک ها تنها برای اعضای سایت قابل نمایش است. نیز قابل دستیابی نخواهد بود)

 

 

 

 

جهت مشاهده مطلب کامل به وبسایت مهر سرور در لینک زیر مراجه فرمایید

لینک ها تنها برای اعضای سایت قابل نمایش است.

  • Like 2
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...