日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

实现购物车的原理

發布時間:2023/12/19 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实现购物车的原理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?? ? 購物車的功能包括以下幾項:

n?????????把商品添加到購物車,即訂購

n?????????刪除購物車中已定購的商品

n?????????修改購物車中某一本圖書的訂購數量

n?????????清空購物車

n?????????顯示購物車中商品清單及數量、價格

?????實現購物車的關鍵在于服務器識別每一個用戶并維持與他們的聯系。但是HTTP協議是一種“無狀態(Stateless)”的協議,因而服務器不能記住是誰在購買商品,當把商品加入購物車時,服務器也不知道購物車里原先有些什么,使得用戶在不同頁面間跳轉時購物車無法“隨身攜帶”,這都給購物車的實現造成了一定的困難。

?????目前購物車的實現主要是通過cookie、session或結合數據庫的方式。下面分析一下它們的機制及作用。

1. cookie

?????cookie是由服務器產生,存儲在客戶端的一段信息。它定義了一種Web服務器在客戶端存儲和返回信息的機制,cookie文件它包含域、路徑、生存期、和由服務器設置的變量值等內容。當用戶以后訪問同一個Web服務器時,瀏覽器會把cookie原樣發送給服務器。通過讓服務器讀取原先保存到客戶端的信息,網站能夠為瀏覽者提供一系列的方便,例如在線交易過程中標識用戶身份、安全要求不高的場合避免用戶重復輸入名字和密碼、門戶網站的主頁定制、有針對性地投放廣告等等。利用cookie的特性,大大擴展了WEB應用程序的功能,不僅可以建立服務器與客戶機的聯系,因為cookie可以由服務器定制,因此還可以將購物信息生成cookie值存放在客戶端,從而實現購物車的功能。用基于cookie的方式實現服務器與瀏覽器之間的會話或購物車,有以下特點:

n?????????cookie存儲在客戶端,且占用很少的資源,瀏覽器允許存放300個cookie,每個cookie的大小為4KB,足以滿足購物車的要求,同時也減輕了服務器的負荷;

n?????????cookie為瀏覽器所內置,使用方便。即使用戶不小心關閉了瀏覽器窗口,只要在cookie定義的有效期內,購物車中的信息也不會丟失;

n?????????cookie不是可執行文件,所以不會以任何方式執行,因此也不會帶來病毒或攻擊用戶的系統;

n?????????基于cookie的購物車要求用戶瀏覽器必須支持并設置為啟用cookie,否則購物車則失效;

n?????????存在著關于cookie侵犯訪問者隱私權的爭論,因此有些用戶會禁止本機的cookie功能。

2. session

?????session是實現購物車的另一種方法。session提供了可以保存和跟蹤用戶的狀態信息的功能,使當前用戶在session中定義的變量和對象能在頁面之間共享,但是不能為應用中其他用戶所訪問,它與cookie最重大的區別是,session將用戶在會話期間的私有信息存儲在服務器端,提高了安全性。在服務器生成session后,客戶端會生成一個sessionid識別號保存在客戶端,以保持和服務器的同步。這個sessionid是只讀的,如果客戶端禁止cookie功能,session會通過在URL中附加參數,或隱含在表單中提交等其他方式在頁面間傳送。因此利用session實施對用戶的管理則更為安全、有效。

?????同樣,利用session也能實現購物車,這種方式的特點是:

n?????????session用新的機制保持與客戶端的同步,不依賴于客戶端設置;

n?????????與cookie相比,session是存儲在服務器端的信息,因此顯得更為安全,因此可將身份標示,購物等信息存儲在session中;

n?????????session會占用服務器資源,加大服務器端的負載,尤其當并發用戶很多時,會生成大量的session,影響服務器的性能;

n?????????因為session存儲的信息更敏感,而且是以文件形式保存在服務器中,因此仍然存在著安全隱患。

3.?結合數據庫的方式

?????這也是目前較普遍的模式,在這種方式中,數據庫承擔著存儲購物信息的作用,session或cookie則用來跟蹤用戶。這種方式具有以下特點:

n?????????數據庫與cookie分別負責記錄數據和維持會話,能發揮各自的優勢,使安全性和服務器性能都得到了提高;

n?????????每一個購物的行為,都要直接建立與數據庫的連接,直至對表的操作完成后,連接才釋放。當并發用戶很多時,會影響數據庫的性能,因此,這對數據庫的性能提出了更高的要求;

n?????????使cookie維持會話有賴客戶端的支持。

各種方式的選擇:

來源:http://hi.baidu.com/l1037/blog/item/9d015328195a3c31d52af17e.html

轉載于:https://www.cnblogs.com/studingASPNet/archive/2011/10/27/2226759.html

總結

以上是生活随笔為你收集整理的实现购物车的原理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。