91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解基于gorilla/mux 包實現路由匹配的處理靜態資源響應

發布時間:2021-11-15 15:29:55 來源:億速云 閱讀:193 作者:柒染 欄目:大數據

今天就跟大家聊聊有關如何理解基于gorilla/mux 包實現路由匹配的處理靜態資源響應,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

到目前為止,我們都是在處理動態資源,也就是 Go 代碼實現的響應。HTTP 服務器除了處理動態資源之外,還應該具備處理靜態資源的能力,比如 HTML、CSS、JavaScript、圖片都屬于靜態資源的范疇。

要處理靜態資源,需要借助 PathPrefix() 方法指定靜態資源所在的路徑前綴,然后在請求處理器中通過 http.FileServer 直接返回文件內容本身作為響應:


func main()  {    r := mux.NewRouter()    r.Use(loggingMiddleware)
   // 解析服務器啟動參數 dir 作為靜態資源 Web 根目錄    // 默認是當前目錄 .    var dir string    flag.StringVar(&dir, "dir", ".", "靜態資源所在目錄,默認為當前目錄")    flag.Parse()
   // 處理形如 http://localhost:8000/static/<filename> 的靜態資源路由    r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir(dir))))            // 其它路由    ...        log.Fatal(http.ListenAndServe(":8080", r))}

以上述代碼為例,當我們請求 http://localhost:8080/static/app.js 文件時,會到 static 目錄下查找 app.js,如果找不到會返回 404,否則返回文件本身作為響應。

我們試著在上述入口文件所在目錄下創建 static/app.js,并初始化代碼如下:

document.write("hello from javascript");

然后在 static 目錄下放置一張圖片 test.jpg 文件,啟動這個 HTTP 服務器:


go run mux.go -dir=static

注意這里我們通過 dir 參數指定了靜態資源的根目錄為 static,如果不指定的話訪問上述靜態資源會報 404。

接下來,就可以在瀏覽器中訪問服務器 static 目錄下的靜態資源了:

如何理解基于gorilla/mux 包實現路由匹配的處理靜態資源響應

雖然 gorilla/mux 路由器提供了對靜態資源的支持,但是通常我們還是會和 PHP 一樣,基于 Nginx 來處理靜態資源,然后將動態請求轉發給 Go HTTP 服務器,因為 Nginx 作為一款強大的反向代理服務器,并發處理靜態資源的能力非常強悍,沒必要自己去處理這塊邏輯。

看完上述內容,你們對如何理解基于gorilla/mux 包實現路由匹配的處理靜態資源響應有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐平市| 温宿县| 凌源市| 涞水县| 惠来县| 讷河市| 韶关市| 晋城| 临泽县| 厦门市| 翼城县| 阜新市| 玛纳斯县| 道孚县| 门头沟区| 武清区| 文昌市| 葵青区| 湘潭市| 普陀区| 巫山县| 当涂县| 万源市| 克什克腾旗| 健康| 阿拉善盟| 浙江省| 香格里拉县| 交城县| 安远县| 平果县| 景宁| 永泰县| 璧山县| 马鞍山市| 兰州市| 台湾省| 商洛市| 东光县| 中山市| 友谊县|