سؤال

مجرد فضول ، سواء تم تخزين Jood Maps API V3 JavaScript على الخادم المحلي؟

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

أنا مستعد حتى لتشغيل وظيفة cron لتحديث ملف JavaScript مرة واحدة في حين.

شكرا على أي مدخلات.

هل كانت مفيدة؟

المحلول

إنه مستحيل "كما هو".

عندما تطلب البرنامج النصي من Google ، فإنهم يرسلون رؤوسًا على طول البرنامج النصي ويحتوي تلك الرؤوس على توجيه "عدم التخزين المؤقت".

لذلك إذا كنت تريدهم أن يكونوا قابلين للتخفيف ، فيجب عليك إنشاء وكيل. بدلاً من توجيه البرنامج النصي SRC في Google ، يمكنك توجيهه إلى الخادم الخاص بك. ثم قم بإجراء المكالمة إلى Google وأرسل الاستجابة إلى العميل.

بهذه الطريقة سيكون لديك السيطرة على رأس HTTP والتخزين المؤقت. يمكنك القيام بالتخزين المؤقت على محتوى البرنامج النصي أيضًا لإجراء اتصالات أقل إلى Google.

لن أنصح شخص ما بالقيام بذلك على إنتاج أو موقع ويب مهم. يتم تحديث جميع واجهات برمجة تطبيقات Google بشكل متكرر وترتبط أكثر أو أقل معًا. إذا خرج شيء ما من التزامن مع شيء آخر ، فمن الصعب تتبع الأخطاء على يديك.

امل ان يساعد.

تحرير: سمعت أنك تضع البرامج النصية الخاصة بك في HEAD قسم من المستند الخاص بك. ربما هذا يضر بوقت تحميل الصفحة "المتصورة". حاول نقل تنزيل البرنامج النصي قبل </body> علامة وتهيئة الخريطة في onload حدث الصفحة.

مايك

نصائح أخرى

اعتبارًا من عام 2016 ، يتم إرجاع JS برأس "Cache-Control: Public ، Max-Ege = 1800" ، لذلك يتم تخزينه مؤقتًا لمدة نصف ساعة على الأقل.

IMHO لا يمكنك تخزينها. يقوم برنامج API Script باستدعاء الكائنات على خادم Google. على الأكثر ، يمكنك التقاط النتائج وتخزينها كصور (ولكن بعد ذلك تفقد التفاعل).

إذا كان من الممكن تخزين نتائج GMAP ، فسيقوم الأشخاص بتخزين DB من Google بالكامل محليًا ولا أعتقد أن هذا جزء من اتفاقية المستخدم ؛).

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

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

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

سيستغرق الأمر أيضًا تأخرًا أقل بكثير في اتصال خارجي بطيء إذا حصل خادم الخريطة الخاص بك على/إنشاء البلاط خلال عطلة نهاية الأسبوع بدلاً من ضرب واجهة برمجة تطبيقات Google MAP طوال الوقت.

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