<meta charset="utf-8">
<article class="_2rhmJa">
后端——>Django框架——>用Python寫的
要想自己改Django红柱,先得了解框架檐蚜,學(xué)會mini-web框架贯城,學(xué)mini-web框架加缘,需要遵守WSGI協(xié)議
要實現(xiàn)mini-web的流程
image
在sublime里Ctrl+h:全局替換
image
保證兩邊都close掉了鸭叙,內(nèi)存都被釋放掉,不然用戶一多就爆掉了
進程之間都是獨立的拣宏,才需要沈贝;多線程是共享的,不需要勋乾;攜程也不需要
一宋下、面向?qū)ο蟮姆?wù)器
image
二、支持動態(tài)解析
返回數(shù)據(jù)時不是直接返回——>需要組拼請求頭和請求體再返回
請求頭里有User-Agent:(主要識別客戶所用的操作系統(tǒng)瀏覽器的版本)
1)User-Agent:爬蟲時一定要有
** 2)User-Agent會告訴網(wǎng)站服務(wù)器辑莫,訪問者是通過什么工具來請求的学歧,如果是用戶瀏覽器,就會應(yīng)答**
image
以上遵循HTTP協(xié)議
image
image
三各吨、服務(wù)器的框架解耦-支持框架的服務(wù)器
image
四枝笨、WGSI協(xié)議
如何可以不修改服務(wù)器和架構(gòu)代碼而確保可以在多個架構(gòu)下運行web服務(wù)器呢?——WSGI
image
WSGI協(xié)議規(guī)定:
1. 服務(wù)器調(diào)用框架時横浑,必須告訴瀏覽器請求的是啥
**2. ** 框架在返回數(shù)據(jù)時規(guī)定怎么給
要想遵循協(xié)議剔桨,首先框架里必須要有一個可以直接調(diào)的函數(shù),傳來的參數(shù)正常有兩個——一個是字典徙融,另一個是函數(shù)(函數(shù)的引用)
瀏覽器請求動態(tài)頁面過程
image
五洒缀、支持WGSI協(xié)議的服務(wù)器-字典傳參
image
</article>