空文字が指定されている場合に、埋め込み元ページと同じURLにリクエストを飛ばすようです。
GETでアクセスしてくるのでステートフルな処理を1つのURLで行っていると色々と問題が起きます。
例えば同一のURLでメソッドで処理を分けている場合
- GET (入力フォーム取得、ステート初期化)
- POST (データ送信、確認画面取得)
- POST (データ送信、完了処理)
POSTの後にGETのリクエストが来るとステートが初期化されてしまいます。
2と3はステートによって処理を分岐するので2の後にGETされるとステートが初期化されて3に進まなくなります。
これで数時間はまってしまいました。