パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

OperaからMSNへのちょっとした仕返し」記事へのコメント

  • by oltio (3848) on 2003年02月15日 20時48分 (#259744) 日記

    参考資料

    などを参考に手元でいろいろと試してみた。詳細は割愛しますが、

    1. Opera 6.xに送られてくるCSSは、古いNetscape Navigatorでそれなりに ちゃんと見えるように細工されたものである
    2. User-agent名のOperaを他の名前(Oprahなど)にすると、IE6用のCSSが送られてくる
    3. さらに"MSIE 6.0"等の文字を削ると、やはり(1)で送られてくる 壊れたCSSが送られてくるようになった

    という実験結果から考えるに、User-agent名を見てうまく判断できない場合は、 デフォルトでNN 4.x用のCSSを返すようになっているのは間違いないでしょう。 で、さらに"Opera"に反応する動作が付け加えられているようです。 (今現在では"Opera 7.0"は特別扱いのようで、IE6用が返ってくる)

    ただ、やっぱり「何故MSがOperaを攻撃しなければならないのか」 がよくわからない。ブラウザシェアから考えても、IE,NN4.x,NN6.x,Operaといった 順序になるだろうに、ここでOperaを差別する理由が思いあたらない。 IE以外を排除しているのだとしたら、わざわざNN4.xのバグに対処したCSSを 返してくる理由もないし。

    これは単なる推測ですが、どのCSSを返すかを決定する部分が単に ポカだっただけなんじゃないですかね。いろいろとUser-agent名をいじって試しているんですが、どうもルールが単純じゃないんですよね。 規則を後付けて増していくうちに混乱してったってぇ話じゃないかと。

    • by Zantei (1270) on 2003年02月16日 9時08分 (#260092)
      私の知る限り、MSNのテストチームは、ブラウザの銘柄に
      対する差別は行っていないです。(いなかったです)

      数年前のことですが、MSNのテストチームは、NNのテスト
      環境を少なくともIEのそれと比較して、1:2以上の比率で
      設備を保有していました。(≒テスト設備の3割以上は他社
      ブラウザ)これは当時のブラウザシェアを正直に反映し、
      それに自社の優先度が加味された数字だと思いました。

      ただしコンテンツ制作上、自社のブラウザもしくはシェアの
      高いブラウザの優先度が高くなってしまうのは、営利企業で
      ある限り、どこでも変わらないと思います。
      (MSNならIE優先、AOLならIE(シェア)とNN(自社)両方
      優先度が高い、みたいな)

      MSNの場合は、自社ブラウザと高シェアブラウザがイコール
      ということだと思います。その状況がたまたまかどうかの
      論議は別として、ですが。。。
      --
      _/-/ Zantei _/-/
      親コメント
    • by yg (12833) on 2003年02月16日 22時48分 (#260495)
      最初に引用されている大元のWhy doesn't MSN work with Opera [opera.com]から判断するに、
      「どのCSSを返すかを決定する部分が単にポカだっただけなんじゃないですかね。」とは、思えません。
      Operaを特別扱いしようとしてポカったのならわかりますが。

      これらの外部の結果から推測すると、次のような手順を踏んでいると思われます。
      1. MSIE6.0などの文字列を含むかどうかで、IE6.0かどうかを判定している
      2. しかし、Operaなどの文字列も含む場合に限り、知らないブラウザと判定する

      この判定の結果、Opera 7の場合、デフォルトのsite.cssが戻されるが、
      これが間違った処理をするNN4に向けてのおかしなCSSであるため、
      こわれた表示になる。(知らないブラウザに規格外のCSSなのは、おいときます)

      どうしてこのような手順が推測されるかの理由は、リンク先にある次の3つの現象からです。なお、1と2を逆の順に判断している可能性もありますが、
      いずれにしても、Operaを特別扱いしている点では同じでしょう。
      + "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"の場合、site-win-ie6.cssを戻す(IE6.0の場合)
      + "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.0 [en]"の場合、site.cssを戻す(Opera 7の場合)
      + "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Operh 7.0 [en]"の場合、site-win-ie6.cssを戻す(Operaを別の文字列に書き換えた場合)

      # 2番目はリンク先ではwgetの引数の「Operh」が「Opera」に間違っている部分があります。

      このため、MSNは(MSIE6.0の振りをする)Opera 7を意図的に、
      IE6.0と区別しようとしていると、私ならば判断します。
      これだけでは、攻撃をしようとしているかどうかはわかりませんが、
      前にIE以外を意図的に排除し、それを認めたことがあるにもかかわらず、
      それなりの声明をださずに修正するあたりがあやしいと考えます。

      なお、
      > (今現在では"Opera 7.0"は特別扱いのようで、IE6用が返ってくる)
      は、逆で、特別扱いするようにしたのではなく、
      上記2のステップ相当の特別扱いをやめただけと推測できます。
      親コメント
      • by yg (12833) on 2003年02月16日 23時12分 (#260506)
        >> (今現在では"Opera 7.0"は特別扱いのようで、IE6用が返ってくる)
        >は、逆で、特別扱いするようにしたのではなく、
        >上記2のステップ相当の特別扱いをやめただけと推測できます。

        wgetで調べなおしてみたら、この件は私の間違いのようです。
        ”Opera 7”だけ特別扱いのようです。すいません。

        つまり、”Opera 6.0"や"Opera 8.0"は、デフォルトのsite.cssですが、
          "Opera 7.1"や"Opera 7.3"は、IE6用が返ってきました。
        で、わらえるのが、"Opera 74”でもIE6用が返ってくるところです。

        いずれにしても、IEの振りをするOperaを意図的に、
        IE6と区別しようとしているとは思います。
        まあ、悪意なく間違えただけなら間違えましたごめんと
        言えばいいのにと思うのはだめ?
        親コメント
    • >Opera 6.xに送られてくるCSSは、古いNetscape Navigatorでそれなりにちゃんと見えるように細工されたものである

      とのことですが、これはCSSの規格に違反しているようなタイプの細工でしょうか?(自分で調べろって?)
      そうだとすると、古いNetscapeで正しく表示される規格に準拠したCSSを作るのはそんなに難しいことなんですか?それともMSの対応がその程度だったと認識することもできるのでしょうか?
      そうでないとすると、責められるべきはOperaでしょうね。
      親コメント
    • by masahikoi (1183) on 2003年02月16日 16時17分 (#260297)
      え~、すいません、ちょっとお聞きしたいんですが (OPERA使ってないもので)。

      OPERAって既定値ではUAとしてMSIE6.0を名乗るって聞いてたんですけど、その場合、渡されてくるスタイルシートはIE用なんでしょうかNN4用なんでしょうか。

      IE用スタイルシートが渡されるなら、表示は正常なんですよね? だとすると、表示がおかしくなるのは、設定をデフォルトからいじった人だけって事ですか?
      親コメント
      • by Anonymous Coward on 2003年02月16日 18時09分 (#260345)
        IE6のUAの後ろに" Opera 7.0 [en]"という文字列がつきます。
        親コメント
        • by masahikoi (1183) on 2003年02月16日 18時29分 (#260362)
          > IE6のUAの後ろに" Opera 7.0 [en]"という文字列がつきます。

          っていうことは、サーバー側としてはIE6なんだかOPERA7なんだか区別がつかなくって、結局NN4用のスタイルシートが来ちゃう訳ですね。ありがとうございました。

          # しかしこのUA文字列は、その他のブラウザ判定する
          # スクリプトなども誤動作の元になるのでは……
          親コメント
          • なぜ?
            >っていうことは、サーバー側としてはIE6なんだかOPERA7なんだか区別がつかなくって、
            とか
            > 結局NN4用のスタイルシートが来ちゃう訳ですね
            とか、わけわからん結論が出てくるんでしょうか?

            まぁ、もともとの質問も、Operaの主張をみれば、すぐわかるところに
            書いてあるので、何も読んでいない上での質問と思われます。
            なお、この主張によれば、Opera
    • >、デフォルトでNN 4.x用のCSSを返すようになっているのは間違いないでしょう。

      なるほど、うがった見方をすると、新参物、新しくでたブラウザ(ブラウザが判断できない時)には、表示がメチャクチャになる壊れた?CSSを返すというわけですか?
      Operaではなくて、IE以外の全てのブラウザを攻撃している?
      ブラウザが判断できない時には、ただしい?CSSを返すべきでしょ。

      危険は早いうちに叩け。
      --
      I am grateful to everyone and you.
      親コメント
      • 先週、sleipnir(IEコンポーネント使用タブブラウザ)を使ってMSDNを見たんですけど、
        左下のメニュー(時々そこだけしか表示されないし)がぐちゃぐちゃに表示されて首をひねりました。
        UAをIEにしたらIEと同じように見えるようになったんですが、
        ぐちゃぐちゃの状態だと文字化けしまくりでまったく正常に動作しませ

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...