iOS6 SafariでHistory BackするとPOSTがGETになる


iOS6のSafariでHistory BackするとPOSTがGETになる


■備忘録のためメモしておきます

・検証端末
iOS6.0(iPhone4)
iOS6.1.3(iPhone3GS))

・対象外の挙動確認
Chromeシミュレータ
iOS8.2(iPhone6Plus)

  • iOS6の挙動(不具合)

「Javascriptのhistory.back」やブラウザ左下の矢印での「戻る」の際に、
前の画面への遷移が「POST」であった場合でも、「GET」に書換えて遷移する物である。(302の時の挙動に近い)

       Post          Post
画面A    →    画面B    →    画面C


上記遷移の場合に、「画面C」から「画面B」に遷移しようとする際に、

iOS6 だと、GETで「画面B」に移動しようとする。(端末にCacheして無い場合。)
そうすると、「画面B」の遷移に必要なBodyが欠落し、今回の場合はエラー遷移となる。