http.FileServer のキャッシュの問題
Go 標準ライブラリの http.FileServer にはキャッシュの問題があり、古くなっていることが知られています。ファイル編集後に提供されるコンテンツ。ユーザーがこの問題に遭遇し、支援を求めました。
問題の説明:
http.FileServer を使用するアプリケーションで、Content-Length ヘッダーが変更されているにもかかわらず、ファイル コンテンツの配信が正しく行われませんでした。 。コンテンツはサーバーまたはシステムの再起動後にのみ更新されます。
拡張調査:
キャッシュの潜在的な原因を除外するために、ユーザーはアプリケーションのコードを調べましたが、キャッシュメカニズムの証拠はありません。また、さまざまなプラットフォーム (Windows、Ubuntu、OS X) でアプリケーションをテストしましたが、動作に変化はありませんでした。
解決策: Virtual Box 共有フォルダーを避ける
しばらくすると調査の結果、ユーザーは原因が Virtual Box 共有フォルダーであることを発見しました。ファイルが Virtual Box 共有フォルダーから提供されると、キャッシュの問題が発生しました。ただし、ファイルがホスト システムに保存され、そこから提供されると、問題は解消されました。
原因:
根本的な問題は、Virtual Box 共有フォルダーが表示されることです。独自のキャッシュ メカニズムを実装するため、http.FileServer によって実行されるキャッシュと競合します。これにより、古いコンテンツが提供されます。
推奨事項:
このキャッシュの問題を回避するには、http.FileServer の外部で使用するファイルを保存することをお勧めします。 Virtual Box の共有フォルダー。これにより、アプリケーションのキャッシュ メカニズムがコンテンツ配信の唯一のコントローラーとなり、古いコンテンツが提供されるのを防ぎます。
以上がVirtual Box 共有フォルダーの使用時に http.FileServer が古いコンテンツを提供するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。