1 回答

TA貢獻1794條經驗 獲得超7個贊
這對我來說也很有趣,我也有和你一樣的行為 - go 1.14 在我的 mashine (macOs catalina) 應用程序/javascript 上交付,而不是 text/javascript。我調試了程序,在 mime 包的 type.go 中發現了這個函數:
func initMime() {
if fn := testInitMime; fn != nil {
fn()
} else {
setMimeTypes(builtinTypesLower, builtinTypesLower)
osInitMime()
}
}
else 塊中正在發生有趣的事情。在將擴展分配給的 builtInTypes 設置后,將文件擴展js分配給text/javascript操作系統特定的內容類型,這會覆蓋內置分配。在 mac 上,它將文件 type_unix.go where files
"/etc/mime.types",
"/etc/apache2/mime.types",
"/etc/apache/mime.types",
經測試可用,在我的情況下/etc/apache2/mime.types,操作系統中存在一個文件,它包含...令人驚訝的一行 application/javascript js 并且此行覆蓋了 .js 擴展的 go 內置定義,并導致Content-Type: application/javascript交付給客戶端并導致您的測試失敗。
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報