2011-03-16 2 views
7

가끔씩 내 Facebook 앱이 느리게 실행되는 것을 알아 채었습니다.이 확인란을 선택하면 all.js 파일이 Facebook 서버에서로드되지 않았기 때문에 내 서버에 파일을 복사하고 테스트했습니다.Facebook의 all.js를 로컬로 호스팅 할 수 있습니까?

모든 것이 잘 작동하는 것처럼 보이며 사실 더 빠르게 실행됩니다. 내 질문은 -이 일에 버그 또는 오류가 있는지 아십니까?

+2

TOS에 대한 확신. 또한 업데이트를받지 못해도 호스트가 FB보다 빠릅니까? 그것은 당신이 그때 가지고있는 정말 좋은 서버입니다. :) – AlfaTeK

+0

서버가 더 빨리 실행되면 모르겠지만, 앱이 더 빨리 실행됩니다. 아마도 다른 서버의 파일을 검색해야하기 때문일 수 있습니다. –

+0

아마도 너 더 빨라. 그러나 귀하의 웹 사이트가 전세계 어딘가에있는 서버에 있다고 가정 할 때, FB는 훨씬 더 나은 세계 균형, 세계 캐싱 등을 가지고 있습니다 ... 확실하지 않지만 이것이 TOS에 맞지 않을 것이라고 예측합니다. – AlfaTeK

답변

5

여기에서 문제는 종속성을 변경하고 확장으로 해당 종속성을 로컬 응용 프로그램에 유지한다는 것입니다. Facebook의 서버에서 호스팅되는 경우 버그를 수정하거나 기능을 추가하기 위해 업데이트 할 수 있습니다. 그것을로드하는 데 시간이 오래 복용하면

, 당신은

+1

로컬이 원하는 곳의 예는 다음과 같습니다. PHP SDK와 JS를 함께 사용하여 페이스 북은 내가 알기 전까지 사이트를 깨뜨리고 업데이트 된 PHP SDK를 풀 때까지 쿠키 형식을 업데이트했습니다. 두 버전을 모두 로컬 컨트롤하지 않는 한 현실 세계에서 동기화 상태를 유지하는 것은 불가능합니다. – Ray

+0

당신이 ~ 1 시간 (또는 귀하의 사이트 중요성에 따라) 캐시하기 만하면 합리적인 기간 내에 동기화해야합니다. 내가 뭘했는지는 스크립트 태그를 로컬 /path/to/all.js로 가리키고 url rewrite를 사용하여 현재 파일에 대한 캐시를 검사하는 서버 측 스크립트를 가리킨다. 존재하지 않는다면 페이스 북에서 다운로드한다. . all.js는 현재 20 초를 넘고 있지만 sharethis.com은 비슷한 문제 (buttons.js> 40s)를 가지고 있으므로 앞으로도 페이지 로딩 시간에 영향을주지 않을 조치를 취하고 있습니다. –

2

페이스 북 업데이트 API에 문제가있을 수 있습니다. 정기적으로 자주 (5 분마다?) 파일을 업데이트해야합니다.

+0

그들은 매 5 분마다 해당 파일을 업데이트 ??? –

+1

아니요! 5 분마다 확인하고 변경된 경우 업데이트해야합니다. 하위 호환성없이 API가 변경되면 응용 프로그램이 잠시 동안 작동하지 않습니다. – Gregory

5

귀하의 페이지는 어떤 경우에 all.js 파일을로드하기 위해 자신의 지원 포럼에 그것을했다 제기한다.

  • 페이스 북 서버는 웹 사이트를 호스트하는 서버보다 빠릅니다. 이론적으로 페이스 북에서 js 파일을로드하는 것은 이 더 빨라야합니다.
  • 더 나은 방법은 파일을 잠시 동안 캐시하는 것입니다. 이렇게하면 초기 페이지가 훨씬 빠르게 페이지가로드됩니다.
  • 사람들이 언급했듯이 all.js 파일은 버그 수정 등으로 지속적으로 업데이트됩니다. 따라서 파일을 수동으로 업데이트하는 대신 최신 버전의 파일을 구하는 것이 좋습니다.
관련 문제