0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

cookieの用途とは

Posted at

cookieにはどういう用途があるのか?

httpをステートフルにする代表格はCookieを使ったセッション管理です。RESTの視点から見ると、Cookieを使ったセッション管理は間違ったhttpの拡張です。ただ、REST的に間違っているからといって、Cookieを使ったフォーム認証をやめるわけにはいかないことも事実です。Cookieは、ステートレスサーバの利点をあえて捨てることを理解したうえで、必要最低限に利用しましょう。

まだまだステートレス・ステートフルの利点をまだ理解していない。理解が必要だ。

Cookie の用途

通常、サーバーは HTTP Cookie のコンテンツを 使用して、さまざまなリクエストが同じブラウザー/ユーザーから送られたものかどうかを判断し、その後、必要に応じて個人設定または一般的なレスポンスを発行します。以下では、非常にシンプルなログインシステムについて説明します。

1.ユーザーは、例えばフォーム送信により、ログイン資格情報をサーバーに送信します。

2.資格情報が正しい場合、サーバーはユーザーがログインしたことを示すように UI を更新し、ブラウザー上のログイン状態を記録するセッション IDを含むクッキーを返します。

3.後日、ユーザーは同じサイトの別のページに移動します。ブラウザーは、ユーザーがまだサインインしていると認識していることを示すために、セッション ID を含むクッキーを、対応するリクエストとともに送信します。

4.サーバーはセッション ID をチェックし、有効であれば、ユーザーに新しいページの個人設定版を送信します。無効であれば、セッション ID は削除され、ユーザーにはページの一般版が表示されます(あるいは、「アクセスが拒否されました」というメッセージが表示され、再度サインインするよう求められる場合もあります)。

  • セッション管理: ユーザーのログイン状態、ショッピングカート、ゲームのスコア、またはその他のユーザーセッションに関するサーバーが覚えておくべきその他のもの。
  • パーソナライズ: 表示言語や UI テーマのようなユーザー設定。
  • トラッキング: ユーザーの行動の記録および分析。

ステートレスの利点とは?

cookieの利点とは

多分ステートフルな通信ができるからステートレスの欠点が補えることができそうだ。

なぜ必要最低限なのか?

多分ステートフルな通信が多いと対応するサーバをスケールアウトしにくくなるから最低限にしなけれなばならないと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?