لماذا صفحة الخطاء في المواقع ترمز الي رقم 404

11

29

جميع البرمجيات ترمز الاخطاء والمعلومات بارقمام معينة وتكون مصنفة بشكل او بترتيب معين ,,

وكذلك في الاباتشي ,

في الاباتشي كل رمز يعني شيء معين والرموز مقسمة على النحو التالي :

1xx Informational

اي ان الرموز التي تبدأ برقم 1 هي خاصة للمعلومات

مثل 101 وتعني Switching Protocols

2xx Success

اي ان الرموز التي تبدأ برقم 2 تعني معلومات عن نجاح العملية

مثل 200 وهي تعني OK او نجاح الطلب

او 204 التي تعني لا يوجد محتوى

3xx Redirection

اي ان الرموز التي تبدأ برقم 3 خاصة بامور التحويل او اعادة التوجيه

مثل 305 والتي تعني استخدام بروكسي

4xx Client Error

اي ان الرموز التي تبدأ برقم 4 هي خاصة بالاخطاء من جهة العميل

مثل 404 وتعني ان العميل يطلب صفحة غير متوفرة

5xx Server Error

الرموز التي تبدأ برقم 5 هي اخطاء من جهة السيرفر

مثل 503 وتعني ان السيرفر غير متاح , 

للمزيد عن هذا الموضوع يمكنك قرأة هذه الصفحة :

هذه ليست مزيّة في أباتشي، بل بروتوكول HTTP، وكل السيرفرات تطبّق هذه الرموز

نعم صحيح .

ولكن السيرفر من يزود هذه المعلومات للبروتوكول ,

سير العملية يكون كالتالي :

انت ضغطت على رابط معين لطلب صفحة او ارسال بيانات

يقوم المتصفح بارسال HTTP Request

يستقبل السيرفر هذا الطلب ويعمل على تحليله

يقوم السيرفر بالاستجابة HTTP Response تحمل البيانات والمعلومات الخاصة بتحليل الطلب

وهذه البيانات تكون احدى الرموز السابق ذكرها .

كل ما يقوم به البروتوكول هو نقل المعلومات وليس هو من ينشئ او يكتشف الحالة (status) ورمزه بل السيرفر


ان كنت مخطئ فصحح لي معلوماتي , (هذا كل ما تعلمته في مواد الخاصة بالشبكات في الجامعه)

أظنك أسأت فهم معنى "بروتوكول"،

فالبروتوكول هو مجرد القواعد والشروط التي يتفق عليها طرفين من أجل التواصل، وهو مجرد أفكار في الذهن، وهي كلمة تشمل كافة المجالات وليست محصورة في الحوسبة فقط

أما السيرفر فهو البرنامج الذي "يلتزم" بالقواعد والشروط التي حددها بروتوكول HTTP، لذلك عندما يقوم المتصفح بإرسال طلب Request إلى السيرفر، فيجب أن "يلتزم" المتصفح بالقواعد التي حددها البروتوكول، وعندما يرد السيرفر فيجب عليه أن "يلتزم" أيضًا بالقواعد التي حددها البروتوكل،

فبروتوكل HTTP قد حدد أن الرمز 404 يعني أن الصفحة المطلوبة غير موجودة وعلى السيرفرات أن تلتزم بهذا، وإلا لن يفهم المتصفح (أو أي HTTP Client) معنى الرسالة الراجعة.

وكذلك عندما يحصل خطأ داخلي في السيرفر فإن بروتوكول HTTP قد حدد أن على السيرفر أن يرد على الطلب برمز 500 وهكذا.

شكرا على هذه المعلومات .

بالفعل بحثت عن الموضوع وقرأت بعض التدوينات , انت على صواب وكنت انا المخطأ

سؤال على الهامش : اذا ارسل المتصفح طلبات بشكل كبير جدا في وقت قصير هل سيمنعه السيرفر لوحده ؟

نعم هذه مسؤولية السيرفر في منع هجوم تخريب الخدمة Denial of Service Attack.

فما حدده بروتوكول HTTP هو فقط آليه لتسريع جلب ملفات جافاسكريبت وCSS من السيرفر عن طريق استخدام نفس الاتصال.


برمجة

مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.

24.9 ألف متابع