web基礎 0x01 Go搭建乙個Web伺服器

2022-07-09 02:36:12 字數 1004 閱讀 6603

前面已經介紹了web是基於http協議的乙個服務,go語言裡面提供了乙個完善的net/http包,通過http包可以很方便的就搭建起來乙個可以執行的web服務。同時使用這個包能很簡單的對web的路由,靜態檔案,模板,cookie等資料進行設定和操作。

http包建立web伺服器

fmt.fprintf(w,"hello astaxie!") //這個寫入到w的是輸出到客戶端的

}func main()

}

上面這個**,我們build之後,然後執行web.exe,這個時候其實已經在9090埠監聽http鏈結請求了。

在瀏覽器輸入 http://localhost:9090

可以看到瀏覽器頁面輸出了 hello astaxie!

我們看到上面的**,要表寫乙個web伺服器很簡單,只要呼叫http包的兩個函式就可以了。

如果你以前是php程式設計師,也許會問,我們的nginx,apache伺服器不需要嗎?go就是不需要這些,因為它直接就監聽tcp埠了,做了nginx做的事情,然後sayhello這個其實就是我們寫的邏輯函式了,根php裡面的控制層(controller)函式類似。

如果你以前是python程式設計師,那麼你一定聽說過tornado,這個**和它很像,go就是擁有類似python這樣動態語言的特性,寫web應用很方便。

如果你以前是ruby程式設計師,會發現和ror的/script/server啟動有點類似。

我們看到go通過簡單的幾行**就已經執行起來乙個web服務了,而且這個微博服務內部有支援高併發的特性,我們將會在下面的內容裡詳細介紹一下go是如何實現web高併發的。

Go搭建乙個Web伺服器

我們可以使用http包建立web伺服器 上面這個 我們build之後,然後執行web.exe,這個時候其實已經在9090埠監聽http鏈結請求了。在瀏覽器輸入http localhost 9090 可以看到瀏覽器頁面輸出了hello astaxie 可以換乙個位址試試 http localhost ...

go搭建乙個簡單web伺服器

go語言裡面提供了乙個完善的net http包,通過http包可以很 方便的就搭建起來乙個可以執行的web服務。同時使用這個包能很簡單地對web的路由,靜態檔案,模版,cookie等數 據進行設定和操作。http包建立web伺服器 1 服務端 fmt.fprintf w,hello go web s...

3 2 Go搭建乙個Web伺服器

前面小節已經介紹了web是基於http協議的乙個服務,go語言裡面提供了乙個完善的net http包,通過http包可以很方便的就搭建起來乙個可以執行的web服務。同時使用這個包能很簡單地對web的路由,靜態檔案,模版,cookie等資料進行設定和操作。fmt.fprintf w,hello ast...