中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何理解基于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

游戏| 呼图壁县| 华蓥市| 聂荣县| 延长县| 合作市| 凯里市| 诸城市| 高雄县| 连州市| 西乌| 长子县| 丰都县| 孙吴县| 泾川县| 象山县| 平邑县| 修文县| 壤塘县| 庆阳市| 中卫市| 温宿县| 博湖县| 志丹县| 林州市| 平潭县| 时尚| 福泉市| 泰宁县| 观塘区| 合川市| 临江市| 尖扎县| 来安县| 石泉县| 清流县| 甘德县| 和林格尔县| 雷波县| 怀来县| 义马市|