Waiting Room が __cfwaitingroom Cookie を使うのは、有効で関連付けられた Waiting Room があるホストとパスの組み合わせへ、訪問者がアクセスをリクエストしたときだけです。Waiting Room が一時停止中のときは、トラフィックはオリジンへ向かい、__cfwaitingroom Cookie は作成されません。__cfwaitingroom Cookie は改ざんを防ぐために暗号化されています。Waiting Room の Cookie 名を変えるには、カスタムサフィックス を付けられます。
__cfwaitingroom Cookie は次の用途で使います。
- Waiting Room のキュー内の位置を追跡し、正しい順番で案内します。
- 各訪問者がアプリケーションに滞在した時間を監視し、Waiting Room で並んでいる訪問者に 正確な入場見込み を示します。
- session_duration で指定した期間、Waiting Room に戻らず再入場できるようにします。
- 訪問者が Waiting Room にいるあいだ、
__cfwaitingroomCookie の有効期限は常に 5 分です。タブを閉じたりアプリケーションから離れたりしなければ、20 秒ごとに自動で更新されます。 - 訪問者がアプリケーションへ入ると、
__cfwaitingroomCookie は session_duration で指定した間隔のあとで期限切れになります。
__cfwaitingroom の末尾にカスタムサフィックスを付けると、Waiting Room の Cookie 名をカスタマイズできます。
ダッシュボードでは、作成 または 編集 の流れで Custom cookie フィールドを入力します。API では、Waiting Room の作成時または編集時に cookie_suffix の値を入れます。1 つの Waiting Room に 追加のホスト名 とパスを使う場合、Cookie サフィックスは必須です。適用されるポリシーに Cookie が準拠していることを確認してください。
訪問者が Waiting Room のホストとパスの組み合わせへ初めて入ると、__cfwaitingroom Cookie を受け取ります。この Cookie には一意のグループ ID が含まれ、訪問者が Waiting Room に入った時刻(分単位)に対応します。この値から、特定グループの前に何人いるかがわかります。
各 Cookie には acceptedAt の値もあり、訪問者がアプリケーションへ入った時刻(分単位)に対応します。この値から、1 分あたり何人の訪問者が Waiting Room を離れてアプリケーションへ入ったかがわかります。
visitorsAhead ÷ activeUsersToWebApplication = estimatedWaitTimeこれらの情報を組み合わせて、訪問者グループごとの推定待ち時間を計算します。
Cloudflare Waiting Room の技術的な実装の詳細は、ブログ記事 ↗ を参照してください。