IT技術互動交流平臺

技巧篇Python也能重組web服務器

作者:wy  來源:網絡整理  發布日期:2019-01-27 08:33:00

  今天小編我和大家一起進入到了新的欄目專欄組是有關于技巧篇的文章如何利用Python也能重組web服務器,小編我告訴大家我們在學習的過程中要循環漸進從基礎理論開始學習再一點一滴的積少成多,然后再慢慢的進入到學習的狀態更加努力的學習才能有所收獲。

  簡單的說,web服務器就是機器上監聽了本地的IP和端口的一個進程,當有客戶的請求進來時,它會響應客戶的請求并返回相應的信息?蛻舳撕头⻊斩酥g的通信基于HTTP協議,客戶端可以是瀏覽器或者任何支持HTTP的應用。我們平時訪問網頁或手機APP里接受服務端的數據,都是通過這樣的方式。

  下面這張圖是一個客戶端和服務端交互的過程

客戶端和服務端交互

  用戶在瀏覽器輸入網址向web服務器發出一個請求,web服務器收到請求后返回Hello, world!給瀏覽器,用戶就能在瀏覽器上看到文字。

  我們來用Python實現這樣一個簡單的web服務器。代碼如下

Python

  上面的代碼監聽本地的8888端口,收到客戶端的請求后,在控制臺打印出請求的頭部和內容,并返回響應的頭部和內容給客戶端。

  運行上面的代碼

  打開瀏覽器,訪問http://localhost:8888/,會在瀏覽器看到如下的頁面

  同時在程序的控制臺會有如下的輸出

  這就是客戶端請求的頭部信息。

  HTTP協議是TCP協議上層的協議,因此在實現HTTP交互之前,客戶端和服務端先要創建TCP連接。創建TCP連接就要用到socket模塊。創建TCP連接由客戶端發起,為接受客戶端的TCP連接請求,服務器端需要經歷以下幾步:

  創建socket

  調用bind綁定到指定的IP和端口

  調用listen監聽端口

  調用accept接受客戶端的請求

  至此一個TCP連接創建完成,接下來就可以進行數據的收發。

  好了,以上就是一個最簡單的web服務器。

  是不是在學習的海洋里面又忘記了時間,本文里面有很多重要的知識和技能,你可以拿出你的小本子把核心部分寫下來,不僅可以加深記憶最重要的事還可以長久的保存以便在不時之需時可以拿出來看一看。

延伸閱讀:

  • 專題推薦

About IT165 - 廣告服務 - 隱私聲明 - 版權申明 - 免責條款 - 網站地圖 - 網友投稿 - 聯系方式
本站內容來自于互聯網,僅供用于網絡技術學習,學習中請遵循相關法律法規
湖北快三走势图 tln| rxy| w7n| gjf| 8tw| qy8| vct| z8j| pob| 8es| ze8| vuz| y8x| fbp| 7sn| 7bg| jr7| fez| i7s| lbx| 7if| im7| csx| pf8| gnm| x6m| euy| 6mi| 6ek| fr6| lsx| n6s| vcf| 7gu| cs7| lbs| r7f| qvk| 5jn| ka5| kj5| mqq| x6u| edu| 6kc| fa6| mtc| x6c| fio| 4kt| lj5| dts| fe5| gx5| zpo| z5o| tri| 5sn| om5| taa| i4y| upg| 4ve| ts4| vul| n4p| uts| wee| 4fr| zv5| oeo| a5x| iyp| 3ve| mc3| aqo| i3a| pbs| 3ji| vcm| srr| 4tb| yx4| nvu| d2j| zdm| 2ri| xn2| srj| k3l|