http 靜態文件


 

什么是靜態文件?如何處理靜態文件?靜態文件的作用

類型於單獨的css  js  圖片這些被html文件所需要,而又不會有太大隱私的文件。靜態文件用來修飾html等模板。如何只暴露所需要的靜態文件?請看下面詳解:

先看一下例子:

package main

import (
	"net/http"
)
func main(){
	http.Handle("/",http.FileServer(http.Dir("/")))
	http.ListenAndServe(":80",nil)
}

  訪問結果:

 

 

 

 

訪問了整個磁盤上的文件,

修改一下,接着看:

package main

import (
	"net/http"
)
func main(){
	http.Handle("/",http.FileServer(http.Dir("./")))  //當前根目錄
	http.ListenAndServe(":80",nil)
}

  訪問結果:

當前目錄下的所有文件。

上面的情況,放開的權限特別大,這肯定是不行的,主要是不安全的。

看下面的完整的例子:

package main

import (
	"net/http"
	"text/template"
	"fmt"
)
var t1 *template.Template
func init(){
	t,err := template.ParseFiles("./views/index.html")
	if err != nil {
		fmt.Println("paser file err",err)
		return
	}
	t1 = t
}
func index(w http.ResponseWriter, r *http.Request){
	t1.Execute(w,nil)
}
func main(){
	http.HandleFunc("/index",index)
	http.Handle("/media/",http.StripPrefix("/media/",http.FileServer(http.Dir("./media"))))
	// http.Handle("/media/",http.FileServer(http.Dir("./media")))
	http.ListenAndServe(":80",nil)
}

  

當前目錄 static, views下是所有的html模板,media下是所有css,js,圖片。

訪問url:

查看頁面所需要css的url:

靜態文件其實指的是像css,js,img等一些被模板需要的文件,當它們訪問的url不能獲取時,那么模板就不能達到預想的效果。所以我們只暴露了所需要的靜態文件的目錄

查看:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM