簡易web伺服器

2022-08-30 07:30:12 字數 595 閱讀 1935

1.設定伺服器端口號,獲取伺服器ip位址。

2.建立伺服器監聽socket     socket();

3. 連線伺服器socket和埠號      bind();

4. 讓伺服器socket處於監聽狀態     listen();

5. 在迴圈中呼叫accept(),獲取客戶端連線的socket。accept()預設阻塞,直到有客戶端連線後返回連線套接字。

6. 建立執行緒處理該套接字,使用recv()從socket中讀取字元。

7. 解析http請求報文,如

首先是請求方法,請求url,http協議版本。

host:主機名

8.將請求路徑轉換為本地路徑,將檔案的副本通過send()傳送。

9.響應報文

起始行:http協議版本,狀態碼。

首部:檔案型別,檔案長度。

10.傳送完畢後使用close()結束通訊。

1.udp伺服器

2.udp客戶端

3.tcp伺服器

4.tcp客戶端

python 簡易WEB伺服器

設計乙個web服務,滿足以下基本功能 建立套接字 使用埠號 6699 獲取http請求,並解析http請求報文 顯示請求報文各字段的欄位名和值,對部分字段進行說明 根據http請求報文獲得物件檔案路徑名 根據路徑名開啟本地檔案 封裝本地檔案到http響應報文 使用套接字傳送http相應報文 瀏覽器輸...

web伺服器 簡單web伺服器實現

三次握手 一般情況下是瀏覽器先傳送請求資料,c s ack 應答 三次握手成功後,才開始進行通訊資料的收發。四次揮手 一般情況下是客戶端先關閉,給瀏覽器傳送關閉資訊。如果瀏覽器傳送了關閉資訊,但是伺服器沒有回過去,較慢 那麼瀏覽器一直發是不是就會有問題?所以會等待 2msl的時間。一般為2 5分鐘。...

web伺服器 併發web伺服器實現 epoll

在linux的網路程式設計中,很長的時間都在使用select來做事件觸發。在linux新的核心中,有了一種替換它的機制,就是epoll。epoll 是當今 linux 系統採用的方式,一般伺服器都是用 epoll 來實現的。epoll 是一種方案,這種方案不使用多程序多執行緒多協程,而是使用單程序單...