最成熟、最廣泛、功能強大、相對封閉(這是因為django的各模組之間結合緊密)。
強大的、支援協程、高效併發、可擴充套件的web伺服器。其強項在於可以利用它的非同步協程機制開發高併發的伺服器系統。
核心功能簡單,以擴充套件元件形式增加其他功能,被稱為「微框架」。
不著眼於網路http應用的開發,而是適用於從傳輸層到自定義應用協議的所有型別的網路程式的開發,並能在不同的作業系統上提供很高的執行效率。
web伺服器是連線使用者伺服器與python伺服器端程式的中間節點,在**建立的過程中起著重要的作用。主流的web伺服器包括nginx、apache、lighthttpd、iis等。下面學習python程式與web伺服器連線的wsgi介面、nginx的安裝和配置方法,以及搭建ssl**的技術。
def
(environ, start_response)
: start_response(
'200 ok',[
('content_type'
,'text/html')]
)return
(b'hello, world!',)
'''解釋:
所有來自web伺服器的http請求都會由wsgi服務轉換為對該函式的呼叫。
只是通過start_response返回了狀態碼,
並通過return返回了固定的http訊息體。
'''
與該伺服器端程式相對應的是下面的wsgi server程式,儲存為wsgi_server.py:
# 引入python的wsgi包
from wsgiref.******_server import make_server
# 引入伺服器端程式的**
# 例項化乙個監聽8080埠的伺服器
server = make_server('',
8080
# 開始監聽http請求
server.serve_forever(
)
執行wsgi_server.py程式,即相當於啟動了乙個web伺服器,該伺服器對所有的請求都返回hello world頁面(可以在瀏覽器中輸入http://localhost:8080/進行測試):
說明:wsgi的設計目標是連線標準的web伺服器(nginx、apache等)與伺服器端程式。不過,wsgi server本身也可以作為web伺服器執行,但由於效能方面的原因該伺服器一般只能做測試使用 ,不能用於正式執行。普通http站點的協議與資料以明文方式在網路上傳輸,而https是以安全為目標的http通道,即在http下加入ssl層(https:hyper text transfer protocol over secure socket layer),通過ssl達到資料加密及身份認證的功能。目前幾乎所有的銀行、**、公共運輸的**均以https方式搭建。
openssl是乙個強大的免費socket層密碼庫,蘊含了主要的密碼演算法、常用的密碼和證書封裝管理功能及ssl協議。目前大多數**通過openssl工具包搭建https站點,其步驟如下:
在伺服器中安裝openssl工具包
生成ssl秘鑰和證書
將證書配置到web伺服器
在客戶端安裝ca證書
python網路框架縱覽
python的網路框架好多種,所謂的網路框架,就是指一組python包,這些包能夠使開發者專注與 應用業務邏輯的的開,而無需處理網路應用底層的協議,執行緒,程序等方面的問題。幾乎所有的全棧網路框架都是強制或者引導開發者使用mvc架構開發web應用 全棧網路框架 是指除了封裝網路和執行緒操作,還提供了...
ios網路框架
afnetworking是乙個網路庫,適用於ios以及mac os x.它構建於在nsurlconnection,nsoperation,以及其他熟悉的foundation技術之上.它擁有良好的架構,豐富的api,以及模組化構建方式,使得使用起來非常輕鬆.core afurlconnectionop...
網路框架專題
socket osi和tcp ip模型 ip mac和埠號 面向連線和無連線有什麼區別 http協議介紹 httpclient簡介 httpclient的基本使用 closeablehttpclient的個性化配置 請求的個性化配置 如何解析響應內容 http 狀態管理 http認證 httpcli...