Rumah > pembangunan bahagian belakang > Golang > Mengapa http.FileServer Melayan Fail Lapuk Apabila Menggunakan Folder Kongsi Kotak Maya?

Mengapa http.FileServer Melayan Fail Lapuk Apabila Menggunakan Folder Kongsi Kotak Maya?

Barbara Streisand
Lepaskan: 2024-11-02 18:36:02
asal
591 orang telah melayarinya

Why Does http.FileServer Serve Outdated Files When Using Virtual Box Shared Folders?

Isu Caching dengan http.FileServer

Artikel ini menangani cabaran khusus yang dihadapi semasa menggunakan fungsi http.FileServer dalam aplikasi Go. Isu ini timbul apabila fungsi menyimpan kandungan fail dan terus menyediakan versi lama walaupun selepas fail telah diedit.

Dalam contoh mudah, program Go menyediakan fail HTML statik daripada direktori ./www/:

<code class="go">package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.Handle("/", http.FileServer(http.Dir("./www/")))
    err := http.ListenAndServe(":8080", nil)
    if err != nil {
        fmt.Println(err)
    }
}</code>
Salin selepas log masuk

Namun, selepas mengedit fail HTML dan memuatkan semula halaman, penyemak imbas terus memaparkan kandungan lapuk. Isu ini berterusan walaupun selepas memulakan semula program.

Punca

Punca masalah terletak pada penggunaan folder kongsi Kotak Maya untuk mengehoskan fail HTML. Konfigurasi ini menyebabkan Windows meng-cache kandungan fail, menghalang fungsi http.FileServer daripada menghantar versi yang dikemas kini.

Penyelesaian

Untuk menyelesaikan isu ini, elakkan daripada menggunakan Virtual Box shared folder untuk fail yang dimaksudkan untuk digunakan dalam http.FileServer. Sebaliknya, simpan fail terus pada sistem hos, seperti dalam direktori /testing/:

<code class="go">http.Handle("/", http.FileServer(http.Dir("/home/vagrant/testing/")))</code>
Salin selepas log masuk

Dengan mengikut garis panduan ini, fungsi http.FileServer akan menyampaikan kandungan fail yang dikemas kini dengan tepat tanpa sebarang isu caching.

Atas ialah kandungan terperinci Mengapa http.FileServer Melayan Fail Lapuk Apabila Menggunakan Folder Kongsi Kotak Maya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan