2010-07-16 4 views
7

Amazon S3에서 이미지를 호스팅하고 Amazon Cloudfront를 통해 이미지를 제공합니다. 우리는 대역폭 비용을 줄이고 싶습니다. 우리는 꽤 많은 대역폭 절도를 당했고이를 방지하기 위해 서명 된 URL을 사용하기를 원합니다. 그러나 우리는 새로운 서명 된 URL을 보낼 때마다 이미지의 브라우저 캐시를 무효화한다는 사실과 균형을 이루어야합니다.이미지의 브라우저 캐싱 및 대역폭 도용을 방지하기위한 링크 만료 시간 조정

현재 우리는 2 개월 동안 유효한 서명 된 URL을 생성 한 다음 로컬로 캐시하고 한 달 동안 게재 한 다음 새 서명 된 URL을 생성합니다. 이렇게하면 브라우저가 이미지를 더 오래 캐시 할 수 있습니다. 그러나 이는 또한 누구나 최대 2 개월 동안 이미지 대역폭을 확보 할 수 있음을 의미합니다.

링크를 더 빨리 만료시킬 수있는 방법이 있습니까? 브라우저가 해당 이미지를 계속 캐시합니까? 나는 URL이 새로운 타임 스탬프를 위해 사임 될 때 이미지의 etag 및 If-Modified-Since가 변경되지 않지만 브라우저가 더 이상 해당 값을 헤더에 보내지 않는다는 것을 알고 있습니다. 이것은 새로운 URL입니다. 이 문제를 해결할 방법이 있습니까?

+0

이 문제를 해결 했습니까? 그렇다면 결과는 무엇입니까? Thx –

+0

우리는 대역폭 절도에 대해 걱정하지 않게되었습니다. – Karptonite

답변

2

대역폭의 도난 위험도를 측정 했습니까? 즉, 리퍼러 필드가 자신의 사이트로 설정되지 않은 이미지 요청에 대한 요청 수를 확인하십시오.

최적의 캐싱을 위해서는 10 년 동안 캐싱하는 것이 좋습니다. 따라서 2 개월은 조금 짧게 들릴 것입니다.

+0

우리는 로깅을 시도했지만 얼마나 많은 대역폭을 도난 당했는지 정량화하기 위해 로그 파일을 검토하는 좋은 방법이 없었습니다. s3stat.com으로 다시 시도하고 있습니다. 로그 파일을 보면 무작위로 보입니다. 이미지가 뜨거워지는 중국 사이트가 있습니다. 그러나 캐시 시간을 줄여야한다면 얼마나 많은 비용이들 것인지 대역폭을 재로드 할 때 비용이 얼마나 들까라고 말하는 것은 어렵습니다. – Karptonite

0

얼마나 많은 캐싱이 필요한지는 웹 사이트 방문자의 액세스 패턴에 따라 크게 달라집니다. 대부분의 사이트에서 캐싱의 한 달을 제공하는 것이 효과적인 캐싱을 얻는 데 충분해야합니다.

이 작업에 많은 노력을 기울이기 전에 실제 값 비싼 값에 구체적인 값을 넣고 문제를 해결하는 데 드는 모든 비용을 고려해야합니다.

BTW : 이미지 워터 마킹은 특정 경우에도 매우 효과적입니다.