teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

Amazonのカートについて修正しました

2020/11/21 00:57

投稿

ockeghem
ockeghem

スコア11710

answer CHANGED
@@ -1,5 +1,5 @@
1
1
  セッションとDBどちらもあると思います。
2
2
  一般的なショッピングサイトですと、ユーザー登録前からお買い物は可能で、カートに商品を入れることも可能です。この場合、カートはセッションを使うのが自然です。しかし、カートの内容はセッションと共に消えてしまいますし、永続的にカートの情報を残すこともできません。
3
- AmazonはおそらくDBにカート情報を保存しているでしょう。Amazonでも未ログインで商品カタログは閲覧できますが、カートに入れようとすると、ログインが求められます。すなわち、カートはユーザーに紐ついていることになります。
3
+ AmazonはおそらくDBにカート情報を保存しているでしょう。Amazonでも未ログインで商品カタログは閲覧でき、カートに入れるもできますが、ログインするとユーザーに紐付けられ永続的に保存されます。すなわち、カートは当初はセッション(あるいは仮ユーザーひも付き、ログインするとユーザーに紐ついていることになります。
4
4
 
5
5
  このあたりは仕様の問題でして、カートに気軽に入れてもらって決済時にユーザー登録する、あるいはユーザー登録なしでも購入できるようにするならカートはセッションに保存する。Amazon方式ならカートはユーザーに紐ついていてDBに保存することになります。