jQuery 라이브러리는 어디에 포함합니까? 구글 JSAPI? CDN?


242

jQuery와 jQuery UI를 포함시키는 몇 가지 방법이 있으며 사람들이 무엇을 사용하는지 궁금합니다.

  • 구글 JSAPI
  • jQuery의 사이트
  • 자신의 사이트 / 서버
  • 다른 CDN

최근에 Google JSAPI를 사용하고 있지만 SSL 연결을 설정하거나 google.com을 해결하는 데 시간이 오래 걸린다는 것을 알았습니다. Google에 다음을 사용했습니다.

<script src="https://www.google.com/jsapi"></script>
<script>
google.load('jquery', '1.3.1');
</script>

다른 사이트를 방문 할 때 캐시되어 서버에서 대역폭을 절약하기 위해 Google을 사용한다는 아이디어가 마음에 들지만 사이트의 속도가 느리면 포함을 변경할 수 있습니다.

무엇을 사용하십니까? 문제가 있습니까?

편집 : 방금 jQuery 사이트를 방문했으며 다음 방법을 사용합니다.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

Edit2 : 작년에 문제없이 jQuery를 포함시킨 방법은 다음과 같습니다.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>

차이점은의 제거입니다 http:. 이를 제거하면 http와 https 간 전환에 대해 걱정할 필요가 없습니다.


8
대릴, 잘 편집했습니다. 편집 내용을 페이지 맨 위로 이동하고 src현재 사용하는 더 단순 / 안전 / 빠른 구문으로 변경하도록 제안 할 수 있습니까? 당신의 대답은 기본적으로 정식이되었으며 두 가지 변화 모두 사람들이 빨리 온 것을 얻는 데 도움이 될 것입니다.
Josh Smith

답변:


153

의심의 여지없이 JQuery가 Google API 서버에서 제공하도록 선택했습니다. 다른 Google API를 사용하지 않기 때문에 jsapi 메소드를 사용하지 않았지만 변경 된 경우 고려할 것입니다 ...

첫째 : Google api 서버는 단일 서버 위치 대신 전 세계에 배포됩니다. 서버가 가까울수록 일반적으로 방문자의 응답 시간이 더 빠릅니다.

둘째 : 많은 사람들이 Google에서 JQuery를 호스팅하도록 선택하므로 방문자가 내 사이트를 방문하면 로컬 캐시에 JQuery 스크립트가 이미있을 수 있습니다. 미리 캐시 된 콘텐츠는 일반적으로 방문자에게 더 빠른로드 시간을 의미합니다.

셋째 : 웹 호스팅 회사에서 사용한 대역폭에 대해 요금을 청구합니다. 방문자가 다른 곳에서 동일한 파일을 얻을 수있는 경우 사용자 세션 당 18k를 소비하는 것은 의미가 없습니다.

올바른 스크립트 파일을 제공하고 온라인 상태이며 사용 가능하도록 Google을 신뢰합니다. 지금까지 나는 Google을 사용하는 것에 실망하지 않았으며이 구성이 적절하지 않을 때까지 계속 구성 할 것입니다.

한 가지 지적 할 사항 ... 사이트에 안전하고 안전하지 않은 페이지가 혼합되어있는 경우 보안 페이지에 안전하지 않은 콘텐츠를로드 할 때 표시되는 일반적인 경고를 피하기 위해 Google 소스를 동적으로 변경하고 싶을 수 있습니다.

내가 생각해 낸 것은 다음과 같습니다.

<script type="text/javascript">
    document.write([
        "\<script src='",
        ("https:" == document.location.protocol) ? "https://" : "http://",
        "ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>" 
    ].join(''));
</script>

업데이트 9/8/ 2010-HTTP 및 HTTPS를 제거하고 다음 구문을 사용하여 코드의 복잡성을 줄이기위한 몇 가지 제안이있었습니다.

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

또한 최신 주요 버전의 jQuery 라이브러리가로드되도록하려면 URL을 변경하여 jQuery 주요 번호를 반영 할 수도 있습니다.

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

마지막으로 Google을 사용하지 않고 jQuery를 선호하는 경우 다음 소스 경로를 사용할 수 있습니다 (jQuery는 SSL 연결을 지원하지 않습니다).

<script type="text/javascript">
    document.write("\<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'>\<\/script>");
</script>

26
프로덕션 사이트에 Google의 jquery를 포함시키는 세 가지 이유에 동의합니다. SSL 페이지에 대한 js 동적 주입 대신 프로토콜을 지정하지 않고 스크립트 태그에서 url을 참조합니다. 나를 위해 잘 작동하는 것 같습니다. <script src = "// ajax.google ..."> </ script>
Aaron Wagner

1
흥미로운 아이디어 ...하지만 DNS 중독을 사용하여 JQuery로드를 가로 채기 위해서는 왜 전체 사이트 요청을 가로 채지 않겠습니까? 아니면 Google Analytics 스크립트는 어떻습니까?
Dscoduc

9
또한 단순화를 제외하고 모든 것에 동의합니다. <script src = "// ajax.google ..."> </ script> 형식을 사용합니다. 그런 다음 http 또는 https에 대해 걱정할 필요가 없습니다. 아론 바그너에게
Darryl Hein 2016 년

11
무엇이 document.write()사용되고 있는지 알 수 없습니까? 간단하게 <script src="..."></script>헤더에 배치하는 것이 좋습니다. → @ Dscoduc : ← 더 빠르지는 않지만 경고 메시지를 없애 버릴 것입니다. 사이트에서 보안 https를 사용하고 있고 인코딩되지 않은 콘텐츠 (예 http://googleapis:)를 가져 오는 경우 해당 경고 메시지가 표시됩니다. http 만 사용하고 있지만 링크하는 https://googleapis경우 "보안"인코딩으로 약간의 오버 헤드가 있습니다. 따라서에 연결하는 http://googleapis것이 조금 더 빠릅니다.
vol7ron

5
또한 Google은이를 사용하여 사용자가 방문하는 웹 사이트를 추적합니다. 따라서 개인 정보 보호를 염두에 두어야하는 웹 사이트를 만드는 경우 몇 개의 작은 파일을 호스팅하는 것이 개인 정보 보호 비용을 지불하는 작은 가격입니다.
한스 크리스토프 스타이너

19

외부 서버에서 호스팅하려는 이유 중 하나는 특정 서버에 대한 동시 연결의 브라우저 제한을 해결하기위한 것입니다.

그러나 사용중인 jQuery 파일이 자주 변경되지 않을 가능성이 높기 때문에 브라우저 캐시가 시작되어 그 지점을 대부분 약화시킵니다.

외부 서버에서 호스팅하는 두 번째 이유는 트래픽을 자신의 서버로 낮추는 것입니다.

그러나 jQuery의 크기를 고려할 때 트래픽의 일부가 될 가능성이 높습니다. 실제 콘텐츠를 최적화하려고 시도해야합니다.


1
또 다른 이유는 사용자가 캐시에 Google의 jquery를 이미 가지고 있기 때문에 처음 사이트를 방문 할 때 다운로드하지 않아도 될 수 있습니다.
Kip

14

jQuery 1.3.1 분의 크기는 18k입니다. 초기 페이지로드에 너무 많은 히트가 있다고 생각하지 않습니다. 그 후에 캐시됩니다. 결과적으로 직접 호스팅합니다.


7
귀하의 진술 된 이유에 따라 정중하게 동의하지 않습니다. 많은 트래픽이 발생하면 세션 당 18k가 상당한 양의 트래픽을 빠르게 추가 할 수 있습니다. 특히 웹 호스팅이 사용한 대역폭으로 요금을 청구하는 경우 ...
Dscoduc

1
내 견해는 방문자가 한 페이지 만 보는 경우에만 문제가된다는 것입니다. 프로필이 더 적은 방문자 및 여러 페이지 뷰 인 경우 방문자 당 페이지 뷰에 분산 될 때 오버 헤드가 최소화됩니다. 재 방문자를위한 Ditto.
Kristen

2
귀하의 웹 사이트가 절대적으로 작지 않은 한, 18k는 항상 귀하의 트래픽의 작은 부분 일 것입니다.
한스 크리스토프 스타이너

14

Google을 사용하려는 경우 직접 링크의 응답 성이 향상 될 수 있습니다. 각 라이브러리에는 직접 파일에 대한 경로가 나열되어 있습니다. 이것이 jQuery 경로입니다

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

질문을 다시 읽으십시오. https를 사용하는 이유가 있습니까? 이 예제에서 Google이 나열하는 스크립트 태그입니다.

<script src="http://www.google.com/jsapi"></script>

3
사이트가 HTTPS이기 때문에 HTTPS를 사용하는 것이 다소 필요합니다.
Darryl Hein

1
모든 콘텐츠가 https 기반입니까, 아니면 일부입니까?
Dscoduc

2
IE (적어도 기본적으로)는 "이 사이트에는 안전하고 안전하지 않은 콘텐츠가 혼합되어 있습니다." 확인 상자.
cletus 2019

1
코드가 나온 사이트는 완전히 안전한 연락처 정보 인 SSL입니다.
Darryl Hein

1
사용자의 보안에 관심이 있다면 항상 자바 스크립트에 HTTPS를 사용하십시오. HTTPS가 없으면 MITM (Man-in-the-Middle)을 매우 쉽게 수행 할 수 있으며 사람들에게 보내려는 자바 스크립트와 함께 익스플로잇을 제공 할 수 있습니다. 공용 WiFi, 해킹 된 홈 라우터 등을 가능한 MITM 위치로 생각하십시오. 모든 pwn-to-own 경쟁을보십시오 : 그들은 항상 브라우저를 이용하여 들어갑니다.
Hans-Christoph Steiner

8

외부 사이트에 의존하기 위해 개발 한 공개 사이트를 원하지 않으므로 jQuery를 직접 호스팅합니다.

다른 사이트 (Google, jquery.com 등)가 다운되면 사이트가 중단 될 수 있습니까? 덜 의존성이 중요합니다.


2
종속성이 적은 사용자 환경 (빠른로드 시간)을 바로 거기에 두었습니다.
Dscoduc

1
@slacy 이봐 귀하의 사이트가 다운되었습니다! 실제로 jk, 그러나 당신은 구글 분석을 사용하고 끝 대신 시작 부분에 스크립트를 가지고 있음을 알았습니다-구글이 느리면 사이트를
조금씩

3
흠 ... 슬레이시는 Google Analytics를 사용하고 있습니까? 그는 자신이 개발 한 공개 사이트를 외부 사이트에 의존하고 싶지 않다고 말하지 않았습니까? ;-)
Dscoduc 8

1
와우, 친구들. :) 예, 개인 블로그에서 웹 로그 분석을 사용하지만 수익을 창출하는 프로덕션 사이트가 아니기 때문에 실제로 괜찮습니다. 내 사이트가 매년 며칠 동안 다운되었다고 확신합니다. 당신이 개인 사이트에 대한 작업을 위해 할 것은 동일하지 않습니다, 기억
slacy

6
로컬 사본을 사용해야하는 다른 좋은 이유가 있습니다. Google은이란, 중국 등과 같은 많은 국가에서 자주 차단되므로 10 억 명이 넘는 사람들이 액세스 할 수 없습니다.
한스 크리스토프 스타이너

6

장점 : Google 호스트의 장점

  • 아마도 더 빠를 것입니다 (서버가 더 최적화되었습니다)
  • 캐싱을 1 년 동안 올바르게 처리합니다 (서버에서 헤더를 바로 가져 오도록 변경하는 데 어려움을 겪고 있음)
  • 다른 도메인의 Google 호스팅 버전에 이미 연결되어있는 사용자는 이미 캐시에 파일을 가지고 있습니다

단점 :

  • 일부 브라우저는이를 XSS 교차 도메인으로보고 파일을 허용하지 않을 수 있습니다.
  • 특히 Firefox 용 NoScript 플러그인을 실행하는 사용자

Google에서 포함시킬 수 있는지 확인한 다음 전역 변수가 있는지 확인하고 서버에서 부재가로드되는지 확인하십시오.


3
그것은 구글의 파이어 폭스의 단점이 아니다.)
Nakilon

6

여기 몇 가지 문제가 있습니다. 먼저 지정한 비동기로드 방법 :

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load('jquery', '1.3.1');
  google.setOnLoadCallback(function() {
    // do stuff
  });
</script>

몇 가지 문제가 있습니다. 스크립트 태그는 검색하는 동안 페이지로드를 일시 중지합니다 (필요한 경우). 로드 속도가 느리면 나쁘지만 jQuery는 작습니다. 위의 방법의 실제 문제는 많은 페이지에 대해 jquery.js로드가 독립적으로 발생하기 때문에 jquery가로드되기 전에로드 및 렌더링이 완료되어 jquery 스타일이 사용자 에게 눈에 띄게 변경 된다는 것 입니다.

다른 방법은 다음과 같습니다.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

간단한 예제를 시도하고 간단한 테이블을 가지고 정적 jquery.min.js로드로 setOnLoadCallback () 메소드 대 $ (document) .ready ()를 사용하여 셀의 배경을 노란색으로 변경하십시오. 두 번째 방법은 눈에 띄는 깜박임이 없습니다. 첫 번째 의지. 개인적으로 나는 그것이 좋은 사용자 경험이 아니라고 생각합니다.

예를 들어 다음을 실행하십시오.

<html>
<head>
  <title>Layout</title>
  <style type="text/css">
    .odd { background-color: yellow; }
  </style>
</head>
<body>
<table>
  <tr><th>One</th><th>Two</th></tr>
  <tr><td>Three</td><td>Four</td></tr>
  <tr><td>Five</td><td>Six</td></tr>
  <tr><td>Seven</td><td>Nine</td></tr>
  <tr><td>Nine</td><td>Ten</td></tr>
</table> 
<script src="http://www.google.com/jsapi"></script>
<script>
  google.load("jquery", "1.3.1");
  google.setOnLoadCallback(function() {
    $(function() {
      $("tr:odd").addClass("odd");
    });
  });
</script>
</body>
</html>

테이블이 나타나고 행이 노란색으로 표시됩니다.

google.load () 메소드의 두 번째 문제점은 제한된 범위의 파일 만 호스팅한다는 것입니다. 이것은 플러그인에 매우 의존적이기 때문에 jquery의 문제입니다. <script src="...">태그가 있는 jquery 플러그인을 포함 시키려고 google.load()하면 플러그인이 아직로드되지 않았기 때문에 "jQuery가 정의되지 않았습니다"라는 메시지와 함께 플러그인이 실패 할 수 있습니다. 나는 이것에 대한 방법을 실제로 보지 못한다.

세 번째 문제점 (두 방법 중 하나)은 외부로드가 하나라는 것입니다. 일부 플러그인과 자체 Javascript 코드가 있다고 가정하면 Javascript를로드하기위한 최소 두 개의 외부 요청이 있습니다. jquery, 모든 관련 플러그인 및 자체 코드를 가져 와서 축소 된 파일에 넣는 것이 좋습니다.

에서 호스팅해야 당신이 사용 구글의 아약스 라이브러리의 API? :

로드 시간과 관련하여 jsapi 스크립트와 mootools 스크립트 (위에서 압축 된 버전)의 두 가지 스크립트를 실제로로드하고 있습니다. 그것은 하나가 아니라 두 개의 연결입니다. 내 경험상,로드 시간이 Google에서 온 경우에도 개인 공유 서버에서로드하는 것보다 실제로 2-3 배 느리다는 것을 알았습니다. 압축 파일의 버전은 Google보다 몇 K 더 큽니다. 이것은 파일이로드되고 (아마도) 캐시 된 후에도 가능합니다. 따라서 대역폭은별로 중요하지 않기 때문에 중요하지 않습니다.

마지막으로 일종의 XSS 시도로 요청을 표시하는 편집증 브라우저의 잠재적 문제가 있습니다. 일반적으로 기본 설정에는 문제가 없지만, 보안 설정은 물론 사용자가 사용하는 브라우저를 제어 할 수없는 회사 네트워크에서는 문제가있을 수 있습니다.

결국 여기에 예제를 게시하는 것을 제외하고는 적어도 jQuery 용 Google AJAX API를 사용하는 것이 실제로는 아닙니다 (더 많은 "완전한"API는 다른 이야기입니다).


나는 당신이 언급 한 문제를 경험하지 못했습니다. 올바른 순서로 물건을로드하면 내가 이해하는 한 거의 모든 것이 해결됩니다.
Darryl Hein

4

자체 서버에서 호스팅하도록 조언하는 사람들 외에도 브라우저를 다른 콘텐츠 스레드와 별도로로드 할 수 있도록 별도의 도메인 (예 : static.website.com)에 유지하는 것이 좋습니다. 이 팁은 이미지 및 CSS와 같은 모든 정적 요소에도 적용됩니다.


4

Google에서 호스팅하는 라이브러리에 대해 -1로 투표해야합니다. 그들은이 라이브러리를 감싸는 래퍼로 Google 분석 스타일의 데이터를 수집하고 있습니다. 최소한 클라이언트 브라우저가 요청한 것보다 많은 것을 수행하고 싶지는 않습니다. 페이지의 다른 것들은 훨씬 적습니다. 더 나쁘게도 이것은 악의적이지 않은 구글의 "새로운 버전"이다.

참고 :이 연습을 변경 한 경우 super. 그러나 마지막으로 호스팅 된 라이브러리 사용을 고려할 때 내 사이트의 아웃 바운드 http 트래픽을 모니터링했으며 Google 서버에 대한 주기적 호출은 예상하지 못했습니다.


하지만 이미 사이트에서 Google 웹 로그 분석을 실행하고 있습니까? JQuery가 Google에서 온 것인지 아닌지에 큰 차이가 있다고 생각하지 않기 때문에 아마도 내 사이트에서 실행하고 있다는 것을 이미 알고있을 것입니다.
Dscoduc

그러나 1 년 동안 캐시 됨-그 동안에도 304 "파일 변경"을 Google에 전송합니까?
Kristen 2019

예, 주기적으로 Google에 다시 전화하는 것을 보았습니다 (Safari의 활동 관리자에게는 멋진 목록이 있습니다).
Darryl Hein

Dscoduc-웹 로그 분석 사용 적어도 그 구현으로 사용 데이터를 포기한다는 것을 미리 알았습니다. JS 라이브러리에서는 그렇지 않습니다.
jro

3

나는 이것에 대해 오래된 학교 일지 모르지만 여전히 핫 링크에 싫증을냅니다. Google은 예외 일 수 있지만 일반적으로 서버에서 파일을 호스팅하는 것은 좋은 방법입니다.


3
"좋은 예절"은 무슨 뜻입니까? 서버에 연결하는 것이 좋습니다. Google의 놀라운 인프라에 의해 펌핑됩니다.
Nosredna

2
Google 사용에 대해 들었을 때 처음에는 혼란이 있습니다. nosredna이가 말한대로하지만, 되는 격려 "우리는 올바르게 등, 캐시 헤더를 설정하는 가장 최근의 버그 수정과 함께 최신 상태로 머물고 라이브러리를 호스팅에서 고통을" - code.google.com/apis/ajaxlibs
Simon_Weaver

3

이 파일들을 로컬에서 호스팅하기 위해 이것을 추가 할 것입니다.

최근 TWC의 Southern California에있는 노드는 ajax.googleapis.com 도메인 (IPv4 사용자의 경우) 만 확인할 수 없어 외부 파일을받지 못했습니다. 이것은 어제까지 간헐적이었습니다. (현재는 지속됩니다.) 간헐적이기 때문에 SaaS 사용자 문제를 해결하는 데 많은 문제가있었습니다. 일부 사용자가 소프트웨어에 문제가없는 이유와 다른 사람들이 탱킹을하는 이유를 추적하는 데 많은 시간이 걸렸습니다. 일반적인 디버깅 과정에서 사용자에게 IPv6이 해제되어 있는지 묻는 습관이 없습니다.

필자는이 특정 "경로"를 파일에 사용하고 IPV4 만 사용하기 때문에이 문제를 발견했습니다. 개발자 도구에서 jquery 가로 드되지 않았 음을 알리는 문제를 발견 한 다음 실제 문제를 찾기 위해 추적 경로 등을 시작했습니다.

이 후에는 외부 호스팅 파일로 다시 돌아 가지 않을 것입니다 .Google에서 문제를 일으키기 위해 내려갈 필요가 없으며이 노드 중 하나가 DNS 하이재킹으로 손상되어 악성 js를 전달할 수 있습니다. 실제 파일 대신. Google 도메인이 다운되지 않는다는 점에서 항상 안전하다고 생각했습니다. 이제 사용자와 호스트 사이의 노드가 장애가 될 수 있다는 것을 알고 있습니다.


2

jQuery 사이트의 최신 버전을 포함합니다 : http://code.jquery.com/jquery-latest.pack.js 내 요구에 적합하며 업데이트에 대해 걱정할 필요가 없습니다.

편집 : 주요 웹 응용 프로그램의 경우 확실히 제어하십시오. 그것을 다운로드하고 직접 제공하십시오. 그러나 내 개인 사이트의 경우 덜 신경 쓰지 못했습니다. 일이 마술처럼 사라지지는 않으며 일반적으로 더 이상 사용되지 않습니다. 향후 릴리스를 위해 무엇을 변경해야 할지를 알기에 충분합니다.


1
그 방법이 다소 위험한 것으로 밝혀졌습니다. 라이브러리의 코드 변경으로 인해 사이트가 손상되면 어떻게됩니까? 또는 jquery 사이트가 다운됩니까? 차라리 파일을 완전히 제어하고 싶습니다.
Jason Miesionczek

1
또한, 나는 이와 같은 jQuery 사람들의 대역폭에 도달하는 것을 싫어합니다. 그들은 이미 정말 멋진 무료 도구를 제공하고 있으며 대역폭 비용으로 인해 다운되는 것을 싫어합니다. 직접 호스팅하지 않으려는 경우 Google은 외부 소스로 Google을 사용하는 것이 좋습니다.
nezroy

JQuery 대신 Google을 사용하도록 전환하는 것이 좋습니다. 주된 이유는 Google이 JQuery보다 전 세계에 더 많은 서버를 보유하고 있고 내 경험상 더 많은 사람들이 Google 호스팅을 사용하여 이미 캐시했을 가능성이 높아지기 때문입니다.
Dscoduc

Jason에 동의합니다. 자동으로 최신 버전으로 전환하는 것은 매우 위험합니다. 아마도 jquery 만 사용하는 경우는별로 없지만 플러그인을 사용하면 권장하지 않습니다. 나는 하나의 사이트에서 1.2.6에서 작동하지만 1.3.x에서는 작동하지 않는 플러그인을 사용합니다 (아직 ...)
jeroen

2

다음은 유용한 리소스입니다. CDN을 선택하는 데 도움이 될 것입니다. MS는 최근 CDN을 통해 배달 라이브러리를위한 새로운 도메인을 추가했습니다.

이전 형식 : http://ajax.microsoft.com/ajax/jQuery/jquery-1.5.1.js 새 형식 : http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.js

microsoft.com에 대한 모든 쿠키를 보내서는 안됩니다. http://www.asp.net/ajaxlibrary/cdn.ashx#Using_jQuery_from_the_CDN_11

다음은 모든 기술에서 웹에서 가장 많이 사용되는 기술에 대한 통계입니다. http://trends.builtwith.com/

희망은 당신이 선택하는 데 도움이 될 수 있습니다.


1

'라이브'사이트에 대한 책임이있는 경우 내 사이트 로 들어 오고 나가는 모든 내용을 잘 알고 있어야 합니다. 따라서 jquery-min 버전을 동일한 서버 또는 정적 / 외부 서버에서 직접 호스팅하지만 모든 변경 사항을 확인 / 테스트 한 후 나 (또는 ​​내 프로그램 / 프록시) 만 라이브러리를 업데이트 할 수있는 위치


Google에서 파일을 변경하지 않기를 바랍니다. 버그 수정을 위해 파일 이름에 버전 번호가 다른 새 파일을 호스팅합니다. 아니면 순진합니까? 그들은 같은 파일 이름을 사용하여 "사소한 수정"을 롤아웃합니까?
Kristen

특정 버전을 요청하면 Google에서 파일을 변경해서는 안됩니다.
Darryl Hein

1

머리에 :

  (function() {
    var jsapi = document.createElement('script'); jsapi.type = 'text/javascript'; jsapi.async = true;
    jsapi.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'www.google.com/jsapi?key=YOUR KEY';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('head')[0]).appendChild(jsapi);
  })();

몸의 끝 :

<script type="text/javascript">
google.load("jquery", "version");
</script>

0

나는 내 자신의 서버에있는 다른 js 파일로 호스팅하고, 그 시점에서 (django-compresser를 사용하여 여기에서 django-compresser를 사용하여) 하나의 js 파일로 제공되도록 사이트를 결합하고 최소화하십시오. 그것에 넣어야합니다. 어쨌든 자신의 js 파일을 제공해야하므로 추가 jquery 바이트를 추가하지 않을 이유가 없습니다. 더 많은 kb는 더 많은 요청이 전송되는 것보다 훨씬 저렴합니다. 당신은 누구에게도 의존하지 않으며, 축소 된 js가 캐시 되 자마자 매우 빠릅니다.

첫 번째로드시 CDN 기반 솔루션이 승리 할 수 ​​있습니다. 별도의 요청없이 자체 서버에서 추가 jquery 킬로바이트를로드해야하기 때문입니다. 그래도 그 차이는 눈에 띄지 않습니다. 그런 다음 캐시가 삭제 된 첫 번째로드에서 CDN jquery를 가져 오기 위해 더 많은 요청 (및 DNS 조회)이 필요하기 때문에 호스팅 된 솔루션이 항상 훨씬 빠릅니다.

이 점을 거의 언급하지 않은 방법과 CDN이 전 세계를 어떻게 차지하는지 궁금합니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.