الصفحة الرئيسية » howto » لماذا يفشل مستعرض الويب الخاص بي أحيانًا في عرض أوقات التنزيل المتبقية؟

    لماذا يفشل مستعرض الويب الخاص بي أحيانًا في عرض أوقات التنزيل المتبقية؟

    في بعض الأحيان ، يقوم مقياس التنزيل المؤمن على متصفحك (أو أي تطبيق آخر) بإلقاء يديه في الهواء ويتخلى عن عرض وقت التنزيل المتبقي. لماذا تظن أحيانًا وقت التنزيل المتوقع وأحيانًا تفشل في الإبلاغ عنه جميعًا?

    تأتي جلسة الأسئلة والأجوبة اليوم مقدمة من SuperUser-a subdivision of Stack Exchange ، وهي مجموعة مجتمعية مدفوعة من مواقع Q & A.

    السؤال

    قارئ SuperUser يريد Coldblackice أن يعرف لماذا لا يقوم متصفحه دائمًا بطبقة الأوساخ:

    من حين لآخر ، عند تنزيل ملف في متصفح ويب ، لا يعرف "حجم التنزيل" الحجم الإجمالي للملف ، أو إلى أي مدى يتم تنزيله - إنه فقط يعرض سرعة تنزيله ، بإجمالي باسم "غير معروف".

    لماذا لا يعرف المتصفح الحجم النهائي لبعض الملفات؟ من أين تحصل على هذه المعلومات في المقام الأول?

    أين حقا?

    الاجابات

    يساهم مساهم SuperUser Gronostaj بالمعلومات التالية:

    لطلب مستندات من خوادم الويب ، تستخدم المتصفحات بروتوكول HTTP. قد تعرف هذا الاسم من شريط العنوان (قد يكون مخفيًا الآن ، ولكن عندما تنقر على شريط العنوان ، انسخ عنوان URL والصقه في بعض محرر النصوص ، سترى HTTP: // في البداية). إنه بروتوكول بسيط يعتمد على النصوص ويعمل على النحو التالي:

    أولاً ، يتصل المستعرض الخاص بك بخادم موقع الويب ويرسل عنوان URL للمستند الذي يريد تنزيله (صفحات الويب هي مستندات أيضًا) وبعض التفاصيل حول المتصفح نفسه (وكيل المستخدم الخ). على سبيل المثال ، لتحميل الصفحة الرئيسية على موقع SuperUser, http://superuser.com/, يرسل المتصفح الخاص بي طلبًا يشبه هذا:

    GET / HTTP / 1.1 Host: superuser.com الاتصال: keep-alive قبول: text / html، application / xhtml + xml، application / xml؛ q = 0.9، * / *؛ q = 0.8 User-Agent: Mozilla / 5.0 ( Windows NT 6.1 ؛ WOW64) Accept-Encoding: gzip ، deflate ، sdch Accept-Language: pl-PL، pl؛ q = 0.8، en-US؛ q = 0.6، en؛ q = 0.4 Cookie: [removed for security] DNT : 1 If-Modified-Since: الثلاثاء، 09 يوليو 2013 07:14:17 بتوقيت جرينتش 

    يحدد السطر الأول المستند الذي يجب أن يقوم الخادم بإرجاعه. تسمى الخطوط الأخرى بالرؤوس ؛ هم يشبهون هذا:

    اسم الرأس: قيمة العنوان 

    ترسل هذه الخطوط معلومات إضافية تساعد الخادم على اتخاذ قرار بشأن ما يجب القيام به.

    إذا كان كل شيء على ما يرام ، سيرد الخادم عن طريق إرسال المستند المطلوب. تبدأ الاستجابة برسالة الحالة ، متبوعة ببعض الرؤوس (مع تفاصيل حول المستند) وأخيراً ، إذا كان كل شيء على ما يرام ، فإن محتوى المستند. هذا هو ما يبدو عليه رد خادم SuperUser على طلبي:

    HTTP / 1.1 200 OK Cache-Control: public، max-age = 60 Content-Type: text / html؛ charset = utf-8 Expires: Tue، 09 Jul 2013 07:27:20 GMT آخر تعديل: الثلاثاء، 09 يوليو 2013 07:26:20 GMT Vary: * X-Frame-Options: SAMEORIGIN التاريخ: الثلاثاء، 09 يوليو 2013 07:26:19 جرينتش طول المحتوى: 139672 [… snip…]  

    بعد السطر الأخير ، يغلق خادم SuperUser الاتصال.

    السطر الأول (HTTP / 1.1 200 OK) يحتوي على رمز الاستجابة ، في هذه الحالة 200 حسنا. وهذا يعني أن الخادم سيعرض مستندًا ، كما هو مطلوب. عندما لا يتمكن الخادم من القيام بذلك ، سيكون الرمز شيئًا آخر: ربما تكون قد شاهدته 404 غير موجود, و 403 ممنوع شائع جدا ، أيضا. ثم تتبع الرؤوس.

    عندما يجد المتصفح سطرًا فارغًا في الاستجابة ، فإنه يعلم أن كل ما بعد ذلك السطر هو محتوى المستند الذي طلبه. في هذه الحالة  هو السطر الأول من رمز الصفحة الرئيسية لـ SuperUser. إذا كنت أطلب مستندًا لتنزيله ، فمن المحتمل أن يكون بعض الأحرف المبهمة ، لأن معظم تنسيقات المستندات غير قابلة للقراءة بدون معالجة مسبقة.

    العودة إلى الرؤوس. الأكثر إثارة للاهتمام بالنسبة لنا هو آخر واحد, طول المحتوى. فهي تقوم بإعلام المستعرض بعدد وحدات البايت من البيانات التي يجب أن تتوقعها بعد السطر الفارغ ، لذلك يكون حجم المستند المعبر عنه بالبايت. هذا العنوان ليس إلزاميًا وقد يتم حذفه بواسطة الخادم. في بعض الأحيان لا يمكن التنبؤ بحجم الوثيقة (على سبيل المثال عندما يتم إنشاء المستند على الطاير) ، في بعض الأحيان لا يتضمنه المبرمجين البطيئين (شائعان جدًا في مواقع تنزيل برامج التشغيل) ، أحيانًا يتم إنشاء مواقع الويب بواسطة newbies الذين لا يعرفون من هذه الرأس.

    على أي حال ، مهما كان السبب ، يمكن أن يكون العنوان مفقودًا. في هذه الحالة ، لا يعرف المتصفح حجم البيانات التي سيرسلها الخادم ، وبالتالي يعرض حجم المستند كـ غير معروف, انتظار الخادم لإغلاق الاتصال. وهذا هو سبب أحجام الوثائق غير المعروفة.


    هل لديك شيء تضيفه إلى الشرح؟ الصوت قبالة في التعليقات. هل ترغب في قراءة المزيد من الإجابات من مستخدمي Stack Exchange الآخرين المحترفين بالتكنولوجيا؟ تحقق من موضوع المناقشة الكامل هنا.