50行實現簡易HTTP伺服器

2022-08-29 06:48:14 字數 2817 閱讀 5840

話說由於一直很懶,所以部落格好像也沒怎麼更新。。。今天有空就寫一下吧。

最近在看node.js的時候開始對http協議感興趣了,畢竟node一開始就是為了做web伺服器而產生的。於是試著想了一下大概的思路,基本上就是用socket建立連線,監聽埠,然後將請求**到我的伺服器,最後輸出響應就好了。今天上午花了一點時間去實現了一下,發現是ok的。就記一下。順帶——python對於這種東西實現起來就是快!

依舊是慣例先上**:

去掉空行應該不到50行,整體思路應該還算清晰。首先是初始化socket的引數,然後拼接報文,最後response內容。

當然這只是乙個試驗性質的,你如果想要做乙個完整的web伺服器還是要改不少東西的,但基本思路還是一樣的,這裡只做乙個拋磚引玉的作用,希望能對大家有所幫助。

簡易的Http伺服器

該程式主要實現http伺服器最原始的響應功能,運用tcp套接字,使用單程序技術,只能在某一時間內處理乙個客戶端的請求。對於客戶端瀏覽器的請求做出兩種可能的處理,一種是網頁存在時傳送該網頁給客戶端,不存在時傳送404請求失敗警告,該程式是http伺服器的1.0版本,後續還會發實現更多功能的更高版本。f...

C實現的 簡易的http伺服器

設定位址復用 ret setsockpot server fd,sol socket,so reuseaddr,on,sizeof on if ret 0 memset server addr,0,sizeof server addr 設定埠,ip,和tcp ip協議族 server addr.si...

簡易web伺服器

1.設定伺服器端口號,獲取伺服器ip位址。2.建立伺服器監聽socket socket 3.連線伺服器socket和埠號 bind 4.讓伺服器socket處於監聽狀態 listen 5.在迴圈中呼叫accept 獲取客戶端連線的socket。accept 預設阻塞,直到有客戶端連線後返回連線套接字...