2011-03-16 2 views
7

J'ai remarqué que parfois mon application Facebook fonctionne lentement, et quand elle est vérifiée, c'est parce que le fichier all.js n'a pas été chargé depuis le serveur Facebook, j'ai donc copié le fichier sur mon serveur et l'ai testé.Puis-je héberger all.js de Facebook localement?

Tout semble fonctionner correctement, et en fait, il fonctionne plus vite. Ma question est la suivante: savez-vous s'il y a des bogues ou des erreurs?

+2

assez sûr que c'est contre TOS. De plus, vous ne recevez pas de mises à jour, etc. Votre hôte est également plus rapide que FB? C'est un très bon serveur que vous avez là :) – AlfaTeK

+0

Je ne sais pas si le serveur s'exécute plus vite, mais il est évident que maintenant l'application fonctionne plus vite, peut-être parce qu'elle n'a pas à chercher le fichier dans un autre serveur –

+0

vous c'est plus rapide. Mais compte tenu du fait que votre site sera dans un serveur quelque part dans le monde, FB a beaucoup mieux équilibrer le monde, la mise en cache mondiale, etc ... Je ne suis pas sûr, mais je prédis que ce sera contre TOS. – AlfaTeK

Répondre

5

Le problème ici est que vous déplacez maintenant une dépendance, et par extension la maintenance de cette dépendance à votre application locale. S'il est hébergé sur les serveurs de Facebook, ils peuvent le mettre à jour pour corriger des bogues ou ajouter des fonctionnalités.

Si cela prend beaucoup de temps à charger, vous devez le mettre sur leurs forums de support

+1

Un exemple d'où local est souhaité est le suivant: En utilisant le SDK PHP et le JS ensemble, Facebook a mis à jour le format de cookie en cassant un site que j'avais jusqu'à ce que je découvre et ai eu le temps de retirer le SDK PHP mis à jour. Garder ceux-ci en synchronisation dans le monde réel est impossible à moins que vous ayez le contrôle local des deux versions. – Ray

+0

Je ne dirais pas impossible, tant que vous le cachez seulement pour ~ 1 heure (ou plus selon l'importance de votre site), il devrait se synchroniser dans un délai raisonnable. Ce que j'ai fini par faire est de pointer la balise de script vers un /path/to/all.js local et d'utiliser url rewrite pour pointer vers un script côté serveur qui vérifie le cache pour un fichier en cours, et les téléchargements de facebook si ce n'est pas présent . all.js prend aujourd'hui plus de 20s à charger, mais sharethis.com a des problèmes similaires (buttons.js> 40s) donc je prends des mesures pour m'assurer que ni l'un ni l'autre n'affectera le temps de chargement de la page dans le futur. –

2

Vous pouvez rencontrer des problèmes lors de la mise à jour de l'API facebook. Vous devrez régulièrement et fréquemment (toutes les 5 minutes?) Mettre à jour le fichier.

+0

ils mettent à jour ce fichier tous les 5mins ??? –

+1

Non! Je veux dire, vous devez vérifier toutes les 5 minutes et mettre à jour si cela a changé. Si l'API change sans compatibilité ascendante, votre application ne fonctionnera pas pendant un certain temps. – Gregory

5

Votre page a pour charger le fichier all.js dans tous les cas.

  • Les serveurs Facebook devraient être plus rapides que le serveur sur lequel se trouve le site Web . Donc, théoriquement, le chargement du fichier js de facebook devrait être plus rapide.
  • Une meilleure approche serait de mettre en cache le fichier pendant un certain temps. Cela rendra la page beaucoup plus rapide après la première.
  • Comme les gens l'ont mentionné, le fichier all.js est constamment mis à jour avec des corrections de bugs, etc. Il est donc toujours préférable d'obtenir la dernière version du fichier au lieu de la mettre à jour manuellement.
Questions connexes