CookieのセットとCookieを指定してリクエスト


Cookieについて考える

javascriptのfetchAPIでCookieのセットの仕方を調べてもいいのが出てこなかったので生のテキストでセットする方法を調べました.

サーバ側のCookieのセットの仕方

SetCookie: "任意の名前" = 値; Max-Age=<non-zero-digit>

リクエスト時のCookieのセットの仕方

Cookie: "任意の名前" = 値

fetchAPIでの実装は以下のようになります

fetch("http://******.com/*****", {
  method: 'GET',
  credentials: 'include',
  headers: new Headers({
    "Cookie": "hogehoge=fugafuga; Max-Age=1000 * 60 * 60 * 60 * 24 * 7",
  })
}).then(res => res.json())
.catch(error => console.error('Error:', error))
.then(response => this.setState({score: response.score}))

リクエスト時にもSetCookieを使っていたのでCookieはセットされてるのにサーバ側で取得できないという不思議な現象が起きました,,
ライブラリばかりに頼らずに,ネットワークの基礎(?)的な部分を理解してライブラリが何をしてくれているのかを理解するのも重要だと思いました!