1. 程式人生 > 其它 >Go建立簡單web服務

Go建立簡單web服務

建立一個基於 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)

,第二個引數 r 代表來自客戶端的 HTTP 請求,第一個引數 w 則是用來操作返回給客戶端的應答的。

http 包提供的 ListenAndServe 函式,建立起一個 HTTP 服務,這個服務監聽本地的 8080 埠。客戶端通過這個埠與服務建立連線,傳送 HTTP 請求就可以得到相應的響應結果。

訪問http://localhost:8080/,進行驗證

在這個例子中,所有來自客戶端的請求,無論請求的 URI 路徑(RequestURI)是什麼(比如http://localhost:8080/dsdfaf),請求都會被設定的處理函式處理。為什麼會這樣呢?

​ 通過 http.HandleFunc 設定這個處理函式時,傳入的模式字串為“/”。HTTP 伺服器在收到請求後,會將請求中的 URI 路徑與設定的模式字串進行最長字首匹配,並執行匹配到的模式字串所對應的處理函式。在這個例子中,僅設定了“/”這一個模式字串,並且所有請求的 URI 都能與之匹配,自然所有請求都會被設定的處理函式處理。