マニュアルによると、php では次のように説明されています。
Cookie ではなく URL を介してセッションを渡すことを好むのは、いつ、なぜですか?
主な違いは、セッション トークンがリファラーを介して別のドメインに送信される可能性があることですが、これは元の IP アドレスを確認することで軽減できます。これに加えて、Cookie は HTTP ヘッダーで送信され、URL はリクエスト行で終了します。HTTPS は両方を暗号化するため、セキュリティに関して実質的な違いはありません。しかし、リクエスト URL がログ ファイルに書き込まれる可能性があり、これは (明らかにマイナーな) リスクです。
Cookie は、セッション トークンを渡すデフォルトのハンドラーですが、クライアント側で無効になっている場合は、クエリ文字列のパラメーターにフォールバックできます。