購物車原理

2021-06-17 20:49:42 字數 1601 閱讀 5274

1. 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維持會話有賴客戶端的支援。

各種方式的選擇:

雖然cookie可用來實現購物車,但必須獲得瀏覽器的支援,再加上它是儲存在客戶端的資訊,極易被獲取,所以這也限制了它儲存更多,更重要的資訊。所以一般cookie只用來維持與伺服器的會話,例如國內最大的噹噹網路書店就是用cookie保持與客戶的聯絡,但是這種方式最大的缺點是如果客戶端不支援cookie就會使購物車失效。

session 能很好地與交易雙方保持會話,可以忽視客戶端的設定。在購物車技術中得到了廣泛的應用。但session的檔案屬性使其仍然留有安全隱患。

結合資料庫的方式雖然在一定程度上解決了上述的問題,但從上面的例子可以看出:在這種購物流程中涉及到對資料庫表的頻繁操作,尤其是使用者每選購一次商品,都要與資料庫進行連線,當使用者很多的時候就加大了伺服器與資料庫的負荷。

ecshop購物車原理

1.把商品新增到購物車,即訂購 2.可刪除購物車中已經訂購的商品 3.修改購物車中每件物品的訂購數量及其屬性 顏色 大小等 4.顯示購物車中商品的數量及其 商品清單 5.清空購物車。實現購物車的關鍵在於伺服器識別每乙個使用者 並維持與他們的聯絡,但http協議是一種 無狀態 的協議,因此伺服器不能記...

php購物車原理

購物車原理 在產品展示頁面時 如 shop.php?id 888 點選購買或新增到購物車時,根據相應的產品識別符號 如 id 查詢相應的資料庫,如果查詢表示有此產品,用 session 陣列儲存相應的資訊 如下示例,表名為 goods,欄位有 id,price,開啟會話 session start ...

購物車實現原理

購物車相當於現實中超市的購物車,不同的是乙個是實體車,乙個是虛擬車而已。使用者可以在購物 的不同頁面之間跳轉,以選購自己喜愛的商品,點選購買時,該商品就自動儲存到你的購物車中,重複選購後,最後將選中的所有商品放在購物車中統一到付款臺結賬,這也是盡量讓客戶體驗到現實生活中購物的感覺。伺服器通過追蹤每個...