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ú)拆分出來(lái),通過(guò)動(dòng)態(tài)請(qǐng)求來(lái)獲取。分離時(shí)間因素。通過(guò)動(dòng)態(tài)請(qǐng)求獲取服務(wù)端輸出的時(shí)間。
異步化地域因素。以異步方式獲取詳情系統(tǒng)上與地域相關(guān)的信息。
去掉Cookie??梢酝ㄟ^(guò)代碼軟件刪除服務(wù)端輸出頁(yè)面中包含的Cookie,如可以通過(guò)unset req.http.cookie命令去掉Varnish中的Cookie.
分離出動(dòng)態(tài)內(nèi)容以后,如何組織這些內(nèi)容也是非常關(guān)鍵的,因?yàn)轫?yè)面中其他模塊會(huì)用到這些動(dòng)態(tài)內(nèi)容(比如判斷該用戶是否登錄等)。通過(guò)把這些信息JSON化,前端可以很方便地獲取它們。
知道了分離哪些內(nèi)容,又知道怎么組織它們,現(xiàn)在的問(wèn)題就是如何獲取它們并把它們和靜態(tài)文件組裝在一起。我們可以通過(guò)兩種方式獲取動(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)頁(yè)面中,當(dāng)用戶拿到頁(yè)面時(shí)已經(jīng)是一個(gè)完整的頁(yè)面。如現(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ù)端性能更佳,但是用戶端頁(yè)面略有延時(shí),體驗(yàn)稍差。
本文地址:http://www.khwajamoinuddinchishty.com//article/4478.html