Peut l'API Google Maps javascript être mis en cache?
Juste curieux, si l'API Google Maps v3 javascript être mis en cache sur le serveur local?
Parce que, parfois, certains de mes pages intranet sont de chargement lent en raison du ralentissement de la connexion internet. Sinon, elle serait de charger le fichier à partir du serveur local et de ralentir uniquement lorsque la carte demande est faite.
Je suis même prêt à exécuter une tâche cron pour mettre à jour le fichier javascript de temps en temps.
Merci pour toute entrée.
OriginalL'auteur Nirmal | 2009-12-27
Vous devez vous connecter pour publier un commentaire.
C'est impossible "en l'état".
Lorsque vous demandez le script de Google, envoyer les en-têtes le long du script et de ces en-têtes contient le "no-cache" de la directive.
Donc, si vous voulez être cachable, vous devez créer un proxy. Au lieu de pointer le script src à Google, il suffit de le pointer vers votre serveur. Votre serveur et ensuite faire l'appel à Google et d'envoyer la réponse au client.
De cette façon, vous aurez le contrôle sur l'en-tête HTTP et la mise en cache. Vous pourriez faire la mise en cache sur le script contenu ainsi de faire le moins de connexions à Google.
Je ne le conseille pas à quelqu'un de le faire sur une production ou d'une mission critique de site web. Toutes les Api Google sont mis à jour fréquemment et sont liés plus ou moins ensemble. Si quelque chose se passe hors de phase avec quelque chose d'autre, vous avez de la difficulté à suivre le bug sur vos mains.
Espère que ça aide.
EDIT: j'ai entendu dire que vous mettiez vos scripts dans le
HEAD
section de votre document. Des thats peut-être blesser votre "perçue" de la page de chargement. Essayez de déplacer le téléchargement du script juste avant la</body>
et étiquette de la carte d'initialisation dans leonload
cas de la page.Mike
Vous êtes les bienvenus.. la v3 de l'API est plus compact et plus rapide que la v2 donc je ne m'inquiéterais pas. Au lieu de cela, vous devriez regarder sur la façon dont vous initialisez vos trucs, comme je l'ai dit. Voir developer.yahoo.com/performance/rules.html en particulier le "Mettre les Scripts en Bas de la section".
+1 pour l'aide. Le lien de Yahoo est vraiment utile. Je ne pense pas que beaucoup de problèmes de performances, car les pages sont strictement dans l'intranet. Mais maintenant, je sens que je devrais donner un sérieux considération les meilleures pratiques, pour notre organisation est à la pointe de la propagation de plusieurs lieux géographiques. Sans réglage fin, je voudrais vraiment être en difficulté. Merci encore.
Un plaisir, j'ai couru dans le même questionnement lors de la programmation de mon propre site (pokerplanner.org) C'est pourquoi j'ai appris des trucs du genre.
OriginalL'auteur Mike Gleason jr Couturier
À compter de 2016, le js est retourné avec "Cache-Control: public, max-age=1800" en-tête, de sorte qu'il est mis en cache pendant au moins une demi-heure.
OriginalL'auteur Andris
À mon humble avis, vous ne pouvez pas mettre en cache. L'API de script fait appel à des objets sur le serveur de Google. Tout au plus, vous pouvez capturer les résultats et les mettre en cache que les images (mais alors vous perdez de l'interactivité).
Si il serait possible de cache GMap résultats, les gens ont le cache Google de l'ensemble de la DB en local et je ne pense pas que ce est une partie de l'accord de l'utilisateur ;).
Si vous voulez des cartes en mode hors connexion, vous aurez à faire avec les non-interactive d'images, ou d'acheter une carte de serveur.
<head>
est ce en prenant tout le temps. Si je pouvais mettre en cache les cheveux .fichier js, je peux au lieu de l'appeler à partir du serveur local. Mais le géocodage ou la carte de demande peut être faite directement à partir de Google. Tout ce que je suis en train de regarder est de savoir si il n'y aurait aucune incidence sur le faire.OriginalL'auteur Traveling Tech Guy
Une option qui ne serait pas vous violer les Conditions d'utilisation Google serait de garder une mémoire cache locale de OpenStreetMap carreaux avec les OpenLayers script pour l'affichage. Fondamentalement, à l'aide de données gratuites pour créer votre propre serveur de carte.
Si il y a des points d'intérêt particuliers qui sont importants pour votre intranet, vous pouvez vous assurer qu'ils sont dans OpenStreetMap et de configuration d'un serveur de rendu vous-même avec uniquement les fonctionnalités dont vous avez besoin. Après tout, la superposition de chaque école dans un quartier plus de certains de la png va prendre plus de travail alors il suffit de montrer le png est fait avec les écoles.
Il permet également de prendre beaucoup moins de lag sur un slow à l'extérieur de connexion, si votre carte serveur obtient/génère les carreaux pendant le week-end au lieu de frapper l'API Google Map tout le temps.
OriginalL'auteur sargas