通常Cookieを使用するサーバーで、特定のページのヘッダーでPHP送信Cookieを無効にする方法はありますか?
シナリオは、Cookie を使用するサーバーがありますが、一部のページは実際には Cookie を必要としない API 呼び出しをプログラミングしており、実際にはこの無関係なデータを送信することでユーザーの API 要求を遅くしています。
Cookie のオーバーヘッドなしで静的リソースを提供するために多くのサイトが使用している方法は、別のドメインを使用することです。たとえば、スタック オーバーフローの場合、そのドメインはhttp://sstatic.netです。
Web アプリでは、Cookie を特定のパスに制限できます。デフォルトでは、設定されたディレクトリに制限されます。$path
のパラメータを使用して明示的に指定することもできますsetcookie()
。
ペッカの答えとダゴンのコメントに同意します。firebug などのツールを使用して http リクエストの内容を調べると、setcookie 呼び出しがある場合にのみ Cookie が送信されることがわかりますが、ブラウザーは常にドメイン用の有効な Cookie を送信します。
これを回避するには、API に別のドメインまたはサブドメインを使用します。API をサポートする Web サーバーを構成して Cookie のサポートを無効にすることもできますが、ドメインがどこかにドメイン Cookie を実装している場合、クライアントが要求のヘッダーですべての Cookie データを送信するのを止めることはできません。したがって、API にまったく別のドメインを使用し、その際に Cookie を完全に回避するのがおそらく最善です。ドメイン Cookie が存在しないことを確認できる場合は、サブドメインが次善のソリューションです。