정적 파일을 제공하기 위해 lighttpd를 사용하고 있습니다. 정기적으로 업데이트하는 디렉토리에 많은 이미지가 있습니다. 파일 내용이 아닌 수정 날짜뿐만 아니라 파일 내용 (및 파일 크기)도 변경됩니다.
http를 통해 파일에 액세스하면 업데이트가 고려되지 않고 이전 파일을 가볍게 제공합니다. 수동으로 파일 이름을 다른 것으로 바꾸면 lighttpd가 404 오류를 반환하고 파일 이름을 다시 바꾸면 올바른 업데이트 버전을 얻게됩니다. lightty가 정적 파일을 반환하기 위해 자체 캐시 메커니즘을 사용하는 것 같습니다. 불행히도 파일이 수정 될 때이 메커니즘이 자체적으로 업데이트되지 않는 것 같습니다.
Wireshark를 통해 확인했는데 브라우저가 실제로 파일에 대한 요청을하고 있습니다. 브라우저 캐싱 문제는 아닙니다. 빈 캐시에서 요청할 때 200 OK를, 그렇지 않으면 304 Not Modified를 예상대로 반환합니다. 그러나 파일은 실제 마지막 수정 날짜를 반영하지 않는 잘못된 Last-Modified 헤더와 함께 반환됩니다.
어쩌면 내가 모르는 구성 지시어가 있습니까?
lighty에서 반환 된 파일이 디스크에서 변경 한 내용을 직접 반영하거나 캐시를 무효화 할 수 있기를 바랍니다.
이 질문을 따르는 사람을위한 업데이트 : 범인을 찾았습니다. 정적 파일을 업데이트하면 Lighty는 새 내용을 반환하지 않지만 헤더에 새 내용 길이를 반환하므로 가비지가 표시됩니다. mod_compress를 사용하여 파일을 압축하면 mod_compress가 자체 캐싱 시스템을 사용하므로 문제가 해결됩니다. 불행히도 모든 파일을 압축 할 수는 없습니다 (예 : 이미지 파일). 따라서 이것은 부분적인 수정일 뿐이지 만 나중에 다시 연락하여 해결책을 찾을 것입니다.