2016-05-17 11 views
0

Ruby on Rails、JavaScript、React、HTML、CSSを使用して完全なスタックアプリケーションを構築できます。しかし、私は、クッキーが実際にどのように実際に働くのか、正確には何かを完全に理解していないと感じています。私は彼らが何であるかを書いて、誰かが書かれたものを確かめるか訂正するように頼む。クッキーの仕組みをより詳細に理解する必要があります

  • HTTPリクエストには、HTTPメソッド、パス、HTTPプロトコルのバージョン、ヘッダー、および本文が含まれています。

  • HTTP応答には、HTTPプロトコルのバージョン、ステータスコード、ステータスメッセージ、ヘッダー、および本文が含まれます。

  • どちらも単なるテキストです(つまり、単純にエンコードされた文字のシーケンスです)。ただし、このテキストが解析されると便利な構造が含まれます。 通常、HTTPリクエストが解析される単一の構造体(配列、ハッシュ)はありますか? HTTPレスポンスはどうですか?

  • Cookieは、HTTPリクエスト内の特定のヘッダー、具体的には「Cookie」ヘッダーに関連付けられた一部のコンテンツを表します。

  • HTTP応答を構築するとき、サーバーは「Set-Cookie」ヘッダーを設定します。このヘッダーには、Cookieの名前、パス、およびCookieの実際の内容に関する情報が必要です。パスは、このクッキーをクライアントからサーバーに送信するURLの範囲の説明です。

  • ブラウザはクッキーのリスト(つまり、何らかのテキストの各テキストのリスト)を保持していますか、正しいサイトに適切なものを送信します(google.comへのGoogleクッキー) ?

  • たとえば、サイトAを訪問してサイトBを訪問し、両方を認証したとします。セッション管理は、クッキー内の特定の要素を追加するだけです(Cookieに格納されているクッキーの総数に対応する別のハッシュ内のSessionという名前のハッシュ)でしょうか?サイトはどのようにCookieを変更しますか?彼らは新しい情報を追加しますか、ブラウザに情報を追加するように頼んでいますか?

+0

[RFC 6265](https://tools.ietf.org/html/rfc6265)をお読みください。 – DaSourcerer

答えて

1

クッキーは、ブラウザが保存する文字列(特定の形式)です。 'Set-Cookie'ヘッダーによってhttp応答を送信するときにサーバーによって設定されます。ブラウザが送信する各HTTP要求は、Cookieのパスと一致し、そのCookieは 'Cookie'ヘッダーに含まれます。

サーバーは、Cookieにデータを追加するようブラウザに指示できません。現在のCookie値を取得し、新しい情報を追加してからリセットすることができます。

関連する問題