亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

桃园县| 河津市| 甘肃省| 礼泉县| 五寨县| 深泽县| 宣化县| 探索| 策勒县| 元阳县| 昭觉县| 焦作市| 屏东市| 蚌埠市| 临城县| 吴堡县| 临沂市| 通城县| 小金县| 黑河市| 临海市| 红安县| 六枝特区| 长宁区| 溧水县| 都昌县| 营口市| 尤溪县| 宁国市| 罗山县| 鞍山市| 长白| 临桂县| 任丘市| 江川县| 枝江市| 临安市| 奎屯市| 义马市| 靖远县| 于都县|