前言: 今天寫一篇博客簡(jiǎn)單介紹下web框架,下篇博客介紹下django框架~~
一、WSGI
眾所周知,對(duì)于所有的Web應(yīng)用,本質(zhì)上其實(shí)就是一個(gè)socket服務(wù)端,用戶的瀏覽器其實(shí)就是一個(gè)socket客戶端。
View Code
對(duì)于真實(shí)開發(fā)中的python web程序來說,一般會(huì)分為兩部分:服務(wù)器程序和應(yīng)用程序。服務(wù)器程序負(fù)責(zé)對(duì)socket服務(wù)器進(jìn)行封裝,并在請(qǐng)求到來時(shí),對(duì)請(qǐng)求的各種數(shù)據(jù)進(jìn)行整理。應(yīng)用程序則負(fù)責(zé)具體的邏輯處理。為了方便應(yīng)用程序的開發(fā),就出現(xiàn)了眾多的Web框架,例如:Django、Flask、web.py 等。不同的框架有不同的開發(fā)方式,但是無論如何,開發(fā)出的應(yīng)用程序都要和服務(wù)器程序配合,才能為用戶提供服務(wù)。這樣,服務(wù)器程序就需要為不同的框架提供不同的支持。這樣混亂的局面無論對(duì)于服務(wù)器還是框架,都是不好的。對(duì)服務(wù)器來說,需要支持各種不同框架,對(duì)框架來說,只有支持它的服務(wù)器才能被開發(fā)出的應(yīng)用使用。這時(shí)候,標(biāo)準(zhǔn)化就變得尤為重要。我們可以設(shè)立一個(gè)標(biāo)準(zhǔn),只要服務(wù)器程序支持這個(gè)標(biāo)準(zhǔn),框架也支持這個(gè)標(biāo)準(zhǔn),那么他們就可以配合使用。一旦標(biāo)準(zhǔn)確定,雙方各自實(shí)現(xiàn)。這樣,服務(wù)器可以支持更多支持標(biāo)準(zhǔn)的框架,框架也可以使用更多支持標(biāo)準(zhǔn)的服務(wù)器。
WSGI(Web Server Gateway Interface)WEB服務(wù)網(wǎng)關(guān)接口是一種規(guī)范,它定義了使用python編寫的web app與web server之間接口格式,實(shí)現(xiàn)web app與web server間的解耦。
python標(biāo)準(zhǔn)庫提供的獨(dú)立WSGI服務(wù)器稱為wsgiref。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26