سؤال

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

التطبيق نفسه يعمل داخل Tomcat. يتم تخزين الصور في دليل يقدمه أباتشي. لقد حصلت على 9 صور يتم عرضها على الصفحة. الخوادم موجودة على جهاز منفصل عن العميل. عندما أحاول تحميل الصفحة في Firefox ، عادةً ما يتم تحميل 6 من الصور على الفور تقريبًا (<500 مللي ثانية). سوف يستغرق الثلاثة الآخرون ما بين 15 و 20 ثانية للتحميل. عند النظر إلى سجلات Apache ، يبدو أن Firefox لا يطلب هذه الصور الثلاث حتى يتم مرور 15-20 ثانية - أي أنني أرى 6 طلبات في نفس الوقت ، ثم بعد 15 ثانية. لقد جربت الموقع في Internet Explorer ، ولا يملك أي المشكلة ؛ يقوم بتحميل جميع الصور التسعة على الفور. لقد جربت بعض الآلات المختلفة ، ولدي نفس النتائج. يتم تقديم HTML بسرعة كبيرة ، <200ms ، لذلك لا أعتقد أن هذه مشكلة JSF (خاصة وأن الصور يتم تقديمها من Apache).

الأرقام ليست دائمًا كما هي - في بعض الأحيان ستُحمل 8 صور ، وأحيانًا 7 ، وأحيانًا ستأتي الدفعة الثانية من الطلبات مرة واحدة ، وأحيانًا سيتم تحميلها أكثر من واحد ، وما إلى ذلك. أنا لست كذلك تأكد من أن هذا هو إعداد Firefox ، أو خطأ ، أو إذا كان هناك أي شيء من جانب الخادم يمكنني القيام به حيال ذلك ، لكنني اعتقدت أنني سأرميه هناك ومعرفة ما إذا كان لدى أي شخص أي أفكار يمكنني تجربتها.

إذا كان ذلك يساعد ، فإليك سطر سجل Apache من Firefox

192.168.1.30 - - [04/Mar/2009:14:25:40 -0500] "GET /work/DSCF0185_thumbnail.jpg HTTP/1.1" 200 7902 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)"

وواحد من IE

192.168.1.30 - - [04/Mar/2009:14:34:14 -0500] "GET /work/DSCF0179_thumbnail.jpg HTTP/1.1" 304 - "http://192.168.1.83:8080/app/browse.jsf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; MS-RTC LM 8; Windows-Media-Player/10.00.00.3990; FDM; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"

يحررحصلت على توقيت من Firebug - يوضح أن الطلب بأكمله هو (على سبيل المثال) 18 ثانية ، مع 17.9 ثانية "استلام البيانات" ، والباقي الذي تم تناوله في قائمة الانتظار. أنا لا أرى الطلب الفعلي في سجل Apache حتى نهاية هذا 17.9 ثانية ، الأمر الذي يقودني إلى الاعتقاد بأنه شيء من Firefox ، خاصة وأن IE لا تظهر المشكلة. إذا كان في الخادم ، أتوقع رؤية المشكلة في كلا المتصفحين.

يتم إيقاف تشغيل الأنابيب في Firefox.

كما أشير ، يظهر سجل IE الخاص بي أنه يضرب ذاكرة التخزين المؤقت - خطأي ، أمسك الجزء الخطأ من ملف السجل. إليك سطر سجل نظيف - حتى بعد ذاكرة التخزين المؤقت التي تم مسحها ، لا تظهر أي نفس المشكلات مثل Firefox.

192.168.1.30 - - [04/Mar/2009:15:52:18 -0500] "GET /vantagework/DSCF0189_thumbnail.jpg HTTP/1.1" 200 5805 "http://192.168.1.83:8080/vantage/browse.jsf" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 1.1.4322; MS-RTC LM 8; Windows-Media-Player/10.00.00.3990; FDM; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)"
هل كانت مفيدة؟

المحلول 3

اتضح أن هذا سبب تكوين أباتشي الخاص بي. تم إجراء بعض تعديلات الضبط ، والعودة إلى Out Of The Box Apache إصلاح المشكلة.

نصائح أخرى

استخدم وحدة التحكم "Net" الخاصة بـ FireBug للتحقق مما إذا كانت Firefox ، أو خادم الويب ، حيث قد يكون خادم الويب الخاص بك قد حان الوقت لقبول الاتصالات.

ستعرضك وحدة التحكم في Firebug "Net" عندما تبدأ في طلب الأشياء ، وتمنحك تفصيلًا مفصلاً للأجزاء المختلفة لطلب الصورة (قائمة الانتظار ، إلخ)-

وفقًا لمقتطفات السجل الخاصة بك ، فإن IE يستعيد الصورة من ذاكرة التخزين المؤقت ، فإن Firefox يحصل عليها من الخادم. لذا ، إذا كان هناك خطأ ما في تكوين الخادم الذي يقوم بتسليم الصورة ببطء ، فسترى فقط سلوكًا مشابهًا في أي إذا قمت بمسح ذاكرة التخزين المؤقت أولاً ، لذلك سأحاول ذلك للتحقق من أن الصور غير المخلوطة تأخذ بالفعل كميات مختلفة من الوقت للتنزيل بين Firefox و IE.

الشيء الآخر الذي أتحقق منه هو معرفة ما إذا كان لديك خطوط الأنابيب تمكين في Firefox. إذا قمت بذلك ، أقترح عليك تعطيله ، فقد يكون ذلك يسبب مشكلة في الخادم الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top