Open4

cookie

にっしーにっしー

ブラウザとWebサーバー間で情報を交換するための小さなテキストファイル。

サイトがユーザーのデバイスに保存することで、
ユーザーの識別や設定の記憶、ログイン情報の保持など、さまざまな目的に利用できる。

クッキーはパースする必要がある?

「パース(parse)」とは、データや文字列を特定の形式に変換して、プログラムが理解できる構造にすることを指します。具体的には、テキストデータを適切なデータ型やデータ構造に変換する操作です。

なんでパースするの?

クッキーは通常、HTTPヘッダーの一部として送信される文字列です。複数のクッキーがセミコロン(;)で区切られているため、これらのクッキーを個別のキーと値のペアに分解する必要があります。これを「パースする」と言います。

いい感じにオブジェクトにしてくれる機能って感じかな!

にっしーにっしー

クライアントとサーバーサイドのクッキーの違い

クライアントサイドのクッキー

定義: クライアントサイドのクッキーは、ユーザーのブラウザに保存されるクッキーです。ユーザーがウェブサイトにアクセスする際、サーバーから送信されたクッキーがブラウザに保存されます。

役割:

セッション管理: ユーザーのログイン状態を保持するため。
ユーザー設定: ウェブサイトのテーマや言語設定など、ユーザーの好みを保存するため。
トラッキング: ユーザーの行動を追跡し、マーケティングや分析に利用するため。
取得方法: JavaScriptを使用してクッキーの値を取得・設定することができます。例えば、document.cookieや、js-cookieライブラリを使用します。

サーバーサイドのクッキー

定義: サーバーサイドのクッキーは、クライアントからのリクエストに対してサーバーがレスポンスとして送信するクッキーです。サーバーは、クライアントにクッキーを設定するためにHTTPヘッダーを使用します。

役割:

データの管理: サーバーがクライアントの状態を管理するために使用されます(例: セッションID)。
セキュリティ: CSRF対策や、ユーザーの認証情報を管理するため。
設定方法: サーバー側のコード(Node.js、Expressなど)で、レスポンスヘッダーにSet-Cookieを追加してクッキーを設定します。例えば、以下のように設定します。

res.setHeader('Set-Cookie', 'username=JohnDoe; HttpOnly; Path=/; Max-Age=3600');

にっしーにっしー

たとえば、ダークモードの設定を保存する場合(clientクッキーかな?)