摘要

這篇文檔展示了Python如何融入到web中。它介紹了幾種Python結(jié)合web服務(wù)器的方法,以及開(kāi)發(fā)網(wǎng)站的一些常規(guī)做法。

“Web 2.0”是指由用戶(hù)主導(dǎo)網(wǎng)站內(nèi)容的創(chuàng)作。自從這個(gè)概念興起以來(lái),網(wǎng)絡(luò)編程就成為了一個(gè)熱門(mén)話(huà)題。一直以來(lái),用Python創(chuàng)建網(wǎng)站是相當(dāng)繁瑣的,所以也很少有人這么做。因此人們創(chuàng)建了許多框架和輔助工具來(lái)幫助開(kāi)發(fā)者創(chuàng)建更快更可靠的網(wǎng)站。這篇HOWTO介紹了幾種Python結(jié)合web服務(wù)器創(chuàng)建動(dòng)態(tài)內(nèi)容的方法。當(dāng)然,因?yàn)檫@個(gè)話(huà)題涉及的內(nèi)容太廣,很難在單獨(dú)的一篇文檔里進(jìn)行詳細(xì)的描述。所以這里就只對(duì)一些當(dāng)前流行的庫(kù)作簡(jiǎn)要的概述。

參見(jiàn):這篇HOWTO試圖對(duì)Python的Web開(kāi)發(fā)作一個(gè)概覽,但不能總是按預(yù)期及時(shí)地更新。Python的Web開(kāi)發(fā)正在迅速發(fā)展,所以wiki上的Web Programming可能與近期的發(fā)展更為接近。

底層視角

當(dāng)一個(gè)用戶(hù)訪問(wèn)網(wǎng)站時(shí),他們的瀏覽器會(huì)與網(wǎng)站的服務(wù)器進(jìn)行連接(這稱(chēng)為請(qǐng)求)。服務(wù)器在文件系統(tǒng)中尋找文件,并將其發(fā)送回用戶(hù)的瀏覽器(這稱(chēng)為響應(yīng))。這就是底層HTTP協(xié)議的大致工作原理。動(dòng)態(tài)網(wǎng)站不是基于文件系統(tǒng)中的文件,而是以程序?yàn)榛A(chǔ)。當(dāng)請(qǐng)求到來(lái),運(yùn)行在服務(wù)器上的程序就會(huì)生成相應(yīng)內(nèi)容并發(fā)送回用戶(hù)。它們可以處理用戶(hù)的各種數(shù)據(jù),例如列出公告板上的帖子,顯示你的郵件,配置軟件,或者只是顯示當(dāng)前時(shí)間。這些程序能用服務(wù)器支持的任意語(yǔ)言完成。自從大部分的服務(wù)器開(kāi)始支持Python,用Python創(chuàng)建動(dòng)態(tài)網(wǎng)站就變得十分簡(jiǎn)單了。

大多數(shù)的HTTP服務(wù)器是用C或者C++寫(xiě)的,它們不能直接執(zhí)行Python代碼,所以服務(wù)器和程序之間就需要有一座橋。網(wǎng)橋,或者更確切地稱(chēng)為接口,決定了程序如何與服務(wù)器進(jìn)行交互。

網(wǎng)友評(píng)論