用go語言實現乙個簡單的web伺服器

2021-09-27 01:32:25 字數 1520 閱讀 2164

我們這個簡單的web伺服器,主要用到的就是http包,啥也不說了,先上**。

顯而易見,這裡並沒有很多**,非常的簡潔,原因就是好多任務作都由包裡的**去實現了,我們做的只是傳個引數而已。

雖然**並不多,也簡單的說一下。(♫簡單的**我簡單的說♫)

**功能主要為建立乙個web服務程序,監聽的埠為 8000。然後我們啟動這個程式,在瀏覽器上輸入 就可以訪問我們這個伺服器了。

可以嘗試在後面追加一段url位址試試,比如我們加上乙個慣用的字串「hello_world」,這樣我們的訪問位址就變成了

不難發現,顯示的內容也發生了改變,這就是我們在函式

中所做的事情,r為我們在訪問時傳送的請求,r.url_path為請求時的位址,函式中將url位址寫入w,頁面顯示的內容及為w。

當然,我們的要求肯定不限於此。既然是乙個web伺服器,總該有個頁面才像樣。

那麼如果要顯示頁面,該如何返回呢?思考一下,像上面的例子,我們將字串寫入w時,顯示的內容隨即也發生了變化,那麼寫入乙個html檔案是不是就可以顯示這個頁面了呢?那麼問題又來了,將檔案寫入這個w變數要怎麼來實現。

其實這個很簡單,html檔案也只是乙個簡單的文字檔案而已,只不過副檔名不同,這點我們不必太在意。所以我們可以用乙個比較簡單易懂的方法。既然是檔案,把檔案內容讀出來,內容不就是字串嘛,讓後再將檔案內容寫入到w中,剩下的交給瀏覽器去出來就好了。

於是,我有寫了乙個html檔案,名字就叫hello_world.html。

然後再更改一下剛剛的**

重新執行一下服務程式,然後再重新請求,這時,瀏覽器顯示的內容就是剛剛編寫的hello_world.html的內容了。

這個簡單的伺服器就這樣簡單的完成了,大家可以發揮一下自己的想象,如果要構建乙個多個網頁的服務,應該怎麼樣去寫呢?

用Go語言實現乙個簡單的聊天機械人

目的 使用go語言寫乙個簡單的聊天機械人,複習整合go語言的語法和基礎知識。軟體環境 go1.9,goland 2018.1.5。go語言基本構成要素 識別符號 關鍵字 字面量 分隔符 操作符。它們可以組成各種表示式和語句,而後者都無需以分號結尾。陣列 由若干相同型別的元素組成的序列。切片 slic...

乙個簡單的加密(java語言實現)

加密,從大的方向來講分為兩類,即隱文和替換。隱文 就是將密碼隱藏起來,讓人不能輕易發現,比如 中國的字謎便是經典的隱文術,將密文隱藏於一句看上去有點不知所謂的文字中。替換從字面意思便可知道,就是將密文 替換成其他的約定的字元,莫爾斯密碼是典型的替換密碼,將字母用 和 代替。我要講的加密只用了隱文,加...

用C語言實現乙個簡單的Linux殼層(Shell)

期末考試考完,進入聖誕假期,終於騰出手寫這篇文章了。這是我們os課的第乙份作業,要求實現乙個簡單的linux shell,用c寫出乙個類似terminal的東西。大致要求 可以迴圈接收command,根據內容實現相應動作,實現幾個常見command即可。作業目的是熟悉幾個知識點 linux的pare...