Open4

HTTPのレスポンスヘッダーのサイズとは何を指すんだ?

スースー

HTTPレスポンスヘッダーの主な項目

項目名 説明
Content-Type レスポンスのメディアタイプを示す(例: text/html)
Content-Length レスポンスボディのサイズをバイト単位で示す。これは、クライアントがレスポンスを正しく受信するために必要
Set-Cookie クライアントに保存されるクッキー情報を含む。クッキーが大きくなると、ヘッダーサイズも増加
Cache-Control キャッシュの動作を制御するための指示を含む
X-Frame-Options ページがiframe内で表示されるかどうかを制御
スースー

Q. どうやってレスポンスヘッダーのサイズを計算するのか?

A.curlが使えるなら次のコマンドでいけるはず

curl -s -w '%{size_header}\n' -o /dev/null http://example.com
スースー

Nginxにおけるエラー

2024-10-30 16:00:31 2024/10/30 07:00:31 [error] 29#29: *1 upstream sent too big header while reading response header from upstream, client: 192.168.65.1, server: , request: "GET /api/exchange-id-token-with-code?code=[CODE] HTTP/1.1", upstream: "fastcgi://172.18.0.6:9000", host: "api.frontend.ngrok.dev", referrer: "https://frontend.ngrok.dev/"

サイズのほとんどの部分が、 Content-Lengthset-cookie の合計サイズがメインとなるため、平均を見ながら、このサイズよりも大きくなるように設定すれば良さそう

例えば次のような場合は、552。それに加えて、Cookieのサイズを載せたくらいで、600+Cookieの平均サイズくらいあれば良いという理解をした

Cognitoから送られてきたCookieのサイズについては、600ほど。もしバックエンドとフロントエンドどちらのCookieも付与するなどした場合は、1200くらいのサイズがプラスされるはず。
であれば、1800くらい。