Python筆記 網路伺服器之HTTP服務

2021-06-13 10:57:08 字數 2065 閱讀 3903

python筆記——網路伺服器之http服務

此實驗所用python的版本為3.2,不同版本會有所不同。

簡述:用python實現網路服務,總體說來有兩種方式:一是使用相對底層的socket類,自己實現所有的細節;二是使用python所提供的網路伺服器框架socketserver,集中精力處理核心業務。此筆記記錄有關socketserver類在同步處理模型下的使用心得。

python網路服務框架的大體結構:socketserver下有兩個類baseserver和baserequesthandler,可以把前者看成網路監聽的實現,後者是對網路連線的處理。

+-------

---------+

| baseserver |

+--------

--------+|v

+-----

-----------+         +------------

-------------+

| tcpserver |------->| unixstreamserver |

+-----

----------+          +------------

-------------+

|   v

+----------

------+         +--------------

----

-----------+

| udpserver |------->| unixdatagramserver |

+---------

-------+         +-----------

----

--------------+

貼**:

上述**實現乙個簡單的檔案伺服器功能。

繼續,將需要實現的功能新增到服務中:

從basehttprequesthandler繼承而來的myhttprequesthandler類,必須自己實現do_get(),以處理來自客戶端的get請求。

此外,如果有需要還可以覆蓋setup()和handle()這兩個函式,例如在實現https服務的時候就必須覆蓋上述函式。

Python筆記 網路伺服器之HTTPS服務

現在記錄https服務端的編寫。import ssl,socket,time if name main context ssl.sslcontext ssl.protocol sslv23 context.load cert chain certfile key pub.pem keyfile ke...

關於網路伺服器

假如我有數千萬甚至是上億的使用者資料,我想把使用者自增id和使用者名稱username放到快取裡。我的需求是,當要查詢使用者的資訊時,我想先從快取裡根據使用者名稱username獲取到使用者的id,然後再通過id在資料庫裡查詢使用者的資訊。我想當乙個使用者表達到上億的數量級別時,用自增id來查詢肯定...

網路伺服器宕機

1.伺服器程序終止 當伺服器程序終止時,伺服器傳送fin給客戶端,客戶端回以ack,客戶端進入close wait狀態,但還沒有結束連線。此時客戶端阻塞於fgets,客戶端繼續傳送buffer,伺服器傳送rst,客戶端readline返回0。而如果客戶端不理睬readline返回的rst,繼續wri...