> 백엔드 개발 > Golang > My Go http.FileServer가 수정 후 오래된 파일을 제공하는 이유는 무엇입니까?

My Go http.FileServer가 수정 후 오래된 파일을 제공하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-02 14:14:02
원래의
1016명이 탐색했습니다.

Why Does My Go http.FileServer Serve Outdated Files After Modification?

http.FileServer 동작: 편집된 파일에 대한 캐시 무효화

Go의 http.FileServer 패키지는 정적 파일을 제공하는 편리한 방법을 제공합니다. 그러나 사용자는 파일 수정 후 오래된 콘텐츠가 반환될 수 있는 캐싱 문제에 직면했습니다.

문제 설명

간단한 예는 문제를 보여줍니다. 정적 HTML 제공 http.FileServer를 사용하는 페이지입니다. 페이지를 수정하고 다시 로드하면 응답 헤더에 올바른 Content-Length가 표시되었음에도 불구하고 브라우저가 이전 버전을 수신합니다.

문제 해결

독립 변수가 배제되었습니다. :

  • 여러 운영 체제(Windows, Ubuntu, macOS)에서 테스트
  • 디스크에서 확인된 파일 캐싱이 수행되지 않습니다

해결책

신중하게 조사한 결과 문제가 확인되었습니다.

문제: Virtual Box 공유 폴더를 사용하여 정적 파일 호스팅

이유: 가상화는 파일 수정 감지를 방해할 수 있는 간접 계층을 도입합니다.

수정:

문제를 해결하려면 물리적으로 공유 폴더를 사용하는 대신 정적 파일을 서버의 로컬 파일 시스템에 복사합니다.

공유 폴더 사용을 제거함으로써 http.FileServer는 파일 수정을 정확하게 감지하고 업데이트된 콘텐츠를 제공할 수 있습니다.

위 내용은 My Go http.FileServer가 수정 후 오래된 파일을 제공하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿