優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利

如何改造動(dòng)態(tài)系統(tǒng) ?

如何把動(dòng)態(tài)頁面改造成適合緩存的靜態(tài)頁面呢?就是通過前面提及的去除影響因素的方法,即通過動(dòng)靜分離把這些因素獨(dú)立出來。下面以詳情系統(tǒng)(Detail)為例介紹如何做動(dòng)靜分離。


 
UrL唯一一化。詳情系統(tǒng)天然地就可以做到URL統(tǒng)一化,如每個(gè)商品都用ID標(biāo)識(shí),那么h:/:itm.toa com/itm.htm?d-=xxx就可以作為唯一-的 URL標(biāo)識(shí)。
 
分離瀏覽者相關(guān)的因素。瀏覽者相關(guān)的因素包括是否登錄以及登錄身份等信息,我們可以把它們單獨(dú)拆分出來,通過動(dòng)態(tài)請(qǐng)求來獲取。分離時(shí)間因素。通過動(dòng)態(tài)請(qǐng)求獲取服務(wù)端輸出的時(shí)間。
 
異步化地域因素。以異步方式獲取詳情系統(tǒng)上與地域相關(guān)的信息。
 
去掉Cookie。可以通過代碼軟件刪除服務(wù)端輸出頁面中包含的Cookie,如可以通過unset req.http.cookie命令去掉Varnish中的Cookie.
 
分離出動(dòng)態(tài)內(nèi)容以后,如何組織這些內(nèi)容也是非常關(guān)鍵的,因?yàn)轫撁嬷衅渌K會(huì)用到這些動(dòng)態(tài)內(nèi)容(比如判斷該用戶是否登錄等)。通過把這些信息JSON化,前端可以很方便地獲取它們。
 
知道了分離哪些內(nèi)容,又知道怎么組織它們,現(xiàn)在的問題就是如何獲取它們并把它們和靜態(tài)文件組裝在一起。我們可以通過兩種方式獲取動(dòng)態(tài)內(nèi)容: ESI (Edge Side Includes)和CSI ( Client Side Includes )。
 
ESI。即在Web代理服務(wù)器上做動(dòng)態(tài)內(nèi)容請(qǐng)求,并將請(qǐng)求插人靜態(tài)頁面中,當(dāng)用戶拿到頁面時(shí)已經(jīng)是一個(gè)完整的頁面。如現(xiàn)在的詳情系統(tǒng)就是采用這種方式。這種方式對(duì)服務(wù)端性能有些影響,但是用戶體驗(yàn)較好。
 
CSI。即發(fā)起一個(gè)異步JS請(qǐng)求,單獨(dú)向網(wǎng)站制作服務(wù)端獲取動(dòng)態(tài)內(nèi)容。這種方式下的服務(wù)端性能更佳,但是用戶端頁面略有延時(shí),體驗(yàn)稍差。
本文地址:http://m.cdrpkj.cn//article/4478.html
相關(guān)文章:
最新文章: