摘要
這篇文檔展示了Python如何融入到web中。它介紹了幾種Python結(jié)合web服務(wù)器的方法,以及開發(fā)網(wǎng)站的一些常規(guī)做法。
“Web 2.0”是指由用戶主導(dǎo)網(wǎng)站內(nèi)容的創(chuàng)作。自從這個概念興起以來,網(wǎng)絡(luò)編程就成為了一個熱門話題。一直以來,用Python創(chuàng)建網(wǎng)站是相當繁瑣的,所以也很少有人這么做。因此人們創(chuàng)建了許多框架和輔助工具來幫助開發(fā)者創(chuàng)建更快更可靠的網(wǎng)站。這篇HOWTO介紹了幾種Python結(jié)合web服務(wù)器創(chuàng)建動態(tài)內(nèi)容的方法。當然,因為這個話題涉及的內(nèi)容太廣,很難在單獨的一篇文檔里進行詳細的描述。所以這里就只對一些當前流行的庫作簡要的概述。
參見:這篇HOWTO試圖對Python的Web開發(fā)作一個概覽,但不能總是按預(yù)期及時地更新。Python的Web開發(fā)正在迅速發(fā)展,所以wiki上的Web Programming可能與近期的發(fā)展更為接近。
底層視角
當一個用戶訪問網(wǎng)站時,他們的瀏覽器會與網(wǎng)站的服務(wù)器進行連接(這稱為請求)。服務(wù)器在文件系統(tǒng)中尋找文件,并將其發(fā)送回用戶的瀏覽器(這稱為響應(yīng))。這就是底層HTTP協(xié)議的大致工作原理。動態(tài)網(wǎng)站不是基于文件系統(tǒng)中的文件,而是以程序為基礎(chǔ)。當請求到來,運行在服務(wù)器上的程序就會生成相應(yīng)內(nèi)容并發(fā)送回用戶。它們可以處理用戶的各種數(shù)據(jù),例如列出公告板上的帖子,顯示你的郵件,配置軟件,或者只是顯示當前時間。這些程序能用服務(wù)器支持的任意語言完成。自從大部分的服務(wù)器開始支持Python,用Python創(chuàng)建動態(tài)網(wǎng)站就變得十分簡單了。
大多數(shù)的HTTP服務(wù)器是用C或者C++寫的,它們不能直接執(zhí)行Python代碼,所以服務(wù)器和程序之間就需要有一座橋。網(wǎng)橋,或者更確切地稱為接口,決定了程序如何與服務(wù)器進行交互。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26