2013-08-03 2 views
2

동일한 스크립트를 공유하지 않는 여러 서브 페이지가있는 것으로 가정하면 서버로드 및 성능과 관련하여 가장 좋은 정책은 무엇입니까?모든 페이지에 자바 스크립트 파일을 포함 하시겠습니까?

지금 모든 페이지에 모든 javascript 파일/플러그인이 포함되어 있습니다. 예를 들어, subpage1은 Google지도 API를 사용하는 유일한 페이지이고, 라이트 페이지 플러그인을 사용하는 서브 페이지 2는 서브 페이지 2뿐입니다.

가끔씩 내 페이지가 붐비 어서 서버로드를 최소화하고 싶습니다. 그래서, 무엇이 최고인가? 그건 상관 없니?

+3

레이아웃/기본 페이지 마크 업의 일반 애셋 및 자체 페이지 마크 업의 특정 애셋 (언급 한 하위 페이지)을 포함하지 않는 이유는 무엇입니까? –

+0

이전과 똑같은 질문이 있지만 지금은 찾지 못했습니다. – user123444555621

+0

나는 그렇게 생각했지만 그것에 대해 다른 질문을 찾을 수는 없었습니다 ...;) – andreas

답변

0

실제로 서버 구성에 따라 다릅니다.

상태 304를 응답으로 허용하는 경우 콘텐츠가 다시 전송되지 않으므로 귀찮은 일이 아닙니다.

서버가 심지어 Cache-Control: must-revalidate과 같은 일부 헤더를 전송하지 않는 경우 일부 브라우저는 요청을 완전히 피할 수도 있습니다.

1

귀하의 index.html 아마 이런 식으로 뭔가 보일 것입니다 : 모든 필요한 자산은 header.html 파일에있는

<!--#include virtual="header.html" --> 
<!--#include virtual="main.html" --> 
<!--#include virtual="footer.html" --> 

등 필요한 자산이 main.html 파일 (들)에 있습니다.

는 (물론, 당신은 그냥 쉽게 PHP 나 자바 스크립트/jQuery를 버전을 사용할 수 있습니다.)

2

은 서버 떨어져 정적 콘텐츠를 이동하는 것이 좋습니다.

jquery와 같은 공개 JS 파일의 경우 공개 사이트에 연결하면 Google이나 누구에게 서비스를 제공 할 수 있습니다. 그러면 서버에서 부하가 분산되고 CDN이 클라이언트에 가까운 사이트에서 파일을 제공하여로드 속도를 높일 수 있습니다.

또 다른 옵션은 AWS S3에서 JS/CSS/PNG와 같은 정적 콘텐츠를 호스팅하는 것입니다.

+0

다음과 같이 제안 하시겠습니까? 가능한 경우 Google 서버. 각 페이지/템플릿에 필요한 javascript 파일 만 추가하면됩니까? – andreas

+0

기본적으로 그렇습니다. 공개적으로 출처를 밝힌 모든 항목 (예 : jquery)은 Google CDN에서 참조합니다. 가능한 경우 JS 파일을 클라이언트에서 캐시 할 수 있는지 확인하고 느린 부분을 식별하기 위해 실제 성능을 측정하고 페이지에서 필요한 부분으로 JS 포함을 제한합니다. 여기에 아이디어가 더 있습니다 : http://developer.yahoo.com/performance/rules.html 및 여기 : https://developers.google.com/speed/ – jarmod

관련 문제