情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

HerokuのHTTPについて

HTTPの制約

HerokuはHTTP/1.1をサポートしていますが、下のような制約があります。

  • メソッドがCONNECTのHTTPリクエストはサポートしていません。
  • リクエスト行は8192バイトまででなければなりません。
  • リクエストヘッダフィールドは8192バイトまででなければなりません。
  • リクエストヘッダフィールドの名称は1000バイトまででなければなりません。
  • リクエストヘッダフィールドの数は1000個まででなければなりません。
  • レスポンス行は8192バイトまででなければなりません。
  • レスポンスヘッダフィールドは512キロバイトまででなければなりません。ただし、Set-Cookieヘッダフィールドは8192バイトまででなければなりません。
  • HTTPリクエストの処理においてシステムエラーが発生した場合には通常のページの代わりにエラーページがステータスコードが503Service Unavailable)のHTTPレスポンスとして返信されます。
  • HTTPリクエストを受け取ってから30秒以内に少なくともHTTPレスポンスの一部を返信しなければなりません。
  • HTTPレスポンスの返信を55秒以上止めてはなりません。

HTTPリクエストヘッダ

Herokuアプリケーションに対するHTTPリクエストにはHerokuのルータにおいて下のようなヘッダフィールドが追加されます。

  • X-Forwarded-For・・・HTTPリクエストを送信したクライアントのIPアドレスが設定されます。
  • X-Forwarded-Proto・・・クライアントが送信したHTTPリクエストのプロトコルが設定されます。
  • X-Forwarded-Port・・・HTTPリクエストのリクエストターゲットのポート番号が設定されます。
  • X-Request-Start・・・HerokuのルータにHTTPリクエストが到着した日時がUNIX時刻として設定されます。
  • X-Request-Id・・・HTTPリクエストのHerokuにおける識別子が設定されます。
  • Via・・・Herokuのルータのコードネームが設定されます。
pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Heroku