یکشنبه ۳۰ اردیبهشت ۱۴۰۳

Sunday, May 19, 2024 GMT +3:30
دسته بندی
×
دسترسی سریع
لیست کدهای وضعیت HTTP و معنی خطاهای سرور
کدهای وضعیت HTTP را چگونه بررسی کنیم؟
تفاوت نسخه های پروتکل HTTP
کدهای سری 100، مربوط به اطلاعات (Informational)
کد 100، ادامه ارسال (Continue)
کد 101، تعویض پروتکل ها (Switching Protocols)
کد 102، در حال پردازش (Processing)
کد 103، پیش اشاره ها (Early Hints)
کدهای سری 200، درخواست موفق (Success)
کد 200، پاسخ موفق (OK)
کد 201، ساخته شده (Created)
کد 202، موافقت شده (Accepted)
کد 203، اطلاعات غیر معتبر (Non-Authoritative Information)
کد 204، پاسخ بدون محتوا (No Content)
کد 205، بازنشانی محتوا (Reset Content)
کد 206، قسمتی از محتوا (Partial Content)
کدهای سری 300، انتقال (Redirection)
کد 300، انتخاب چندگانه (Multiple Choices)
کد 301، انتقال همیشگی (Moved Permanently)
کد 302، پیدا شد (Found)
کد 303، دیدن منبعی دیگر (See Other)
کد 304، بدون تغییر (Not Modified)
کد  305، استفاده از پراکسی (Use Proxy)
کد 306، تعویض پراکسی (Switch Proxy)
کد 307، انتقال موقت (Temporary Redirect)
کد 308، انتقال دائمی (Permanent Redirect)
کدهای سری 400، خطای سمت کاربر (Client Error)
کد 400، درخواست نادرست (Bad Request)
کد 401، دسترسی نامعتبر (Unauthorized)
کد 402، نیاز به پرداخت (Payment Required)
کد 403، دسترسی غیر مجاز (Forbidden)
کد 404، منبع درخواستی پیدا نشد (Not Found)
کد 405، متد غیر مجاز (Method Not Allowed)
کد 406، غیر قابل قبول (Not Acceptable)
کد 407، نیاز به مجوز پراکسی (Proxy Authentication Required)
کد 408، پایان حداکثر زمان درخواست (Request Timeout)
کد 409، تعارض (Conflict)
کد 410، محذوف (Gone)
کد 411، عدم ارسال طول درخواست (Length Required)
کد 412، پیش شرط رد شده (Precondition Failed)
کد 413، درخواست خیلی طولانی (Request Entity Too Large)
کد 414، آدرس وب خیلی طولانی (Request-URI Too Long)
کد 415، فرمت پشتیبانی نشده (Unsupported Media Type)
کد 416، حد درخواستی غیر اقناع کننده (Requested Range Not Satisfiable)
کد 417، انتظارات رد شده (Expectation Failed)
کد 421، درخواست اشتباه هدایت شده (Misdirected Request)
کد 425، خیلی زود (Too Early)
کد 426، نیاز به ارتقاء (Upgrade Required)
کد 428، پیش شرط موردنیاز (Precondition Required)
کد 429، تعداد درخواست ها خیلی زیاد (Too Many Requests)
کد 431، اندازه فیلدهای درخواست خیلی زیاد (Request Header Fields Too Large)
کد 451، به دلایل قانونی در دسترس نیست (Unavailable For Legal Reasons)
کدهای سری 500، خطای سمت سرور (Server Error)
کد 500، خطای داخلی سرور (Internal Server Error)
کد 501، غیر مجهز یا تکمیل نشده (Not Implemented)
کد 502، خطای دروازه میانجی (Bad Gateway)
کد 503، سرویس خارج از دسترس (Service Unavailable)
کد 504، پایان حداکثر زمان دروازه میانجی (Gateway Timeout)
کد 505، نسخه HTTP پشتیبانی نمی شود (HTTP Version Not Supported)
کد 511، نیازمند تائید اعتبار شبکه (Network Authentication Required)

لیست کدهای وضعیت HTTP و معنی خطاهای سرور

web-http-status-code

هنگامی که در اینترنت در حال گشت و گذار و مرور صفحات مختلف هستیم با هر آدرس URL ای که از طریق مرورگرمان از سرور سایت های مختلف درخواست می کنیم پرسش و پاسخ هایی در پس زمینه بین واسط کاربری ما (مرورگر) و سرور سایت مد نظر رد و بدل می شود که در اصطلاح به آنها کدهای وضعیت HTTP یا HTTP Status Codes می گویند، این کدها ساز و کاری تعریف شده و قراردادی در بستر پروتکل HTTP (مخفف HyperText Transfer Protocol) هستند که توسط کنسرسیوم ها و بنیادهای جهانی استانداردسازی وب از جمله IETF (مخفف Internet Engineering Task Force) و W3C (مخفف World Wide Web Consortium) معرفی و سازمان دهی شده اند و امروزه تقریبا سرور یا مرورگری وجود ندارد که از این شیوه نامه پیروی نکند، کدهای وضعیت HTTP چه به لحاظ فنی و تخصصی و چه به لحاظ کاربردهای عمومی استفاده های فراوانی دارند و لذا آشنایی با جزئیات و مفهوم آنها می تواند به میزان زیادی به توسعه دانش و اطلاعات عمومی وبمان کمک کند.

کدهای وضعیت HTTP را چگونه بررسی کنیم؟


برای مشاهده و بررسی کدهای وضعیت HTTP می توانیم از قابلیت های مرورگرها برای توسعه دهندگان وب استفاده کنیم، معمولا در مرورگرهایی مانند فایرفاکس، گوگل کروم، اپرا و... قسمتی تحت عنوان ابزارهای توسعه دهندگان وب (Web Developers Tools) یا با عناوین مشابه وجود دارد که تمام فعل و انفعالات واسط کاربری (User Agent) و سرور را نمایش می دهد، برای دسترسی به این قسمت می توانیم از منوی مرورگر گزینه Web Console را انتخاب یا از دکمه F12 صفحه کلید استفاده کنیم، با دسترسی به قسمت Console اطلاعات کاملی از کدها و محتوایی که در هنگام درخواست (Request) و پاسخ (Response) بین مرورگر و سرور رد و بدل می شود قابل مشاهده خواهد بود.
برای برنامه نویسان PHP همه چیز از قبل مهیا شده است، کافی است برای بررسی پاسخ های وضعیت سرور نمونه دستور زیر را در کدها داشته باشیم:
//دريافت کد وضعيت
$http_status = http_response_code();
//تنظيم کد وضعيت
http_response_code(404);
نکته: درخواست و پاسخ سرور می تواند علاوه بر کد وضعیت شامل سربرگ های دیگر HTTP به طور مثال اطلاعات یک فرم، کوکی، اطلاعات مرورگر و... باشد، کد وضعیت حالت کلی پذیریش یا رد درخواست را مشخص می کند.

تفاوت نسخه های پروتکل HTTP


قبل از اینکه به بررسی کدهای وضعیت HTTP بپردازیم بد نیست اشاره ای داشته باشیم به نسخه های مختلف این پروتکل، اعدادی که در مقابل عبارت HTTP درج می شوند (1/0، 1/1 و 2/0) در واقع نسخه های مختلف این پروتکل هستند که توسط زیر مجموعه های IETF (کارگروه ویژه مهندسی اینترنت) توسعه یافته اند، هدف از معرفی پروتکل HTTP ایجاد استانداردی فراگیر برای نقل و انتقال اطلاعات در بستر شبکه جهانی وب بود و 1/0 نسخه ابتدایی و قدیمی این پروتکل است که در ابتدا مورد استفاده قرار می گرفت اما به دلیل نقایص و نقاط ضعفی که وجود داشت به تدریج توسعه داده شد و استاندارد HTTP 1/1 شکل گرفت، در بستر نسخه جدید پروتکل HTTP در هر ارسال درخواست و دریافت پاسخ بین واسط کاربری و سرور کدهای وضعیت بیشتری قابل تعریف است و امروزه بیشتر سرورها و مرورگرها از این چارچوب ها پیروی می کنند، در سالیان اخیر با همکاری شرکت گوگل نسخه 2 پروتکل HTTP معرفی شد که در حال حاضر در وضعیت آزمایشی قرار دارد، در این نسخه بدون اینکه به کدهای وضعیت موجود خللی وارد شود امکانات جدیدی جهت استفاده برنامه های امروزی در دسترس قرار گرفته است.

کدهای سری 100، مربوط به اطلاعات (Informational)


اولین سری از کدهای وضعیت HTTP با عدد 100 شروع می شوند که در مورد نقل و انتقال بسته های اطلاعات به طور مثال ارسال و دریافت فایل ها کاربرد دارند و وضعیت سرور از نظر امکان پذیرش اطلاعات یا فرآیندهای مورد نیاز برای وجود این امکان را نشان می دهند، این سری از کدها صرفا در نسخه 1/1 HTTP در دسترس هستند و در نسخه 1/0 HTTP جز در حالت آزمایشی نباید مورد استفاده قرار گیرند.

کد 100، ادامه ارسال (Continue)


کد 100 HTTP برای مواقعی است که مروگر (واسط کاربری) می خواهد وضعیت سرور را به لحاظ امکان پذیرش داده های ارسالی بررسی کند، به فرض زمانی که از متد POST در فرم های وب استفاده می کنیم مرورگر قبل از ارسال قسمت اصلی اطلاعات یک درخواست در سربرگ های HTTP به سرور ارسال می کند (Expect: 100-continue)، دریافت پاسخ 100 Continue از سرور به این معنی است که سرور درخواست ارسال اطلاعات را پذیرفته و فرایند انتقال اطلاعات می تواند ادامه یابد، االبته بدون ارسال کد وضعیت 100 نیز این فرایند ادامه می یابد لذا ارسال آن از طرف سرور اختیاری است و حتی در سرورها و مرورگرهایی که از نسخه HTTP/1.0 استفاده می کنند این کد قابل فهم و پردازش نیست، در این حالت معمولا این سربرگ توسط مرورگر ارسال نمی شود یا سرور در پاسخ 417 Expectation Failed را برمی گرداند که به معنی لزوم تکرار درخواست مرورگر بدون سربرگ Expect: 100-continue است.

کد 101، تعویض پروتکل ها (Switching Protocols)


کد وضعیت 101 HTTP به معنی درخواست مرورگر (Client) از سرور جهت تعویض پروتکل نقل و انتقال داده است، در صورتی که سرور این تعویض پروتکل را مفید یا ضروری ارزیابی کند با ارسال کد 101 Switching Protocols از درخواست مرورگر پیروی خواهد کرد، به فرض تعویض پروتکل HTTP 1/0 به نسخه HTTP 1/1 می تواند مفید باشد یا استفاده از پروتکل های Real-time و همزمان (Synchronous) نیز به همین صورت است، به طور مثال در برنامه هایی که از فناوری ای جکس (Ajax) یا WebSockets استفاده می کنند این کد وضعیت می تواند کاربرد داشته باشد.

کد 102، در حال پردازش (Processing)


از آنجایی که درخواست های مرورگر از سرور ممکن است شامل انجام کارهای مختلفی باشد که هر کدام نیاز به پردازش جداگانه دارند، سرور با ارسال کد 102 Processing به مرورگر می گوید که عملیات درخواستی دریافت شده و در حال پردازش است، به این صورت مرورگر در انتظار پاسخ کامل سرور بوده و از قطع ارتباط به دلیل به پایان رسیدن حداکثر زمان (Time-out) جلوگیری می شود.

کد 103، پیش اشاره ها (Early Hints)


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

کدهای سری 200، درخواست موفق (Success)


کدهای سری 200 به این معنی است که درخواست ارسالی واسط کاربری (که می تواند مرورگر یا برنامه دیگری باشد) با موفقیت دریافت، موافقت، پردازش و پاسخ داده شده است، کدهای سری 200 معمولا به معنی بی نقص بودن درخواست و عملکرد صحیح سرور است.

کد 200، پاسخ موفق (OK)


وضعیت عادی ارتباط تحت وب در پروتکل HTTP با عدد 200 مشخص می شود، دریافت پاسخ 200 OK از سرور به این معنی است که آدرس درخواستی (در متد GET) یا داده های مورد نظر (در متد POST) به طور کامل و موفقیت آمیز توسط سرور دریافت، پردازش و پاسخ درخواست داده شده است، در یک درخواست (Request) بدون نقص وب از سمت واسط کاربری (User-agent) به سرور کدهای سری 200 باید در سربرگ های پاسخ (Response Headers) دریافت شوند.

کد 201، ساخته شده (Created)


کد وضعیت HTTP 201 به معنی دریافت موفقیت آمیز درخواست و ساخته شدن یک منبع جدید در سرور است (به فرض ایجاد یک فایل یا صفحه جدید)، ارسال کد 201 Created تنها در صورتی صحیح است که سرور منبع جدید را ساخته باشد در غیر اینصورت (اگر منبع هنوز ساخته نشده باشد) باید کد 202 را ارسال کند، آدرس URI منبع جدید معمولا در پاسخ سرور به صورت سربرگ های HTTP در پارامتر Location گنجانده می شود.

کد 202، موافقت شده (Accepted)


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

کد 203، اطلاعات غیر معتبر (Non-Authoritative Information)


کد وضعیت 203 HTTP که از نسخه HTTP 1/1 معرفی شده به این معنی است که سرور درخواست واسط کاربری را به طور موفقیت آمیز پاسخ داده اما اطلاعات ارسالی (در پاسخ سرور) از یک منبع دیگر است (به فرض کپی از اطلاعاتی است که درستی آن تایید نمی شود یا سرور نقش یک پراکسی را ایفا می کند)، تنظیم کد 203 Non-Authoritative Information در سرورها اختیاری است و می توان به جای آن کد 200 را ارسال کرد.

کد 204، پاسخ بدون محتوا (No Content)


کد وضعیت 204 HTTP به معنی دریافت و پردازش صحیح درخواست واسط کاربری است اما پاسخ سرور شامل محتوای خاصی نیست و می تواند به فرض تنها در برگیرنده تاریخ به روز رسانی منبع درخواستی باشد، معمولا دریافت کد 204 No Content از سرور بدین معنی است که منبع درخواستی هیچ گونه تغییری از آخرین درخواست قبلی تا لحظه کنونی نداشته و فایل یا صفحه مربوطه به همان صورت قبلی در دسترس است، دریافت این کد در سمت کاربر (Client) می تواند از بارگذاری مجدد و بی مورد فایل ها جلوگیری کرده و سرعت بارگذاری و انجام فرآیندها را افزایش دهد.
نکته: برخی از سرورها ممکن است به جای کد 204 کد 200 به همراه سربرگ Content-Length با مقدار 0 برگردانند که در عمل هر دو به یک معنی هستند:
HTTP/1.1 200 OK
Content-Length: 0

HTTP/1.1 204 No Content
استفاده از کد 204 نسبت به حالت اول ساده تر و شیوه متداول است.

کد 205، بازنشانی محتوا (Reset Content)


کد وضعیت 205 HTTP شباهت زیادی به عملکرد کد 204 دارد، در اینجا نیز فرآیندها در سرور موفقیت آمیز است و به طور مثال اطلاعات فرم از سمت کاربر دریافت و ذخیره شده است اما در پاسخ به جزء کد 205 در سربرگ های HTTP هیچ محتوای دیگری توسط سرور ارسال نمی شود، با دریافت این کد در سمت کاربر مرورگر می تواند محتوای فعلی موجود در فرم را بازنشانی یا به عبارتی Reset کند، عملکرد این کد وضعیت HTTP مشابه حالتی است که دکمه ریست در فرم HTML در نظر گرفته باشیم.

کد 206، قسمتی از محتوا (Partial Content)


کد وضعیت 206 HTTP برای دریافت محدوده (Range) خاصی از محتوا به طور مثال برای حالت هایی که به فرض از امکاناتی نظیر ادامه دانلود (Download Resume) استفاده می کنیم کاربرد دارد، با درخواست یک محدوده از محتوا در سربرگ Range از سرور به درخواست واسط کاربری به صورت جزئی (Partial) پاسخ داده می شود، با این شیوه برنامه هایی که از نقل و انتقال چند قسمتی داده پشتیبانی می کنند قادر خواهند بود حتی پس از قطع ارتباط نیز به ادامه دریافت اطلاعات بپردازند، البته این قابلیت باید توسط سرور نیز پشتیبانی شود.
نمونه سربرگی که توسط مرورگر درخواست می شود:
GET /file.mkv HTTP/1.1
Range: bytes=3058590-5137179
نمونه سربرگی که از سرور در پاسخ دریافت می شود:
HTTP/1.1 206 Partial Content
Content-Range: bytes 3058590-5137179/8195769
Content-Type: video/x-matroska
در صورتی که سرور از این قابلیت پشتیبانی نکند به جای کد 206 کد 200 را در پاسخ ارسال می کند.

کدهای سری 300، انتقال (Redirection)


کدهای سری 300 مربوط به مواردی هستند که پاسخ به درخواست واسط کاربری از سمت سرور باید با انجام اعمال دیگری در سمت کاربر کامل شود، این عملیات معمولا توسط واسط کاربری (به طور مثال مرورگر) و بدون دخالت کاربر (به صورت خودکار) انجام می شود، به فرض ریدایرکت (Redirect) یا انتقال خودکار از یک آدرس URL به آدرسی دیگر با ارسال کدهای سری 300 انجام می شود، نکته مهم در اینجا این مسئله است که تعداد ریدایرکت ها نباید در یک درخواست بیش از چند بار تکرار شوند، در غیر اینصورت در اکثر مرورگرها تا میزان تکرار خاصی فرض بر حلقه (Loop) بی انتها شده و ارتباط قطع خواهد شد.

کد 300، انتخاب چندگانه (Multiple Choices)


کد وضعیت 300 HTTP برای مواقعی است که سرور در پاسخ به درخواست واسط کاربری چند منبع مختلف را در سربرگ Link پیشنهاد می دهد (به طور مثال یک فایل با فرمت های مختلف) و انتخاب Link اصلی را بر عهده مرورگر می گذارد، عمل انتخاب نیز معمولا به صورت خودکار انجام می شود یا اینکه سرور یکی از URL ها را به عنوان پیش فرض در سربرگ Location برگزیده و همراه پاسخ خود ارسال می کند.

کد 301، انتقال همیشگی (Moved Permanently)


کد وضعیت 301 HTTP یکی از مهم ترین و پرکاربردترین کدهای HTTP مخصوصا در علم SEO (سئو، بهینه سازی برای موتورهای جستجو) است، دریافت این کد از طرف سرور به معنی انتقال همیشگی منبع درخواستی به آدرس دیگری است، می توانیم از این کد وضعیت مخصوصا هنگامی که در آدرس لینک های سایت به هر دلیل تغییرات ثابت ایجاد می کنیم جهت هدایت ربات های خزنده موتورهای جستجو یا کاربران به آدرس اصلی به صورت دائمی و بدون از دست دادن ارزش و رتبه آدرس ها استفاده کنیم، نمونه پاسخ سرور با کد 301 می تواند به شکل زیر باشد:
HTTP/1.1 301 Moved Permanently
Location: http://example.com/new/url
در کنار کد 301 سربرگ Location حاوی آدرس URL جدید نیز ارسال می شود.
نکته: در اعمال این کد وضعیت باید دقت کافی داشته و قبلا تمام جنبه ها را تست و بررسی کرده باشیم، کد 301 در حافظه موقت (Cache) مرورگر ذخیره شده و ممکن است تغییر یا حذف آن از دسترس ما خارج باشد (در صورت نیاز صرفا کاربران می توانند حافظه موقت مرورگرشان را پاک کنند).

کد 302، پیدا شد (Found)


کد وضعیت 302 HTTP به این معنی است که منبع درخواستی یافت شده اما مرورگر باید موقتا به آدرس دیگری هدایت شود (Moved Temporarily)، این حالت با کد 301 متفاوت است،  در اینجا انتقال به صورت موقت انجام شده و آدرس اصلی همچنان معتبر و در دسترس خواهد بود، اما در ریدایرکت 301 منظور انتقال همیشگی، حذف آدرس فعلی و جایگزینی آن با آدرس جدید است.

کد 303، دیدن منبعی دیگر (See Other)


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

کد 304، بدون تغییر (Not Modified)


کدوضعیت 304 HTTP مربوط به مواقعی است که مرورگر همراه درخواست اصلی خود تقاضای اطلاعات مربوط به آخرین تغییرات فایل یا منبع را نیز از سرور دارد، اگر در فایل مورد نظر از تاریخ آخرین درخواست تا لحظه فعلی تغییری صورت نگرفته باشد (با هر تغییر در فایل های سرور، تاریخ آخرین تغییر در قسمت اطلاعات فایل ذخیره می شود)، سرور در پاسخ کد 304 Not Modified را ارسال می کند، این کار علاوه بر اینکه باعث صرفه جویی در منابع سرور می شود در افزایش سرعت پردازش در سمت کاربر نیز نقش بسیار موثری دارد و مرورگر مجبور نیست منابعی مانند فایل های JS، CSS، تصاویر و... را مجددا دانلود کند (فایل ها از حافظه موقت سیستم یا همان Cache مرورگر کاربر بارگذاری می شوند).

کد  305، استفاده از پراکسی (Use Proxy)


کد وضعیت 305 HTTP به این معنی است که سرور برای دسترسی به منبع درخواستی باید از یک پراکسی (Proxy) استفاده کند، پراکسی در واقع سرور میانجی بین واسط کاربری و سرور اصلی سایت است، البته به دلایل حفظ امنیت پیمایش وب کاربران برخی مرورگرها مانند فایرفاکس و اینترنت اکسپلورر از این قابلیت پشتیبانی نمی کنند، نمونه سربرگ های پاسخ سرور:
HTTP/1.1 305 Use Proxy
Location: http://proxy.example.com:8080
این کد وضعیت در حال حاضر منسوخ (Deprecated) شده است.

کد 306، تعویض پراکسی (Switch Proxy)


کد وضعیت 306 HTTP هم مشابه کد 305 است و مربوط به درخواست تغییر پراکسی، این کدها در حال حاضر منسوخ شده و کاربردی ندارند.

کد 307، انتقال موقت (Temporary Redirect)


کد وضعیت 307 HTTP مربوط به مواقعی است که منبع URL اصلی موقتا در آدرس دیگری قابل دسترسی است، این حالت با ریدایرکت 302 و 303 فرق دارد، در اینجا انتقال نیاز به تایید کاربر داشته و به صورت خودکار انجام نمی شود، متدهای استفاده شده (GET، POST و...) نیز باید بین URL اصلی و آدرس انتقالی مشترک باشد، بقیه شرایط مشابه کدهای 302 و 303 است و واسط کاربری باید لینک فعلی را همچنان و در مراجعات بعدی به عنوان آدرس اصلی مد نظر قرار دهد.

کد 308، انتقال دائمی (Permanent Redirect)


کد وضعیت HTTP 308 نیز مشابه ریدایرکت 301 است و انتقال آدرس در هر دو حالت همیشگی (Permanent) است، با این تفاوت که در انتقال با کد 301 الزامی به حفظ متد استفاده شده بین دو آدرس قدیمی و جدید نیست اما در کد وضعیت 308 واسط کاربری ملزم است از همان متدی که برای آدرس قدیمی استفاده کرده است برای آدرس جدید نیز استفاده کند، به طور مثال در کد 308 است نباید متد از POST به GET تغییر کند.

کدهای سری 400، خطای سمت کاربر (Client Error)


کدهای سری 400 مربوط به رویداد خطایی از جانب واسط کاربری (سمت کاربر یا Client) در ارائه درخواست به سرور است، به طور مثال ممکن است آدرس URL به صورت ناقص ارسال شده باشد، در پاسخ سرور معمولا و به طور پیش فرض به همراه سربرگ های HTTP عباراتی در توضیح خطای رخ داده ارسال می کند و دائمی یا موقتی بودن مشکل به وجود آمده را نیز تعیین خواهد کرد.

کد 400، درخواست نادرست (Bad Request)


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

کد 401، دسترسی نامعتبر (Unauthorized)


کد وضعیت 401 HTTP به معنی دسترسی غیر مجاز است، در این حالت منبع درخواستی به طور کامل محدود نشده است و درخواست کاربر نیاز به تایید مجوزهای دسترسی (به طور معمول نام کاربری و کلمه عبور) دارد، به همین دلیل سرور در پاسخ خود سربرگ از نوع WWW-Authenticate را ارسال کرده و از کاربر می خواهد تا اعتبار خود را معمولا با درج نام کاربری و کلمه عبور در فرم اثبات کند.

کد 402، نیاز به پرداخت (Payment Required)


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

کد 403، دسترسی غیر مجاز (Forbidden)


کد وضعیت 403 HTTP مربوط به مواقعی است که کاربر درخواست منبعی را از سرور دارد که دسترسی به آن برای همه کاربران محدود شده است، این حالت با کد 401 متفاوت است، در اینجا حتی با ورود نام کاربری و کلمه عبور نیز امکان دسترسی مقدور نخواهد بود، معمولا مدیران سایت ها دسترسی مستقیم به فولدرها و نمایش فایل ها به صورت لیست را غیر فعال می کنند، در نتیجه وقتی آدرس یک فولدر فیزیکی (فولدری که واقعا در زیرمجموعه دایرکتوری public_html یا www وجود دارد و نمایشی نیست) را از آن سرور درخواست کنیم احتمالا با خطای 403 مواجه خواهیم شد، نمونه پاسخ سرور:
HTTP/1.1 403 Forbidden
Content-Type: text/html
Content-Length: 69

<h1>403: you don't have permission to access '/folder-name/' on this server!</h1>
متن همراه پاسخ در صفحه مرورگر نمایش داده می شود.

کد 404، منبع درخواستی پیدا نشد (Not Found)


کد وضعیت 404 HTTP در مواقعی کاربرد دارد که واسط کاربری تقاضای منبعی (به طور مثال یک فایل یا صفحه) را از سرور دارد که در حال حاضر موجود نبوده یا حذف شده است و یا ممکن است نام آن تغییر کرده باشد اما احتمال دارد در آینده مجددا آن منبع ایجاد شده و یا با نام قبلی در دسترس قرار گیرد، کد وضعیت 404 را معمولا با نام خطای 404 یا Not Found می شناسند، اغلب موتورهای جستجو در مواجه با این کد خطا در فواصل زمانی مشخص مجدد منبع مورد نظر را درخواست می کنند و اگر تا تعداد مشخصی همچنان پاسخ 404 دریافت کنند نهایتا منصرف خواهند شد، لذا در صورتی که بخواهیم ارزش لینک های سایت که ممکن است به اشتباه دچار این اشکال شده اند حفظ شود باید در مدت زمان کوتاهی مشکل این گونه خطاهای ناخواسته را برطرف کنیم.

کد 405، متد غیر مجاز (Method Not Allowed)


کد وضعیت 405 HTTP به این معنی است که متد استفاده شده توسط کاربر برای درخواست یک منبع از سرور مجاز نمی باشد، به فرض استفاده از متد GET در حالتی که منبع درخواستی نیاز به ارسال منابعی از طریق متد POST دارد، یا استفاده از متد PUT در نوشتن یک فایل برای فایل هایی که فقط حالت خواندنی (Read-only) دارند، در این موارد معمولا سرور در پاسخ متد مجاز را نیز ارسال خواهد کرد.

کد 406، غیر قابل قبول (Not Acceptable)


کد وضعیت 406 HTTP ممکن است به دلیل وجود کاراکترهای غیر استاندارد در درخواست ارسالی رخ دهد، برخی از سرورها به دلایل امنیتی نیز ممکن است این کد را در پاسخ ارسال کنند، به طور مثال ماژول mod_security در سرورهای Apache از پذیرفتن برخی آدرس های وب (که از نظر امنیت، سرور آنها را مشکوک تشخیص دهد) خودداری کرده و پیام Not Acceptable دریافت خواهیم کرد.

کد 407، نیاز به مجوز پراکسی (Proxy Authentication Required)


عملکرد کد وضعیت 407 HTTP نیز شبیه کد 401 است، با این تفاوت که در اینجا ابتدا کاربر (واسط کاربری) باید از طریق یک پراکسی اعتبار خود را اثبات کند.

کد 408، پایان حداکثر زمان درخواست (Request Timeout)


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

کد 409، تعارض (Conflict)


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

کد 410، محذوف (Gone)


کد وضعیت 410 HTTP به معنی حذف همیشگی منبع درخواستی از سرور است، بر خلاف خطای 404 کد 410 به واسط کاربری یا موتورهای جستجو می گوید که نباید مجددا آن منبع را درخواست کنند چون برای همیشه حذف شده و به عبارتی لینک مُرده است، البته در عمل موارد استفاده از این کد خیلی محدود است و تنظیم خطای 404 از نظر بهینه سازی بهتر و اصولی تر است.

کد 411، عدم ارسال طول درخواست (Length Required)


کد وضعیت 411 HTTP به این معنی است که طول محتوای ارسالی از سمت کاربر تعیین نشده و به همین دلیل سرور از پاسخ به درخواست واسط کاربری خودداری می کند، معمولا هر درخواست مرورگر شامل محتوایی در قسمت اصلی یا Request Body است که اندازه این قسمت باید در سربرگ Content-Length ارسال شود.

کد 412، پیش شرط رد شده (Precondition Failed)


کد وضعیت 412 HTTP به این معنی است که درخواست واسط کاربری به همراه پیش شرطی بوده که توسط سرور رد شده است و بررسی های اولیه سرور نتیجه نادرست (False) دارد، به طور مثال ممکن است این شرط برای سرور تعیین شده باشد که کاربر صرفا در شرایطی مجاز باشد محتوا را به روزرسانی کند که از تاریخ آخرین ویرایش او کاربر دیگری آن محتوا را ویرایش نکرده باشد، در صورت عدم برقراری این شرط سرور می تواند خطای 412 یا پیش شرط رد شده (Precondition Failed) را برگرداند.
نکته: تعیین شرط توسط یکی از سربرگ های If-Match، If-None-Match، If-Modified-Since و If-Unmodified-Since انجام می شود.

کد 413، درخواست خیلی طولانی (Request Entity Too Large)


کد وضعیت 413 HTTP در حالتی رخ می دهد که درخواست ارسالی شامل محتوایی است که اندازه آن بیش از انتظار سرور است و اغلب ارتباط توسط سرور قطع خواهد شد، اگر این حالت موقتی باشد در پاسخ سربرگ Retry-After نیز ارسال می شود و واسط کاربری مجددا و در دفعات بعدی می تواند درخواست خود را ارسال کند، موارد کاربرد این کد خطا می تواند به طور مثال زمانی باشد که کاربر فایلی را جهت آپلود ارسال می کند که حجم آن از حداکثر حجم مجاز بیشتر است یا زمانی که فرآیندهای دارای اولویت (Preemptive) در یک API به طور غیرقابل تصوری بیش از توان هسته پردازشگر برنامه است.
نکته: خطای 413 را با عنوان Payload Too Large نیز می نامند.

کد 414، آدرس وب خیلی طولانی (Request-URI Too Long)


کد وضعیت HTTP 414 به معنی بیش از حد طولانی بودن آدرس وب (URI) درخواستی است و سرور قادر به پردازش آن نیست، هرچند مرورگرها و موتورهای جستجو به صورت خودکار اندازه استانداردی را برای میزان طول مجاز آدرس URL اعمال می کنند با این حال بررسی مجدد آن در سرور در مواردی مانند جلوگیری از حملات DDoS (مخفف Distributed Denial-of-Service attacks) و یا بروز خطاهای ناخواسته (Bug) در برنامه می تواند مفید باشد.

کد 415، فرمت پشتیبانی نشده (Unsupported Media Type)


کد وضعیت 415 HTTP به دلیل ارسال محتوایی به همراه درخواست ارسالی (به فرض آپلود فایل یا تصویر) است که از نظر سرور قابل پذیرش نیست یا سرور فرمت آن را پشتیبانی نمی کند، به عبارتی در مواردی که محتوای ارسال شده از نظر سرور نامفهوم باشد می توانیم کد خطای 415 را تنظیم کنیم، این موارد معمولا زمانی اتفاق می افتد که با وجود ارسال محتوا سربرگ Content-Type در درخواست واسط کاربری در نظر گرفته نشده باشد.

کد 416، حد درخواستی غیر اقناع کننده (Requested Range Not Satisfiable)


کد وضعیت HTTP 416 به دلیل ارسال درخواست قسمتی از یک منبع (به فرض بخشی از یک فایل) از سرور در حالتی است که آن قسمت وجود ندارد، به طور مثال واسط کاربری در هنگام ادامه دانلود قسمتی از یک فایل را درخواست می کند که از حداکثر طول کل قسمت های آن بیشتر است، از نظر کاربردی این کد وضعیت نقطه مقابل 206 Partial Content است که قبلا بررسی کردیم، سرورهایی که از قابلیت دانلود چندبخشی پشتیبانی نمی کنند معمولا به جای کد 206 یا 416 کد وضعیت 200 برمی گردانند.

کد 417، انتظارات رد شده (Expectation Failed)


کد وضعیت 417 HTTP به این معنی است که سربرگ های HTTP ارسالی واسط کاربری با انتظارات و قابلیت های پشتیبانی شده سرور همخوانی ندارد یا سربرگی ارسال نشده است، معمولا واسط کاربری در مواقعی که احتمال دریافت خطای 417 وجود دارد (به فرض در هنگام ارسال فایل های حجیم) ابتدا در سربرگ های HTTP مقادیر Expect: 100-continue را به همراه نوع و حجم فایل ارسال می کند، اگر پاسخ سرور هم 100 Continue بود فایل اصلی ارسال می شود اما اگر پاسخ سرور 417 Expectation Failed بود یعنی سرور به هر دلیل ادامه فرآیند را پذیرش نمی کند.

کد 421، درخواست اشتباه هدایت شده (Misdirected Request)


کد وضعیت HTTP 421 به معنی درخواست هایی است که به اشتباه به سرور ارجاع داده می شود، این کد وضعیت در نسخه 2/0 معرفی شده اما ممکن است در سرورهای 1/1 نیز فعال باشد، بر این اساس اگر سرور تشخیص دهد که درخواست کاربر به اشتباه ارسال شده است به طور مثال یک ساب دامین درخواست شود که برای سرور تعریف شده نباشد در پاسخ با تنظیم کد 421 واسط کاربری را جهت تغییر سرور راهنمایی می کند.
نمونه درخواست کاربر:
GET /page.html HTTP/1.1
Host: sub.example.com
نمونه پاسخ سرور:
HTTP/1.1 421 Misdirected Request
Content-Type: text/html

<h1>The client needs a new connection for this request as the requested host name does not match the Server Name!</h1>
نکته: از نسخه 1/1 واسط کاربری ملزم است سربرگ Host را ارسال کند.

کد 425، خیلی زود (Too Early)


کد وضعیت HTTP 425 مربوط به ارتباط امن در بستر پروتکل HTTPS است، از نظر فنی برای برقراری ارتباط امن بین واسط کاربری و سرور نیاز به استفاده از TLS (مخفف Transport Layer Security) است که در واقع همان نسخه جدید SSL (مخفف Secure Sockets Layer) است که یک کانال امن برای رد و بدل کردن داده ها به صورت رمزنگاری شده محسوب می شود، فرآیند آماده سازی برای اتصال امن با به اصطلاح دست دادن (Handshake) بین واسط کاربری و سرور شروع می شود، اگر قبل از تکمیل این فرآیند محتوایی از جانب مرورگر ارسال شود احتمالا خطای 425 از طرف سرور برگردانده می شود که یعنی برای پذیرش محتوا خیلی زود است!
نکته: معمولا این خطا در هنگام اعمال تنظیمات سرور برای مدیران فنی ممکن است رخ دهد و کمتر کاربران سایت با آن مواجه می شوند.

کد 426، نیاز به ارتقاء (Upgrade Required)


کد وضعیت HTTP 426 در مواقعی کاربرد دارد که سرور امکانات واسط کاربری را نیازمند ارتقاء تشخیص دهد، به طور مثال ممکن است واسط کاربری در بستر نسخه 1/0 پروتکل HTTP درخواست را ارسال کرده باشد و سرور نیاز به حداقل نسخه 1/1 داشته باشد، یا سرور پروتکل را از HTTP به HTTPS یا Websocket تغییر دهد، در این حالت کد 426 به همراه سربرگ Upgrade که در آن نوع ارتقاء ذکر شده برگردانده می شود، در عمل استفاده از کد وضعیت 426 خیلی متداول نیست و کد 101 Switching Protocols کاربرد بیشتری دارد.

کد 428، پیش شرط موردنیاز (Precondition Required)


کد وضعیت HTTP 428 مربوط به تعیین پیش شرط است با این تفاوت که بر خلاف کد 412 که واسط کاربری شرط مد نظر را از سرور درخواست می کند در اینجا سرور است که در پاسخ از واسط کاربری می خواهد تا درخواست را با پیش شرط مد نظرش ارسال کند که این کار با تنظیم کد 428 Precondition Required و استفاده از یکی از سربرگ های If-Match، If-None-Match، If-Modified-Since و If-Unmodified-Since انجام می شود، معمولا این کار با هدف جلوگیری از تداخل فرآیندهای چند کاربره مانند ویرایش همزمان یک فایل صورت می گیرد.

کد 429، تعداد درخواست ها خیلی زیاد (Too Many Requests)


کد وضعیت HTTP 429 مربوط به موقعیتی است که تعداد درخواست های در حال پردازش سرور از میزان توان واقعی یا توان در نظر گرفته شده در تنظیمات سرور بیشتر است، در این حالت سرور می تواند با تنظیم کد وضعیت 429 Too Many Requests به واسط کاربری تفهیم کند که به علت تعداد زیاد درخواست های همزمان فعلا قادر به پذیرش درخواست جدید نیست و در صورت تمایل واسط کاربری می تواند در لحظاتی بعد که معمولا در سربرگ Retry-After مشخص می شود مجددا درخواستش را مطرح کند.
تنظیم این کد برای برنامه ها و API هایی که می خواهند به تعداد محدودی کاربر در لحظه پاسخگو باشند می تواند مفید واقع شود.

کد 431، اندازه فیلدهای درخواست خیلی زیاد (Request Header Fields Too Large)


کد HTTP 431 در مواقعی کاربرد دارد که مرورگر در درخواست خود حجم زیادی از داده را در یک یا مجموع چند سربرگ ارسال می کند، در این شرایط ممکن است سرور خطای 431 Request Header Fields Too Large را برگرداند که در این صورت مرورگر می تواند یک یا چند سربرگ را حذف و مجدد درخواست را ارسال نماید، این کد وضعیت معمولا در خصوص کوکی ها کاربرد دارد.

کد 451، به دلایل قانونی در دسترس نیست (Unavailable For Legal Reasons)


کد وضعیت HTTP 451 در مواقعی کاربرد دارد که دسترسی به منبع مورد نظر به دلایل قانونی (به طور مثال مسدود شدن توسط مراجع دولتی) مقدور نیست، در این شرایط سرور می تواند با تنظیم کد 451 Unavailable For Legal Reasons واسط کاربری را در جریان این اتفاق قرار دهد، در حالت استاندارد سرور باید در سربرگ Link آدرس مرجع مسئول را نیز ارسال نماید، البته این مرجع سیاستگذار نیست بلکه مرجعی است که مسئولیت قانونی دارد به طور مثال سایت Youtube ممکن است در قسمت Link آدرس سایت Google را قرار دهد.

کدهای سری 500، خطای سمت سرور (Server Error)


برخلاف کدهای سری 400 که اغلب ناشی از نقص یا خطایی از سمت کاربر است کدهای سری 500 به معنی نقص داخلی عموما موقت سرور است، به عبارتی همین که سرور کد خطا برمی گرداند یعنی مشکل اساسی مانند Down کامل وجود ندارد و احتمالا علت خطا باگ نرم افزاری بوده یا اینکه تیم فنی به طور موقت در حال انجام به روزرسانی یا تغییراتی است و در ساعات آینده مشکل رفع خواهد شد.

کد 500، خطای داخلی سرور (Internal Server Error)


کد وضعیت 500 HTTP به معنی وقوع خطای داخلی در سرور (Internal Server Error) است و معمولا به دلیل نقص تنظیمات یا انجام به روزرسانی نرم افزاری یا سخت افزاری رخ می دهد، تنظیم این کد در مواقعی که می خواهیم در سایت تغییراتی اعمال کنیم که باعث از دسترس خارج شدن موقت آن می شود می تواند مفید باشد و در دانش بهینه سازی برای موتورهای جستجو (SEO) توصیه شده است.
یکی از موارد شایع برای دریافت خطای 500 در سرورهای لینوکس دستکاری دستورات فایل htaccess و وجود خطا در این دستورات است.

کد 501، غیر مجهز یا تکمیل نشده (Not Implemented)


کد وضعیت 501 HTTP بدین معنی است که سرور قادر به پردازش درخواست واسط کاربری نیست (معمولا به دلیل پشتیبانی نشدن متد ارسالی به جهت نقص امکانات مورد نیاز)، این خطا مشابه کد 405 Method Not Allowed است با این تفاوت که خطای 405 یعنی سرور به کلی از متد پشتیبانی نمی کند اما خطای 501 یعنی سرور چنین قابلیتی دارد اما به دلیل نقص تنظیمات در حال حاضر قادر به انجام درخواست واسط کاربری نیست.

کد 502، خطای دروازه میانجی (Bad Gateway)


کد وضعیت 502 HTTP به دلیل عدم دریافت پاسخ از سرورهای بالادست (Upstream) است و سرور فعلی به عنوان یک دروازه میانجی عمل می کند، در این حالت معمولا بین سرور اصلی و واسط کاربری دروازه های میانجی (Gateway) وجود دارد که قادر به تکمیل فرایند ارسال و دریافت پاسخ نیستند، این خطا ممکن است با چند بار تلاش مجدد از سمت کاربر رفع شود یا اینکه حداقل در کوتاه مدت قابل رفع نباشد.
شایع ترین حالت دریافت خطای 502 استفاده از برنامه های پراکسی است که واسط بین مرورگر و سایت مد نظر هستند.

کد 503، سرویس خارج از دسترس (Service Unavailable)


دریافت کد وضعیت 503 HTTP به معنی غیر قابل دسترس بودن موقت سرور به دلیل ترافیک زیاد (Overload منابع) یا انجام به روزرسانی است، معمولا این حالت پس از چند دقیقه یا چند ساعت به خودی خود رفع خواهد شد، عمدتا سرورها در پاسخ سربرگ Retry-After را جهت تعیین مدت زمان مد نظر جهت تلاش مجدد به صورت نمونه زیر ارسال می کنند:
HTTP/1.1 503 Service Unavailable
Content-Type text/plain
Retry-After: 3600

Server is temporarily unable to handle the request. This may be due to the server being overloaded or down for maintenance.
دریافت این خطا برای سایت های با بازدید بالا محتمل است، مدت زمان در قسمت Retry-After به ثانیه است.

کد 504، پایان حداکثر زمان دروازه میانجی (Gateway Timeout)


کد وضعیت 504 HTTP نیز بدین معنی است که سرور به عنوان یک دروازه میانجی (Gateway) قادر به دریافت پاسخ از سرورهای بالا دست (Upstream) در حداکثر زمان مجاز نیست.

کد 505، نسخه HTTP پشتیبانی نمی شود (HTTP Version Not Supported)


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

کد 511، نیازمند تائید اعتبار شبکه (Network Authentication Required)


کد HTTP 511 مربوط به تائید اعتبار در شبکه های عمومی کنترل شده نظیر Wi-Fi رایگان در هتل ها، رستوران ها، فرودگاه ها، شبکه های اداری، سازمانی و... است که معمولا در ابتدای اتصال به اینگونه شبکه ها جهت استفاده از اینترنت صفحه ورود نام کاربری و کلمه عبور نمایش داده می شود (به این صفحه وب در اصطلاح Captive Portal می گویند) و کاربر باید اطلاعات خود را جهت تائید اعتبار وارد کند، اکثر مرورگرها با دریافت کد 511 برای اعتبارسنجی اینگونه شبکه ها پس از ورود و قبل از پیمایش وب به آدرس های URL مد نظرشان درخواست ارسال می کنند تا مطمئن شوند که ارتباط اینترنت واقعا برقرار است، به فرض پس از ورود نام کاربری و کلمه عبور ممکن است به یکی از آدرس های زیر هدایت شویم:
http://detectportal.firefox.com/success.txt
http://connectivitycheck.gstatic.com/generate_204
http://www.msftconnecttest.com/connecttest.txt
http://captive.apple.com/hotspot-detect.html
معمولا تنها باید عبارات متنی کوتاه به فرض success در پاسخ آدرس های استاندارد بالا برگردانده شود که به معنی برقراری موفق اتصال اینترنت است.
نکته: علاوه بر موارد گفته شده که طبق استاندارد W3C هستند، کدهای وضعیت دیگری مربوط به سرورها و پروتکل های متفرقه (مایکروسافت، WebDAV، HTCPCP و...) و سایر برنامه های وب و اپلیکیشن ها وجود دارد که به جهت کاربردهای خاص و عمومی نبودن از ذکر و توضیح آنها خودداری می کنیم.
دسته بندی: مهارتهای وب » دانستنی ها
related مطالب بیشتر:
مفهوم پلتفرم (Platform) و فریم ورک (Framework)
چگونه با برنامه Outlook ایمیل ارسال و دریافت کنیم؟
حمله DDoS چیست و چگونه از آن جلوگیری کنیم؟
دلایل بهم ریختن قالب وبلاگ و سایت
پروتکل امن HTTPS و رمزنگاری SSL چیست؟
دیدگاه
more ۱۳۳ دیدگاه برای این مطلب ارسال شده است.
more دیدگاه جدید بر اساس تاریخ ارسال در انتهای دیدگاه های موجود نمایش داده می شود.
davood
۱۶:۵۷ ۱۳۹۱/۱۰/۱۵
با سلام وخسته نباشید
اگه ممکنه راه خلاصی از خطای 502 اینترنت را بگین چون هر سایتی فعلا میخوام باز کنم باهاش مواجه ام
قبلا این مشکل رو نداشتم
خطای 502 معمولا به علت استفاده از پراکسی یا V-P-N رخ می دهد، در واقع سرور پراکسی شما دچار مشکلی است یا اینکه در ارتباط با برخی سرورها (برخی کشورها) دچار مشکل می شود.
hamooon
۱۱:۵۶ ۱۳۹۲/۰۱/۱۱
سلام.
اگه امکانش هست میشه بگین خطای 406 رو میتونم رفعش کنم یا نه؟
اگر مدیر سایت هستید، لینکتان را بررسی کنید و موارد مشکوکی مانند عبارات و دستوراتی که مربوط به دیتابیس هستند (مانند delete و...) را حذف نمائید، در غیر این صورت باید به مدیر سایت مربوطه اطلاع دهید، چون این مشکل به کامپیوتر و مرورگرتان ارتباط ندارد و از سرور آن سایت است.
حامد دیولاخ
۰۱:۵۶ ۱۳۹۲/۰۱/۱۹
proxy error 502 and proxy error 504
... قبلا مشکلی نداشتم ولی الان بدون ... هیچ سایتی نمیتونم برم ... با ... هم با مکافات میتونم برم.
تنظیمات مرورگر اینترنت اکسپلورر یا فایرفاکس را بررسی کنید، در اکسپلورر از سربرگ Tools گزینه Internet Options را انتخاب کنید و از قسمت Connection تنظیمات Settings و LAN Settings را بررسی کنید، در این دو قسمت نباید تیک استفاده از پراکسی فعال باشد (ارتباط باید از درگاه عادی صورت گیرد)، در مرورگر فایرفاکس از سربرگ Tools گزینه Options را انتخاب کنید، سپس از منوی Advanced سربرگ Network و Settings دقت کنید که تنظیمات روی حالت No Proxy باشد.
sta69
۱۲:۳۳ ۱۳۹۲/۰۱/۱۹
عزیز منم مشکل حامد رو دارم توی سایتای دیگه زده بود که باید داخل 127.0.0.1: http و داخل port:8580 بزنیم من این کار و کردم ولی بازم اخطار 502 و 504 رو داشتم آخرش نفهمیدیم باید سریال بزنیم یا روی نو پراکسی تیک بزنیم؟
حالت no proxy برای مواردی است که می خواهید به صورت عادی به وب دسترسی داشته باشید، اما برای استفاده از درگاه یک پراکسی باید اطلاعات پورت و لوکال هاست را تنظیم کنید.
hista
۱۱:۵۰ ۱۳۹۲/۰۱/۲۲
سلام . من قبلا با پراکسی 8580 میتونستم تو سایتای ... برم اما الان خیلی وقته دیگه نمیتونم . با مروگر گوگل کروم یا ترچ میرم که ارور 324 یا 504 رو به من میده. تو رو خدا منو راهنمایی کنید که چی کار باید بکنم. با اکسپلویر هم سرعت خیلی پایینه و همش قطع میشه
متاسفانه در این مورد نمی توانیم کمکی کنیم.
حامد
۱۶:۴۱ ۱۳۹۲/۰۱/۲۲
http/1.0 403 Forbidden
سلام
برای رفع این مشکل چیکار باید کرد؟؟
این خطا یعنی شما مجوز دسترسی به فایل یا صفحه مورد نظر را ندارید!
اگر پیغام اشتباه است، با مدیر سایت مربوطه در میان بگذارید.
۲۱:۵۲ ۱۳۹۲/۰۱/۲۷
سلام لطفا بگویید که چطور ازدست خطای bad request میتوان رهایی پیدا کرد من برای باز کردن ادامه مطلب در وبلاگم برای هر پست با این مشکل مواجه میشوم.ممنون میشم از راهنماییتون
تگی در قالب وبلاگ شما به صورت ناقص است که باعث می شود در لینک URL ادامه مطلب، عباراتی غیر استاندارد اضافه شود، باید قالب وبلاگ خود را ویرایش کرده و تگ نادرست را اصلاح کنید.
۱۰:۳۲ ۱۳۹۲/۰۱/۲۸
ممنون از راهنماییتون ولی من دقیقا متوجه نشدم که چکار باید بکنم این تگ رو که میگید کجای قالب وجود دارد؟ ممنون میشم که کمی بیشتر و واضحتر توضیح دهید.
به جهت اینکه به سورس قالب شما دسترسی نیست، نمی توان دقیقا گفت مشکل از کجای قالب است، اما در کل باید در بلاک BLOGFA به دنبال قسمتی شبیه به خط زیر باشید:
<BlogExtendedPost><br><a href="<-PostLink->">ادامه مطلب</a></BlogExtendedPost>
۱۴:۱۰ ۱۳۹۲/۰۱/۲۸
خیلی ممنون از راهنماییتون مشکل کاملا حل شد .ممنون از لطفتون
سارا
۱۰:۴۴ ۱۳۹۲/۰۲/۲۶
سلام. سیستم من مدام ارور 504 میده و بدون استفاده از ... هیچ سایتی حتی گوگل رو باز نمی کنه. خواهش می کنم راهنماییم کنید.
به احتمال زیاد مرورگر شما به صورت پیش فرض از تنظیمات پراکسی استفاده می کند، برای تغییر این تنظیمات در مرورگر فایرفاکس مسیر زیر را دنبال کنید:
Tools->Options->Advanced->Network->Settings
در این قسمت تنظیمات را بر روی No proxy قرار دهید.
مرتضی
۰۳:۵۴ ۱۳۹۲/۰۲/۳۰
سلام . فداتون بشم چقدر کمکم کردید . دستتون درد نکنه
استاتیرا
۰۰:۲۹ ۱۳۹۲/۰۳/۲۰
سلام. تمام مرورگرهای من همین مشکلات دوستان رو دارن که خودم قبلا خودم در حالت no proxy گذاشته بودمشون.
ولی من سایت هایی رو که احتیاج به پراکسی دارن رو احتیاج دارم!
خیلی برام ضروری هست.
آیا اینترنت ملی شده؟؟ هیچ پراکسی جواب نمیده...
خیر! از کار افتادن مواردی که اشاره کردید ارتباطی به ملی شدن اینترنت یا به طور صحیح تر، شبکه اینترانت ملی ندارد.
استاتیرا
۰۰:۳۰ ۱۳۹۲/۰۳/۲۰
ارور 118 به چه معناست؟؟؟
این خطا معمولا مربوط به مرورگر گوگل کروم است و علت آن عدم امکان برقراری ارتباط با سرور درخواستی است که خود می تواند دلایل متعددی داشته باشد:
- down بودن سرور آدرس درخواستی
- استفاده از پراکسی و...
- قطع اتصال توسط فایروال ها، آنتی ویروس ها و...
- وجود مشکل در ISP
اگر مکشل تنها با برخی سایت ها وجود دارد، تنظیمات سیستم و مرورگرتان صحیح است، اما اگر برای همه سایت ها این مشکل هست، باید تنظیمات مرورگر و سیستم را چک کنید.
۰۰:۱۹ ۱۳۹۲/۰۴/۰۱
سلام . ببخشید من وقتی با گوگل کروم یه آدرس رو وارد می کنم ارور 324 میده . نمیدونم چیکار باید بکنم !!!!! ضمن اینکه معمولا این ارور رو برای یه صفحه خاص میده .
ممنون میشم اگه کمکم کنین
خطای
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
مربوط به تنظیمات خاص گوگل کروم برای افزایش سرعت اتصال از طریق SSL یا TLS است (قابلیت False Start)، از آنجایی که این قابلیت نیاز به پشتیبانی سرور سایت درخواستی دارد و از طرفی در برخی سرورها هنوز فعال نیست، لذا خطای فوق یا مشابه آن (مانند
Error 101 (net::ERR_CONNECTION_RESET): Unknown error.
) رخ می دهد.
برای غیر فعال کردن این قابلیت بر روی آیکن گوگل کروم کلیک راست و گزینه Properties را انتخاب کنید، در قسمت Target آدرس فایل اجرایی برنامه را مشاهده می کنید، به طور مثال:
"C:\Program Files\Google\Chrome\Application\chrome.exe"
نکته: این آدرس ممکن است با توجه به نسخه سیستم عامل متفاوت باشد.
تنها کاری که باید انجام دهید، ویاریش قسمت Target به صورت یکی از حالت های زیر است:
"C:\Program Files\Google\Chrome\Application\chrome.exe" –use-system-ssl
یا
"C:\Program Files\Google\Chrome\Application\chrome.exe" –disable-ssl-false-start
و یا
"C:\Program Files\Google\Chrome\Application\chrome.exe" –use-system-ssl –disable-ssl-false-start
نکته 1: فاصله خالی بین دستورات باید تنها به اندازه یک کاراکتر باشد.
نکته 2: آدرس محل نصب در کدهای بالا فرضی است و لذا تنها به قست بعد از علامت " توجه کنید.
سمیرا
۱۸:۵۹ ۱۳۹۲/۰۴/۱۶
سلام
من در مرورگر فایرفاکس برای بعضی سایت ها با خطای 400
مواجه می شم Bad Request
ولی همان سایت ها را روی سیستم های دیگه به راحتی می تونم ببینم چطور این مشکل رو حل کنم
ممنون میشم اگه جواب سوالم رو بدید
ظاهرا این مشکل یک باگ در مرورگر فایرفاکس (برخی نسخه ها) است و تا این لحظه راه حل منظقی برای آن ارائه نشده، یک راه حذف کوکی ها و اطلاعات cache شده از آن سایت در مرورگر است:
Tools > Advanced > Network > Cached Web Content: "Clear Now"
Tools > Privacy > Cookies: "Show Cookies"
راه حل دیگر حذف نسخه فعلی و نصب آخرین نسخه فایرفاکس است.
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
4 × 6
20 × 20
=
آخرین دیدگاه ها
more برای دسترسی سریع به یادداشت مربوطه می توانید از لینک مطلب در کادر زیر استفاده کنید.
سعیدی
سلام می تونید اینو اصلاح کنید؟ چون من با توضیحات شما یاد نگرفتم خیلی ممنون اگه یکبار اصلاح کنید واسه بعد یاد...
۱۴۰۳/۰۲/۲۲

سعیدی
دست شما درد نکنه وقتی اینطوری تغییر میدم و به class می نویسم کار نمی کنه و ارور میده
۱۴۰۳/۰۲/۲۱

سعیدی
دست شما درد نکنه خیلی خوب بود این یکی رو چطوری فراخوانی کنم؟ این واسه مناسبت هاست خیلی ممنون
۱۴۰۳/۰۲/۱۹

سعیدی
با سلام آیا می شه این تابع رو بصورت class نوشت؟ میخوام وقتی کد ملی میدم با این تابع فراخوانی بشه و شهر...
۱۴۰۳/۰۲/۱۹

پرتو
مگه شما دارین اموزشش رو؟ آدرسش رو میزارید؟ یا اگر سایتی رو میشناسید که آموزش داده باشه معرفی کنید ممنون میشم من خیلی گشتم توی...
۱۴۰۳/۰۲/۱۸

پــرتو
سلام خوبید ؟ خسته نباشید گوشی پدرم شیاومی هست ایمیلمو ثبت کردم داخلش بعد می خواستم حذفش کنم نمیشد می گفت همه داده های توی...
۱۴۰۳/۰۲/۱۶

vip
خیلی ممنونم از شما خیلی عالی شد میشه مثل تبلیغ بلاگفا باشه یعنی زیر صفحه نمایش داده بشه و صفحه رو سیاه نکنه که تا...
۱۴۰۳/۰۲/۰۵

vip
با سلام و خسته نباشید استاد چند وقت پیش این کد رو از شما گرفتم این کد خیلی خوبه و کاربر رو هم...
۱۴۰۳/۰۲/۰۴

پـــرتو
سلام خسته نباشید شرمنده مزاحم میشم یه سوال داشتم می خواستم بپرسم که چرا بلاگفا باز نمیشه برام؟ کلا هر وبلاگی که مربوط به بلاگفا...
۱۴۰۳/۰۲/۰۲

هادی عبداله زاده
با تشکر از شما دوست عزیز با order_id درستش کردم موقع برگشت order_id رو بر می گردونه اینطوری کردم که از طریق اون شناسه...
۱۴۰۳/۰۱/۲۲

هادی عبداله زاده
با تشکر از شما برای ارسال درخواست درست بود و به بانک هم وصل شد فقط برای وریفای چیکارش کنم؟
۱۴۰۳/۰۱/۲۲

هادی عبداله زاده
با سلام و خسته نباشید سال نو شما مبارک من یه کد واسه انتقال به درگاه دارم واسه زرین پال هست ...
۱۴۰۳/۰۱/۲۰

پـــرتو
ببخشید ممنون از جوابتون ولی یه سوال اگر بخوام همون شماره رو با حساب کاربری جدید با همون شماره رو داشته باشم داده های قبلی...
۱۴۰۳/۰۱/۱۹

حسین بلاگ
من یه صفحه ارسال متن دارم میخوام کاربرها وقتی واسه م پیام میدن وقتی روی اون دکمه کلیک می کنن بهشون بگه لطفا صبر...
۱۴۰۳/۰۱/۱۹

شریفی
سلام و عرض احترام سال نو رو بهتون تبریک میگم انشالله سال خوبی داشته باشین یه سرویس وبلاگدهی داریم که قصد داریم به...
۱۴۰۳/۰۱/۱۵

فرهادی
سلام ببخشید یه مشکل دارم این صفحه رو نگاه کنید چند بار توی سورس تکرار شده نمی تونم الگوی توضیحاتش رو استخراج...
۱۴۰۳/۰۱/۱۰

فرهادی
با تشکر از شما یه مشکل دیگه برام پیش اومده واسه این کد وقتی echo می گیرم تومان باهاش میاد وقتی میخوام فقط...
۱۴۰۳/۰۱/۰۹

سید صالح
با سلام و خسته نباشید من یک فرم ساده دارم که کاربر باید پر کنه چون سوال امنیتی و اینا نداره ربات ها همه...
۱۴۰۳/۰۱/۰۷

فرهادی
با تشکر از شما یه سوال دیگه هم دارم توی تعدادی از سایتهای فروشگاهی صفحات سایت مپ به جای لینک صفحات حاوی لینکهایی هستند...
۱۴۰۳/۰۱/۰۶

فرهادی
با سلام و درود سال نو رو بهتون تبریک میگم یه سوال من میخوام لینکهای داخل صفحه sitemap.xml سایتها رو دربیارم کدش رو هم...
۱۴۰۳/۰۱/۰۲
  در انتظار بررسی: ۰
 پاسخگویی به سوالات ممکن است تا ۲۴ ساعت زمان ببرد.