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-Length
と set-cookie
の合計サイズがメインとなるため、平均を見ながら、このサイズよりも大きくなるように設定すれば良さそう
例えば次のような場合は、552。それに加えて、Cookieのサイズを載せたくらいで、600+Cookieの平均サイズくらいあれば良いという理解をした
Cognitoから送られてきたCookieのサイズについては、600ほど。もしバックエンドとフロントエンドどちらのCookieも付与するなどした場合は、1200くらいのサイズがプラスされるはず。
であれば、1800くらい。
リンク集