Go建立簡單web服務
阿新 • • 發佈:2022-03-11
建立一個基於 HTTP 協議的 Web 服務
構建一個最簡單的 HTTP 服務,當收到一個 HTTP 請求後,給請求方返回包含“hello, world”資料的響應。
main.go
package main
import "net/http"
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request){
w.Write([]byte("hello, world"))
})
http.ListenAndServe(":8080", nil)
}
func(w http.ResponseWriter, r *http.Request)
http 包提供的 ListenAndServe
函式,建立起一個 HTTP 服務,這個服務監聽本地的 8080 埠。客戶端通過這個埠與服務建立連線,傳送 HTTP 請求就可以得到相應的響應結果。
訪問http://localhost:8080/,進行驗證
在這個例子中,所有來自客戶端的請求,無論請求的 URI 路徑(RequestURI)是什麼(比如http://localhost:8080/dsdfaf),請求都會被設定的處理函式處理。為什麼會這樣呢?
通過 http.HandleFunc 設定這個處理函式時,傳入的模式字串為“/”。HTTP 伺服器在收到請求後,會將請求中的 URI 路徑與設定的模式字串進行最長字首匹配,並執行匹配到的模式字串所對應的處理函式。在這個例子中,僅設定了“/”這一個模式字串,並且所有請求的 URI 都能與之匹配,自然所有請求都會被設定的處理函式處理。