Cloud Storage에서 Object Versioning을 사용하지 않는 상황에서도 데이터 업로드 후 URL로 접근 시 이전 버전의 파일이 확인 될 때가 있습니다.


이는 해당 객체에 캐시 설정이 되어있기 때문입니다.

아래 조건의 객체에 한하여 Cloud Storage의 Cache-Control이 적용 됩니다.


 - 공개적으로 액세스할 수 있습니다.

 - 요청자 지불이 사용 설정된 버킷에 저장되어 있지 않습니다.

 - 고객 제공 암호화 키를 사용하여 암호화되지 않습니다.


만약 Cache-Control이 적용가능한 객체에 Cache-Control 메타데이터 항목이 없으면 Cloud Storage가 다음에 기본값을 사용합니다.


 - public, max-age=3600: 객체가 고객 관리 암호화 키를 사용하여 암호화되지 않은 경우

 - no-cache, no-store, max-age=0: 객체가 고객 관리 암호화 키를 사용하여 암호화된 경우


따라서 객체의 Cache-Control 메타데이터를 수정하여 캐시 사용 여부 및 기간 설정을 할 수 있습니다.


 - public: 객체가 어디서나 캐시될 수 있습니다.

 - private: 객체가 요청자의 로컬 캐시에 캐시될 수 있습니다.

 - no-cache: 객체가 캐시될 수 있지만 Cloud Storage에 의해 검증되기 전에는 이후 요청을 충족하는 데 사용될 수 없습니다.

 - no-store: 객체가 캐시될 수 없습니다.

 - max-age=TIME_IN_SECONDS: 객체가 비활성으로 간주되기 전에 캐시될 수 있는 기간입니다. max-age를 원하는 길이의 시간으로 설정할 수 있습니다. 특수한 상황을 제외하고 비활성 객체는 캐시에서 제공되지 않습니다


공개적으로 읽을 수 있는 객체의 캐시된 버전을 제공하지 않으려면 아래와 같이 객체에 Cache-Control: no-store을 설정하시기 바랍니다.