2014年には役に立たないセッションの昔話 #hachiojipm

986 views
873 views

Published on

2014/6/21に行われた Hachioji.pm#41 で発表したLTのスライドです。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
986
On SlideShare
0
From Embeds
0
Number of Embeds
59
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

2014年には役に立たないセッションの昔話 #hachiojipm

  1. 1. 2014年には役に立たない セッションの昔話 OGATA Tetsuji (@xtetsuji) 2014/06/21 Hachioji.pm#41
  2. 2. 自己紹介 • 尾形 鉄次 (OGATA Tetsuji) • Twitter: @xtetsuji • Blog: http://post.tetsuji.jp/
  3. 3. 先日 「シニアエンジニアによるガラケー大戦回顧録」 というイベントをやりました
  4. 4. ひっそりとやろうと思ったら なんかバズった
  5. 5. ガラケー懐かし話満載
  6. 6. ガラケー時代はセッションも 苦労した
  7. 7. ガラケー時代のセッション • Cookie使えない! • なのでURLにセッションを入れる • その引き回し方に各社各人の秘伝のタレがあった • セキュリティに詳しい人は「あれリファラから漏れるん じゃないの?」っていうけど、そこは低機能な柔軟性の あるガラケー、リファラは送りません
  8. 8. ガラケー時代のセッション • でもVodafone(Softbank)の「P型端末」という2G機種は Cookieが使えないのにリファラを送るという最低最悪な 端末でした(既にこの世から消え去りました)
  9. 9. 引き回し方法 • 既存の枠組みに任せる。PHPだとCookieが使えない場合 にPHPSESSIDがクエリ引数に自動でついてまわる機能 があってガラケー時代に大ブーム • 自分で作る場合にはプログラム側で「どこか」に入れた セッションをURLからURLへ渡すようにする(a要素や form要素を全て書き換える) • 静的ページを挟む場合に面倒
  10. 10. 僕は考えた • フォルダのように見せかけたセッションだったら、静的 ページをはさんでも相対リンク遷移だと大丈夫? • e.g. /s=ZYX321abc987/path/to/foo.html
  11. 11. 今以上に知識がない当時 • Apache一択時代 • これ、mod_rewriteを使えば環境変数に入れられるん じゃないか?
  12. 12. mod_rewrite例 • RewriteRule ^/s=([^/]*)(/.*)$ $2 [QSA, E=session:$1]! • だいぶ忘れちゃったけど、雰囲気こんな感じ • あとはmod_perlのレスポンスハンドラとか、 mod_actionなどで、静的ファイルを処理するふりをして 後ろで処理するPHPやPerl CGIを置いておけばよい • 自力対処で困るのは206 Partial Contentの場合
  13. 13. 206 Partial Content • HTTPの部分リクエスト。ダウンロードレジューム機能 やPDFのページ飛ばしとか、色々裏で使われている • ガラケー時代はその性能の貧弱さゆえ、着メロのダウン ロードとかにこれを必須にしていた(RFCでは努力項目) • Apacheだと標準の出力ハンドラ(default-handler)が処理 してくれるけど、PHPでfopenとかするプログラムを裏 に据えてもこれを認識しないのでツライ
  14. 14. 左側セッション • この「パスの左側にセッション文字列をディレクトリの ように見せかけて後で処理」方法を自分では「左側セッ ション」って社内で呼んでいた • mod_perl覚えたて時代にうまくいったプロジェクトも あった • ただ、ガラケー衰退とともに忘れ去られていきました
  15. 15. Cookie最高!
  16. 16. おしまい

×