行ってきました。
中身の濃い勉強会で非常に勉強になった。
jxckさんの発表は圧巻でした。
Response Status codes 3xx @haormauyraa
資料: https://slides.araya.dev/http-tokyo-1/#slide=1 demo: https://playground.araya.dev/http-redirections/
- 3xx系のステータスコードの話
- 300〜308まで
- RFC7231, 7232, 7538
- 301, 302はHTTP/1.0
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- 302 Foundは301 Moved Permanentlyと異なりリダイレクト先となるURIは一時的という扱い。なので301はキャッシュ可能だが302はキャッシュすべきでない
- 303 See Other
- 304 Not Modified
- 305は非推奨、306はunused
「425 Too Early」@flano_yuki
資料: https://www.slideshare.net/yuki-f/status-425-httptokyo
- MDN https://developer.mozilla.org/ja/docs/Web/HTTP/Status/425
- RFC 8470 Using Early Data in HTTP
- Early Dataの説明をするためTLS1.3の説明
- TLSハンドシェイクにはClientHello→ServerHelloを経てからHttpRequestを送るフルハンドシェイクと、1回目のClientHelloと一緒にHttpRequestを送る0-RTTハンドシェイクがあり、後者のClientHelloと一緒に送るHttpRequestがEarly Data
- Early Dataの危険性
- HTTPでEarly Dataを安全に扱えない問題
- どうするか
- Proxyは
Early-Data: 1
というヘッダーをつけてoriginに送る - originはリクエストが冪等でない場合は HTTPステータス425 Too Earlyをを返す
- Proxyは
- Firefoxでの実験
Cookie @Jxck
資料はなし。ホワイトボードを使って説明。
- RFC6265の話
- Cookie はなぜ生まれたか
- Cookieとして送るのはIDであることがほとんどなので、ほとんどCredential
- Cookieの欠点
- 今どうやって対策しているか
- サーバーから
Set-Cookie
するときに、idの後ろにSameSite:
というプロパティを付けることができるようになった - 3rd party cookie
- SafariのITP
- ITPで困るのはADだけじゃなくAuthenticationサービス(SSO)
- ITPはトラッキングをしてそうなサイトだけブロックする、と主張している
- Cookieの原理は変えられないが、トラッキング目的のCookieは防ぎたい。Chromeはどうするか
- Cookie
- Secure属性: httpsじゃないとCookieを送らない
- HttpOnly: JSから触れない
- Domainはむしろ使うべきでない。Domain: example.comとするとa.example.comのCookieをb.example.comからアクセスできる可能性が生じる
- Cookie上書き問題への対策
- クライアント側でtokenを生成する
Sec-Http-State: token=XXX
- SameSite=Strict