IT技術互(hu)動交流平(ping)台

亿博APP官网

作者︰wy  來源︰網絡整理  發布(bu)日期︰2020-03-31 10:40:00

  今天小編我和大家一起(qi)進(jin)入(ru)到了新的欄目專欄組是有關于技巧篇(pian)的文章如何利(li)用Python也能重組web服(fu)務器,小編我告訴(su)大家我們在(zai)學習的過程中要循(xun)環漸(jian)進(jin)從基礎(chu)理論開始學習再一點一滴的積少成sha)啵 ran)後再慢(man)慢(man)的進(jin)入(ru)到學習的狀態更加努力(li)的學習an)拍苡興棧瘛/p>

  簡(jian)單的說,web服(fu)務器就是機器上監听了本地(di)的IP和端口的一個進(jin)程,當有客戶的na)肭qiu)進(jin)來時(shi),它會響應客戶的na)肭qiu)並返回相(xiang)應的信息。客戶端和tou)fu)務端之間(jian)的通信基于HTTP協議,客戶端可以是瀏覽器或(huo)者任何支持(chi)HTTP的應用。我們平(ping)時(shi)訪(fang)問網頁或(huo)手機APP里接受服(fu)務端的數據,都是通過這樣(yang)的方式。

  下面這張(zhang)圖是一個客戶端和tou)fu)務端交互(hu)的過程

客戶端和��tou)��fu)務端交互(hu)

  用戶在(zai)瀏覽器輸入(ru)網址(zhi)向web服(fu)務器發出一個請求(qiu),web服(fu)務器收到請求(qiu)後返回Hello, world!給(gei)瀏覽器,用戶就能在(zai)瀏覽器上看到文字。

  我們來用Python實(shi)現(xian)這樣(yang)一個簡(jian)單的web服(fu)務器。代碼如下

Python

  上面的代碼監听本地(di)的8888端口,收到客戶端的na)肭qiu)後,在(zai)控制台打印出請求(qiu)的頭(tou)部(bu)和內(na)容,並返回響應的頭(tou)部(bu)和內(na)容給(gei)客戶端。

  運行(xing)上面的代碼

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

  同時(shi)在(zai)程序的控制台會有如下的輸出

  這就是客戶端請求(qiu)的頭(tou)部(bu)信息。

  HTTP協議是TCP協議上層的協議,因此(ci)在(zai)實(shi)現(xian)HTTP交互(hu)之前(qian),客戶端和tou)fu)務端先要創建(jian)TCP連接。創建(jian)TCP連接就要用到socket模塊(kuai)。創建(jian)TCP連接由客戶端發起(qi),為接受客戶端的TCP連接請求(qiu),服(fu)務器端需要經歷以下幾步︰

  創建(jian)socket

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

  調用listen監听端口

  調用accept接受客戶端的na)肭qiu)

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

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

  是不(bu)是在(zai)學習的海(hai)洋里面又忘記了時(shi)間(jian),本文里面有很多重要的知識(shi)和技能,你可以拿(na)出你的小本子把(ba)核心部(bu)分寫下來,不(bu)僅(jin)可以加深記憶最重要的事還可以長(chang)久的保存以便(bian)在(zai)不(bu)時(shi)之需時(shi)可以拿(na)出來看一看chu)/p>

亿博APP官网

    • 亿博APP官网

    河南彩票官网About IT165 - 廣告服(fu)務 - 隱私聲明 - 版權申明 - 免(mian)責條款 - 網站地(di)圖 - 網友投稿 - 聯系方式
    本站內(na)容來自于互(hu)聯網,僅(jin)供用于網絡技術學習,學習中請遵循(xun)相(xiang)關法(fa)律法(fa)規
    亿博APP官网 | 下一页