來自森大科技官方博客
/tupian/20230521/p%3e
使用Session和Cookie實現(xiàn)購物車的比較
創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,專業(yè)領(lǐng)域包括成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、電商網(wǎng)站制作開發(fā)、小程序定制開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網(wǎng)站設(shè)計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗和互聯(lián)網(wǎng)整合營銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!購物車相當于現(xiàn)實中超市的購物車,不同的是一個是實體車,一個是虛擬車而已。用戶可以在購物網(wǎng)站的不同頁面之間跳轉(zhuǎn),以選購自己喜愛的商品,點擊購買時,該商品就自動保存到你的購物車中,重復選購后,最后將選中的所有商品放在購物車中統(tǒng)一到付款臺結(jié)賬,這也是盡量讓客戶體驗到現(xiàn)實生活中購物的感覺。服務(wù)器通過追蹤每個用戶的行動,以保證在結(jié)賬時每件商品都物有其主。
購物車的功能包括以下幾項:
把商品添加到購物車,即訂購
刪除購物車中已定購的商品
修改購物車中某一本圖書的訂購數(shù)量
清空購物車
顯示購物車中商品清單及數(shù)量、價格
實現(xiàn)購物車的關(guān)鍵在于服務(wù)器識別每一個用戶并維持與他們的聯(lián)系。但是HTTP協(xié)議是一種“無狀態(tài)(Stateless)”的協(xié)議,因而服務(wù)器不能記住是誰在購買商品,當把商品加入購物車時,服務(wù)器也不知道購物車里原先有些什么,使得用戶在不同頁面間跳轉(zhuǎn)時購物車無法“隨身攜帶”,這都給購物車的實現(xiàn)造成了一定的困難。
目前購物車的實現(xiàn)主要是通過cookie、session或結(jié)合數(shù)據(jù)庫的方式。下面分析一下它們的機制及作用。
cookie
cookie是由服務(wù)器產(chǎn)生,存儲在客戶端的一段信息。它定義了一種Web服務(wù)器在客戶端存儲和返回信息的機制,cookie文件它包含域、路徑、生存期、和由服務(wù)器設(shè)置的變量值等內(nèi)容。當用戶以后訪問同一個Web服務(wù)器時,瀏覽器會把cookie原樣發(fā)送給服務(wù)器。通過讓服務(wù)器讀取原先保存到客戶端的信息,網(wǎng)站能夠為瀏覽者提供一系列的方便,例如在線交易過程中標識用戶身份、安全要求不高的場合避免用戶重復輸入名字和密碼、門戶網(wǎng)站的主頁定制、有針對性地投放廣告等等。利用cookie的特性,大大擴展了WEB應用程序的功能,不僅可以建立服務(wù)器與客戶機的聯(lián)系,因為cookie可以由服務(wù)器定制,因此還可以將購物信息生成cookie值存放在客戶端,從而實現(xiàn)購物車的功能。用基于cookie的方式實現(xiàn)服務(wù)器與瀏覽器之間的會話或購物車,有以下特點:
cookie存儲在客戶端,且占用很少的資源,瀏覽器允許存放300個cookie,每個cookie的大小為4KB,足以滿足購物車的要求,同時也減輕了服務(wù)器的負荷;
cookie為瀏覽器所內(nèi)置,使用方便。即使用戶不小心關(guān)閉了瀏覽器窗口,只要在cookie定義的有效期內(nèi),購物車中的信息也不會丟失;
cookie不是可執(zhí)行文件,所以不會以任何方式執(zhí)行,因此也不會帶來病毒或***用戶的系統(tǒng);
基于cookie的購物車要求用戶瀏覽器必須支持并設(shè)置為啟用cookie,否則購物車則失效;
存在著關(guān)于cookie侵犯訪問者隱私權(quán)的爭論,因此有些用戶會禁止本機的cookie功能。
session
session是實現(xiàn)購物車的另一種方法。session提供了可以保存和跟蹤用戶的狀態(tài)信息的功能,使當前用戶在session中定義的變量和對象能在頁面之間共享,但是不能為應用中其他用戶所訪問,它與cookie最重大的區(qū)別是,session將用戶在會話期間的私有信息存儲在服務(wù)器端,提高了安全性。在服務(wù)器生成session后,客戶端會生成一個sessionid識別號保存在客戶端,以保持和服務(wù)器的同步。這個sessionid是只讀的,如果客戶端禁止cookie功能,session會通過在URL中附加參數(shù),或隱含在表單中提交等其他方式在頁面間傳送。因此利用session實施對用戶的管理則更為安全、有效。
同樣,利用session也能實現(xiàn)購物車,這種方式的特點是:
session用新的機制保持與客戶端的同步,不依賴于客戶端設(shè)置;
與cookie相比,session是存儲在服務(wù)器端的信息,因此顯得更為安全,因此可將身份標示,購物等信息存儲在session中;
session會占用服務(wù)器資源,加大服務(wù)器端的負載,尤其當并發(fā)用戶很多時,會生成大量的session,影響服務(wù)器的性能;
因為session存儲的信息更敏感,而且是以文件形式保存在服務(wù)器中,因此仍然存在著安全隱患。
結(jié)合數(shù)據(jù)庫的方式
這也是目前較普遍的模式,在這種方式中,數(shù)據(jù)庫承擔著存儲購物信息的作用,session或cookie則用來跟蹤用戶。這種方式具有以下特點:
數(shù)據(jù)庫與cookie分別負責記錄數(shù)據(jù)和維持會話,能發(fā)揮各自的優(yōu)勢,使安全性和服務(wù)器性能都得到了提高;
每一個購物的行為,都要直接建立與數(shù)據(jù)庫的連接,直至對表的操作完成后,連接才釋放。當并發(fā)用戶很多時,會影響數(shù)據(jù)庫的性能,因此,這對數(shù)據(jù)庫的性能提出了更高的要求;
使cookie維持會話有賴客戶端的支持。
各種方式的選擇:
雖然cookie可用來實現(xiàn)購物車,但必須獲得瀏覽器的支持,再加上它是存儲在客戶端的信息,極易被獲取,所以這也限制了它存儲更多,更重要的信息。所以一般cookie只用來維持與服務(wù)器的會話,例如國內(nèi)大的當當網(wǎng)絡(luò)書店就是用cookie保持與客戶的聯(lián)系,但是這種方式大的缺點是如果客戶端不支持cookie就會使購物車失效。
Session 能很好地與交易雙方保持會話,可以忽視客戶端的設(shè)置。在購物車技術(shù)中得到了廣泛的應用。但session的文件屬性使其仍然留有安全隱患。
結(jié)合數(shù)據(jù)庫的方式雖然在一定程度上解決了上述的問題,但從上面的例子可以看出:在這種購物流程中涉及到對數(shù)據(jù)庫表的頻繁操作,尤其是用戶每選購一次商品,都要與數(shù)據(jù)庫進行連接,當用戶很多的時候就加大了服務(wù)器與數(shù)據(jù)庫的負荷
來自森大科技官方博客
/tupian/20230521/p%3e
分享標題:Session和Cookie實現(xiàn)購物車-創(chuàng)新互聯(lián)
文章出自:http://www.rwnh.cn/article42/djihhc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)站策劃、標簽優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、動態(tài)網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容