Slide 1

Slide 1 text

知っててうれしい HTTP Cookie について 2024/12/12 貞元勝幸 1

Slide 2

Slide 2 text

目次 HTTP Cookie とは Cookie の作成 Cookie の更新 Cookie の削除 Cookie の容量 Cookie のセキュリティ まとめ 2

Slide 3

Slide 3 text

HTTP Cookie とは HTTP Cookie は、Web サーバーからクライアントに送信される情報 を保存する仕組みです。 Web サーバーは、クライアントに対して Cookie を送信し、クライア ントは Cookie を保存して、次回以降の通信で Cookie を送信します。 HTTP Cookie とは 3

Slide 4

Slide 4 text

Cookie の作成 Cookie は、レスポンスヘッダーの Set-Cookie で作成します。 HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: name1=value1 Set-Cookie: name2=value2 Cookie の作成 4

Slide 5

Slide 5 text

Cookie の更新 Cookie を保持している状態でリクエストを送信し、レスポンスヘッダーの Set-Cookie で Cookie を更新します。 リクエスト GET /index.html HTTP/1.1 Host: example.com Cookie: name1=value1; name2=value2 レスポンス HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: name1=value3 Set-Cookie: name2=value4 Cookie の更新 5

Slide 6

Slide 6 text

Cookie の削除 Cookie を削除するには、Cookie の有効期限を過去の日時に設定しま す。 HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: name1=; expires=Thu, 01 Jan 1970 00:00:00 GMT Cookie の削除 6

Slide 7

Slide 7 text

Cookie の容量 Cookie の容量は、1 Cookie あたり 4 KB までとされています。 Cookie は、リクエストに含まれるため、Cookie の容量が大きいと通 信量が増加します。 Cookie の容量 7

Slide 8

Slide 8 text

Cookie のセキュリティ Cookie は、クライアントとサーバーの通信において平文で送信される ため、Cookie にはセキュリティ上のリスクがあります。 Cookie の設定を適切に行い、セキュリティを確保する必要がありま す。 Cookie のセキュリティ 8

Slide 9

Slide 9 text

Cookie 送信先の設定 Cookie は、ドメイン、パスで送信先を設定することで、対象外のドメ イン・パスに Cookie が送信されるのを防ぐことができます。 domain でドメインを指定 path でパスを指定 HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: name=value; domain=example.com; path=/ Cookie のセキュリティ - 送信先の制限 9

Slide 10

Slide 10 text

Cookie Secure 属性, HttpOnly 属性 Cookie には、Secure 属性、HttpOnly 属性を設定することで、意図し ない第三者やスクリプトからアクセスされないようにできます。 Secure 属性: HTTPS 通信の場合のみ Cookie を送信 HttpOnly 属性: JavaScript から Cookie にアクセスできない HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: name=value; Secure; HttpOnly Cookie のセキュリティ - Secure 属性, HttpOnly 属性 10

Slide 11

Slide 11 text

Cookie SameSite 属性 Cookie には、SameSite 属性を設定することで、サードパーティ Cookie の 送信を制御できます。 Strict : 発行元のサイトにのみ Cookie を送信 Lax : 発行元のサイトにのみ Cookie を送信( 別サイトから移動時も含む) None : サードパーティ Cookie の送信を許可 HTTP/1.1 200 OK Content-Type: text/html Set-Cookie: name=value; SameSite=Strict Cookie のセキュリティ - SameSite 属性 11

Slide 12

Slide 12 text

まとめ HTTP Cookie は、Web サーバーからクライアントに送信される情 報を保存する仕組み Cookie は、レスポンスヘッダーの Set-Cookie で作成・更新・削除 Cookie は、リクエストに含まれるため、Cookie の容量が大きいと 通信量が増加 Cookie は、セキュリティ上のリスクがあるため、適切な設定が必 要 まとめ 12

Slide 13

Slide 13 text

ご清聴ありがとうございました。 13