掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
Go語言里面提供了一個完善的 net/http 包,通過 net/http 包我們可以很方便的搭建一個可以運行的 Web 服務(wù)器。同時使用 net/http 包能很簡單地對 Web 的路由,靜態(tài)文件,模版,cookie 等數(shù)據(jù)進(jìn)行設(shè)置和操作。

站在用戶的角度思考問題,與客戶深入溝通,找到埇橋區(qū)網(wǎng)站設(shè)計與埇橋區(qū)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋埇橋區(qū)地區(qū)。
我們平時瀏覽網(wǎng)頁的時候,會打開瀏覽器,然后輸入網(wǎng)址后就可以顯示出想要瀏覽的內(nèi)容。這個看似簡單的過程背后卻隱藏了非常復(fù)雜的操作。
對于普通的上網(wǎng)過程,系統(tǒng)其實是這樣做的:
圖:用戶訪問一個站點的過程
通過上圖可以將 Web 服務(wù)器的工作原理簡單地歸納為:
前面簡單介紹了 Web 服務(wù)器的工作原理,那么如何用Go語言搭建一個 Web 服務(wù)器呢?示例代碼如下:
package main
import (
"fmt"
"log"
"net/http"
)
func main() {
http.HandleFunc("/", index) // index 為向 url發(fā)送請求時,調(diào)用的函數(shù)
log.Fatal(http.ListenAndServe("localhost:8000", nil))
}
func index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "C語言中文網(wǎng)")
} 使用 go run 命令運行上面的代碼:
go run main.go
運行之后并沒有什么提示信息,但是命令行窗口會被占用(不能再輸入其它命令)。這時我們在瀏覽器中輸入 localhost:8000 可以看到下圖所示的內(nèi)容,則說明我們的服務(wù)器成功運行了。
圖:localhost:8000
提示:運行 Web 服務(wù)器會占用命令行窗口,我們可以使用 Ctrl+C 組合鍵來退出。
上面的代碼只是展示了 Web 服務(wù)器的簡單應(yīng)用,下面我們來完善一下,為這個服務(wù)器添加一個頁面并設(shè)置訪問的路由。
首先我們準(zhǔn)備一個 html 文件,并命名為 index.html,代碼如下所示:
C語言中文網(wǎng)
C語言中文網(wǎng)
然后將我們上面寫的 Web 服務(wù)器的代碼簡單修改一下,如下所示:
package main
import (
"io/ioutil"
"log"
"net/http"
)
func main() {
// 在/后面加上 index ,來指定訪問路徑
http.HandleFunc("/index", index)
log.Fatal(http.ListenAndServe("localhost:8000", nil))
}
func index(w http.ResponseWriter, r *http.Request) {
content, _ := ioutil.ReadFile("./index.html")
w.Write(content)
} 使用 go run 命令運行:
go run main.go
運行成功后,在瀏覽器中輸入 localhost:8000/index 就可以看到我們所添加的頁面了,如下圖所示:
圖:瀏覽 localhost:8000/index 頁面

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流