http.FileServer의 캐싱 문제
Go 표준 라이브러리의 http.FileServer는 캐싱 문제를 나타내는 것으로 알려져 있습니다. 파일 편집 후 제공되는 콘텐츠. 사용자가 이 문제에 직면하여 도움을 요청했습니다.
문제 설명:
Content-Length 헤더 변경에도 불구하고 http.FileServer를 사용하는 애플리케이션에서 잘못된 파일 콘텐츠 전달이 발생했습니다. . 콘텐츠는 서버 또는 시스템 재부팅 후에만 업데이트됩니다.
확장 조사:
캐싱의 잠재적 소스를 배제하기 위해 사용자는 애플리케이션의 코드를 조사했지만 발견했습니다. 캐싱 메커니즘에 대한 증거가 없습니다. 또한 동작 변화 없이 다양한 플랫폼(Windows, Ubuntu, OS X)에서 애플리케이션을 테스트했습니다.
해결책: Virtual Box 공유 폴더 사용을 피하세요
몇 시간 후 조사 결과 사용자는 Virtual Box 공유 폴더를 범인으로 발견했습니다. Virtual Box 공유 폴더에서 파일을 제공할 때 캐싱 문제가 발생했습니다. 그런데 호스트 시스템에 파일을 저장하고 거기에서 서비스를 해보니 문제가 사라졌습니다.
원인:
근본적인 문제는 Virtual Box 공유 폴더가 나타나는 것입니다. http.FileServer에서 수행하는 캐싱과 충돌하는 자체 캐싱 메커니즘을 구현합니다. 이로 인해 오래된 콘텐츠가 제공됩니다.
권장 사항:
이 캐싱 문제를 방지하려면 http.FileServer에서 사용할 파일을 외부에 저장하는 것이 좋습니다. Virtual Box 공유 폴더. 이렇게 하면 애플리케이션의 캐싱 메커니즘이 콘텐츠 전달의 유일한 컨트롤러가 되어 오래된 콘텐츠가 제공되는 것을 방지할 수 있습니다.
위 내용은 Virtual Box 공유 폴더를 사용할 때 http.FileServer가 오래된 콘텐츠를 제공하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!