著作一覧 |
結局、シュヴァンクマイエルのAプログラムは行かなかった。
スペースシャトルの落日は読了。
教訓の泉のような本として読むこともできる。
・個々の要素技術がどれだけ優れていても全体構想がだめだとだめ。
・技術を技術として適用するためには、その技術をどのような将来展望によって採択したかを明らかにしなければならない。でなければ、捻じ曲がる。
・ありあわせの技術の組み合わせでも、目的に適合していればその時点で役に立つだけでなく、将来的にも役に立つ(全体構想がすぐれていれば、部分変更で有効活用できる)。
・既存資産を捨ててゼロからやるのは愚か(ジョエルがMozillaについて評していることと同じだ)
・つまるところは、モジュラー化重要
・実績があるものが駄法螺を吹くと人を騙せる(ソーア?)
・でかいやつが正しいと言っても、巻き込まれるのはばか。(ソーア?)
システム開発とロケット開発だと予算規模が3桁(4桁の場合が一般的だし5桁もないわけではない)違うけど、全体構想があって複数の要素技術がからみ、政治と技術の駆け引きがあるという意味じゃそれほど異なるわけでもない(人命にはかかわらないまでも大損くらわせるくらいのリスクはある)、と言う意味じゃまったくいろいろ得るものがある本だった。
久々なのは触ってないからかも。
rfc2617 3.2.1 The WWW-Authenticate Response Header
digest-challenge = 1#( realm | [ domain ] | nonce |
[ opaque ] |[ stale ] | [ algorithm ] |
[ qop-options ] | [auth-param] )
[]はオプションなので、必須なのはrealmとnonce。
事実、Firefoxはrealmとnonceを設定すれば認証ダイアログを表示する。
しかし、IEは黙ってエラー画面を吐く。いい加減にしてくれ。ある意味正しい。
で、順番に増やしたり減らしたりして調べた結果、以下の結論を得た。
少なくても、IE6に関しては、qop-optionsの設定が必須。
#rfc読みながら実装というネタ(+ハッシュという考え方、+チャレンジレスポンスという考え方)をCodeZineでやろうと思ったんだけど、IEの秘孔を突く(……というわけで標準が決まっていても……と実装されているわけではないので検証は必須です。)ネタになってしまうのは面倒だな。ちゃんとドキュメントは隅々まで読めというネタになるのは当然だな。
追記:rfc2069までの実装ということなのか。
rfc2069では、qop-optionsは未定義。したがって、qop-optionsをオプションとして扱うのはrfc2069に対するバックワードコンパチビリティのためで、rfc2617コンプライアントならqop-optionsは必須。
したがって、IEは(サポートが比較的最近なので)rfc2617コンパチでrfc2069非コンパチ。Firefoxはrfc2069コンパチ。
したがって、2005年に実装しているオレがqop-optionsをオプション扱いにしているのが時代遅れで間抜け。
ジェズイットを見習え |
qop-options ってムダに複雑なだけなような気もします。auth はまだしも auth-int なんて、こんなもの真面目に実装できるのか、と思ってしまいます。
マルチパートの場合はauth-intの実装って面倒そうですが、そんなに面倒でもないと思いますよ。<br>#調べていたら、他の箇所にIE6はバグ持ちだとわかったけど。
なるほど。力量の差みたいですね。私は以前に auth-int で挫折してしまいました。orz
いや、単にどこまで実装する気があるかどうか(僕はそこまで実装する気はさらさら無いので、ふんふんこれはできますな、で終ってるからでまじめに実装方法を検討すると「やってられるか!」となる可能性は十分にある)だと思います。