第10天 Web伺服器

2021-08-28 05:16:08 字數 1075 閱讀 7928

1. 知道長連線和短連線的特點

# 長連線: 連線建立成功以後,可以傳送多次請求和多次響應資料,提高訪問速度, 伺服器占用比較多

# 短連線: 每次傳送請求資料之前都需要先建立連線,那麼使用者訪問資料比較慢, 伺服器占用的資源比較少,因為資料傳送完成以後服務端就會斷開連線

2. 掌握請求報文和響應報文的傳送格式

# get請求報文格式

# 請求行 get / http/1.1\r\n

# 請求頭\r\n

# 空行(\r\n)

# 響應報文格式

# 響應行 http/1.1 200 ok\r\n

# 響應頭\r\n

# 空行(\r\n)

# 響應體(伺服器傳送給客戶端顯示的真正資料)

3. 知道返回固定網頁的資料如何封裝響應報文

# 1. 開啟檔案讀取固定檔案裡面的資料

# 2. 把檔案中的資料設定到響應體裡面

# 3. 封裝整個響應報文資料,使用socket方式給瀏覽器

4. 知道使用正規表示式匹配請求資源路徑

# match_obj = re.search("/\s*", 請求報文字串)

# request_path = match_obj.group()

5. 知道請求資源找不到的處理操作

# 判斷客戶端請求的資源檔案在伺服器是否存在,如果不存在傳送404的響應報文資料,否則傳送200的響應報文資料

# 1. os.path.exits("static" + request_path)

# 2. try-except 判斷開啟檔案是否出現異常,有異常傳送404報文資料

6. 知道如何實現多工web伺服器

# 使用gevent完成多工的

# 當客戶端和伺服器建立連線成功以後, 建立乙個對應的協程, 多個協程完成多工

7. 知道物件導向的方式開發web伺服器

# 定義web伺服器類

# 建立web伺服器物件

# 啟動web伺服器

8. 知道終端啟動程式獲取命令列引數

# sys.argv, 返回的型別是乙個列表, 第乙個引數是程式名稱,第二個引數是埠號

第5章 Web伺服器

了解web伺服器是如何處理http事務的。2.1 web伺服器 web伺服器實現了http和相關的tcp連線處理。負責管理web伺服器提供的資源,以及對web伺服器的配置,控制及擴充套件方面的管理。2.2 通用軟體web伺服器 通用軟體web伺服器都執行在標準的,有網路功能的計算機系統上。比如開源軟...

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

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

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

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