2010-05-03 7 views
0

위젯을 캐시 할 수있는 방법이 있습니까? 예를 들어 소량의 웹 사이트에 위젯을 배치 한 다음 누군가가 해당 사이트에 액세스 할 때마다 위젯 코드를 얻기 위해 서버에 전화가 걸립니다. 이렇게하면 내 서버가 위젯을 표시하는 데 지나치게 오버로드 될 수 있습니다. 위젯 HTML 코드를 캐싱하고 Akamai와 같은 일부 서버에 배치 할 수 있습니까? 모든 제안 또는 팁을 높이 평가.위젯을 캐싱 할 수 있습니까?

미리 감사드립니다.

답변

0

물론 가능하지만 위젯에 어떻게 든 접근 할 수 있어야합니다. EdgeCast 대 Akamai도 훨씬 더 빠른 성능 (빠른 응답, 빠른 다운로드)을 발견했습니다.

예를 들어 양식에 대한 코드가 http://cdn.mysite.com/form1.html이고 사용자가 해당 양식을 가져올 링크를 클릭한다고 가정 해보십시오.

스크립트로이 같은

사용 무언가 : 다음

$(document).ready(function() { 
    $(".widget .trigger").click(function() { 
     url = $(this).attr("rel"); 
     $(this).parents(".widget").load(url, function() { 
      // Do what needs to be done to the widget code here 
      // Example: make it an AJAX form. 
     }); 
    }); 
}); 

그리고이 마크 업이 있습니다

<div class="widget"> 
    <a href="javascript:void(0);" rel="http://cdn.mysite.com/form1.html">Widget Trigger</a> 
</div> 

을 그리고 당신의 CDN에 있습니다

<form action="/ajax/hander/" method="POST"> 
    <fieldset> 
     <legend>This is a pretty cool form</legend> 
     <label for="form1input1">Make this cool:</label> 
     <input id="form3input1" name="something" type="text" /> 
     <input type="submit" value="Coolify" /> 
    </fieldset> 
</form> 

그런 다음 가질 수 스 니펫을 CDN에 업로드하고, URL을 데이터베이스에 저장하며, 링크를 생성하는 코드 서버 측 그 값을 Memcached와 같이 빠르게 잡아 당겨서 적절한 rel 태그를 사용하십시오. 이 부분은 선택한 언어에 따라 크게 달라질 것입니다.

관련 문제