1.socketweb
網絡上任意兩個程序之間要進行通訊,須要依靠socket(端口)。socket封裝了TCP/IP協議,讓網絡通訊基於TCP/IP協議的形式實現。django
socket能夠翻譯爲插座,那麼一個服務器就擁有不少個「插座」,不一樣的「插座」能夠實現不一樣的服務(應用程序)。在一臺計算機上面,每一個獨立的應用程序編程
(好比qq,微信,瀏覽器等)都佔用着一個端口,無論是發出請求仍是接收數據,均可以查看到IP和端口號。瀏覽器
2 socket編程的侷限服務器
基於socket的網絡編程,可讓咱們實如今多個不一樣客戶端服務端之間的通訊,傳輸數據(請求request和響應response)微信
可是網絡上傳輸的數據千奇百怪,場景也很是多,所以不少時候須要對請求和響應的數據進行解析(好比經過對request進行解析,能夠在請求頭找到傳輸的協議,網絡
url等信息),這一部分很是麻煩而且具備高度重複性。這時候,才須要各類各樣的web框架來輔助實現。框架
3 web框架(django)socket
因爲近來在學django,就只說這個了。url
django內部並無socket,而是須要從socket那獲取請求數據進行解析,而後再產出響應的數據字符串給到socket,socket再發回給客戶端。
django中,經過wsgi實現框架與Web服務器之間的鏈接。
經過下圖,更加形象地理解django框架的實現過程。
後續待補充......