2012-07-25 6 views
2

이미지를 업로드 할 때마다 다양한 프레임 크기로 렌더링되는 사이트가 있습니다. cron 작업은 매 10 분마다 실행되어 새로운 이미지가 그 시간 동안 업로드되었는지 확인하고 필요한 경우 모든 필요한 프레임을 생성합니다.Akamai 캐시 만료 헤더를 보내는 방법은 무엇입니까?

이 cron은 매 10 분마다 실행되기 때문에 콘텐츠 (예 : 기사)가 실행되는 시간과 이미지를 사용할 수있는 시간 사이에 약간의 시간이 있습니다. 그래서 그동안 사이트의 로고가있는 일반적인 자리 표시 자 이미지가 표시됩니다.

Akamai는 이미지를 캐시하므로 사이트 사용자가 아직 cron에서 렌더링하지 않은 이미지가있는 페이지를로드하면 정적 이미지 홀더가 해당 이미지 경로에 표시되고 Akamai가 캐시합니다. 이미지가 나중에 렌더링되고 사용할 수있는 경우에도 사용자는 여전히 Akamai에서 캐시 된 버전을 가져옵니다.

한 가지 해결책은 cron이 이미지를 렌더링 할 때 이러한 이미지의 "나이"를 파괴하는 것입니다. 그러나 새로운 것을 위해 돌아 오기 위해 Akamai는 약 8 분이 걸립니다.

새로운 이미지가 수신 될 때까지 캐시 유효 기간 헤더를 통해 아마 아카 마이에게 돌아갈 수있는 다른 해결책이 있습니까? 한번 완료되면 캐시 된 버전이 계속 표시되지 않습니까?

답변

2

예, 어떤 방식 으로든. 서버 측과 akamai 설정에서 몇 단계를 결합한 경우

개념은 다음과 같습니다. 에지 서버는 보유한 콘텐츠를 전달합니다. 예를 들어 PHP에서 캐시 제어 헤더를 사용하는 경우 각 디지털 속성의 akamai 구성 설정에있는 TTL 설정이이를 삭제하고 대신이를 사용합니다. 경로, 파일 유형, 확장자 등으로 원본 서버에 얼마나 자주 오는지 알려주는 의미입니다. 그런 다음 클라이언트 측에서는 최종 사용자에게 제공하는 파일이 무엇이든 관계없이 해당 수준에서 캐시하지 않고 다시 에지 서버로 롤백하지 않는 한 에지 서버가 콘텐츠를 요청하는 빈도는 중요하지 않습니다.

이러한 구성 설정을 사용하면 특정 파일의 만료가 정확한지 또는 전혀 캐시되지 않도록 지정할 수 있습니다.

페이지에 placeholder.jpg를 지정하고 akamai에게 해당 이미지를 캐시하지 않도록 지시하면 에지 서버가 요청할 때마다 다시 표시됩니다. 일단 이미지가 있으면 placeholder.jpg가 페이지에 더 이상 존재하지 않고 대신에 정규 이미지 캐싱 시간에 따라 sizeA.jpg가 있습니다.

이것은 이상적은 아니지만 수동으로 페이지를 지우는 것 이외의 다른 방법으로 수행 할 수있는 가장 좋은 방법입니다. API 호출을 사용하여 호출 할 수있는 페이지를 지우지 않아도됩니다. 어쨌든 캐시 클리어가 자신의 n/w를 통해 전파되는 데 7-10 분이 소요됩니다.)