セッションの実現方法についての質問です。
「プロになるためのWeb技術入門」という本を参考にしております。
「セッションIDの受け渡し方には選択肢があります。CookieによるセッションIDの受け渡しはセッションIDが外部に漏れる可能性が低く、安全なのですが、ブラウザのセキュリティの設定によってはCookieの受け入れを拒否されることがあり、その場合はセッションを実現させることができません。
代替手段としては、GETリクエストのパラメータが考えられます。PHPではCookieが利用できない場合、「PHPSESSID」というパラメータ名でリクエストのURLにセッションIDが含められるようにformタグが自動的に書き換えられ、サブミット時にGETパラメータとしてセッションIDが渡されるようにしています。このような手法はURLリライティングと呼ばれています。
同様にTomcatでも「jsessionid」というパラメータがGETリクエストに付加されます。
Tomcatでは初回アクセス時にCookieとURLリライティングを併用してセッションIDをブラウザに送ります。そして、ブラウザから次に送られるリクエストの内容から、Cookieが利用出来るならばCookieのみを、そうでないならば、URLリライティングのみを使用するよう判断します。」
CookieによるセッションIDの受け渡しは理解しているのですが、URLリライティングによるセッションIDの受け渡しがイマイチわかりません。
まず、上の文章の前半で登場するPHPでのURLリライティングについてですが、Cookieが使えないならば、ブラウザ側はどのようにしてセッションIDを知るのでしょうか?
どうにかしてブラウザ側がセッションIDを知ることができれば、あとはURLリライティングによりセッションを実現することができるのはわかるのですが。
「TomcatではCookieとURLリライティングを併用してセッションIDをブラウザへ送ります。」とありますが、ブラウザに対して、URLリライティングを使って、セッションIDを送るというのが理解できません。と言いますのも、HTTPレスポンスを見ますと、そのようなURLを記述した部分は見つけられないからです。
これは一体どのような意味なのでしょうか?
以上、2点ですが、回答お願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/09/24 12:03
2016/09/24 12:10
退会済みユーザー
2016/09/25 01:19
2016/09/25 02:49
退会済みユーザー
2016/09/25 04:41