WindowsForm開発から初めてWeb開発を担当すると、色々な所でつまずきます…。ブラウザ関連は特に。
ブラウザの「戻る」ボタンは特別なことをしない限り、通常はサーバとのやりとりをせずにクライアントが持つキャッシュをそのまま表示する。という理解を以下サイト等を通じてしました。
Backボタンが押される問題への対処
確かにFiddlerでHTTP通信みても通信されないです。
が、自社の米パートナー企業が開発してるシステムを何気なく見ていたら「戻る」で画面更新されとる!なんで?
通信みたら、最初のページ通信が行われて
何も発生しないと思いきや、ちゃんとページを読み込みなおしてる(下図のNo.5)。
そこのパートナーの中に、とても仲が良い友人がいるので、「色々調べてから聞けよ…」と自分に突っ込みながらも彼に聞いてみた所、「Cache-Controlの設定だと思うよ」と回答が。なるほど。とりあえず、そこのシステムのresponse headerみたら
あ、これ、こないだの情報セキュリティスペシャリスト試験でやったな…(-_-;と思いだして、IPAのサイトへ
IPAセキュアプログラミング講座のプロキシキャッシュ対策
各々の属性解説がわかりやすい。けど、これ読む限り、キャッシュなくなって有効期限切れ的なのになるんじゃないのか?と。
いや、must-revalidateで再度読み込み直ししたりするんじゃ、とか色々勝手に考えてもわからないので、自分のサンプルコードにいれてやってみた所
そうですか…。そうですね…。
とりあえず、もっとググろう。と同時に少し厚かましいけど、パートナーの友人に「やってみたけど、こうなった」と送ってしまった…。
ちなみにパートナーもJava使ってて(多分Strutsなんですが…)、今まで開発技術のコミュニケーションはなかったのだけど、今後はそういう会話ができるようになるので少し世界が開けた感じがする(今回のはJava関係ないですが;)
英語は必須だけど、Javaという言語を通じてコミュニケーションも広がる感覚がちょっと新鮮で面白いです(^^)
最近はJavaばかり頑張って英語がさっぱりなので、どっちも頑張らないと。