WSGI
什么是WSGI
- python web server gateway inteerface
- 解決python web server 亂象mod_python,CGI,FastCGI等
- 描述了web server(uwsgi)如何與web框架(django)交互,web框架如何處理請求
python web框架
MVC
ORM
- 用于實現(xiàn)業(yè)務(wù)對象與數(shù)據(jù)表中的字段映射
- 優(yōu)勢:代碼更加面對對象抒痒,代碼量更少脓鹃,靈活性高兼雄,提升開發(fā)效率
web安全
SQL注入
web安全一大原則:永遠(yuǎn)不要相信用戶的任何輸入
- 對輸入?yún)?shù)做好檢查(類型和范圍):過濾和轉(zhuǎn)移特殊字符
- 不要直接拼接sql,使用ORM可以大大降低sql諸如風(fēng)險
- 數(shù)據(jù)庫層:做好權(quán)限管理配置荤傲,不要銘文存儲敏感信息
XSS(cross site scripting)匀泊,跨站腳本攻擊
- 惡意用戶將代碼植入到提供給其他用戶使用的頁面中,未經(jīng)轉(zhuǎn)義的惡意代碼輸出到其他用戶的瀏覽器被執(zhí)行
- 用戶瀏覽頁面的時候嵌入頁面中的腳本(js)會被執(zhí)行呢燥,攻擊用戶
- 主要分為兩類:反射性(非持久型),存儲型(持久型)
CSRF
前后端分離
優(yōu)點
- 前后端解耦寓娩,接口復(fù)用(前端和客戶端公用接口)叛氨,減少開發(fā)量。
- 各司其職棘伴,前后端同步開發(fā)寞埠,提升工作效率。定義好接口規(guī)范排嫌。
- 更有利于調(diào)試(mock)畸裳,測試和運維部署
restful
Representational State Transfer
表現(xiàn)層狀態(tài)轉(zhuǎn)移
資源缰犁,表現(xiàn)層淳地,狀態(tài)轉(zhuǎn)化
是一種以資源為中心的web軟件架構(gòu)風(fēng)格怖糊,可以用ajax和restful web服務(wù)構(gòu)建應(yīng)用。
resource:使用URI指定的一個實體
representation:資源的表現(xiàn)方式颇象,比如圖片伍伤、HTML文本等
State Transfer: GET,POST遣钳,PUT扰魂,DELETE,HTTP動詞來操作資源,實現(xiàn)資源狀態(tài)的改變蕴茴。
所有事物抽象為資源劝评,資源對應(yīng)唯一的標(biāo)識(identifier)
資源通過接口進(jìn)行操作實現(xiàn)狀態(tài)轉(zhuǎn)移,操作本身是無狀態(tài)的
對資源的操作不會改變資源的標(biāo)識