■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50

read.cgi 2006―JavaScriptはCGIの夢を見るか

456 : 株価【2300】◆cZfSunOs.U :2006/08/13(日) 16:30:32 ID:cJc+bl4/0
>>445http://dso.2ch.net/test/read.cgi#myanmar/1155409133/54nということで......

457 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 16:47:51 ID:amX6z+gg0
>>456
いえ、サーバ側の変換がおかしいです。
CP932なら〜はU+FF5Eに変換されなければならないのに
U+301Cに変換されています。
http://dso.2ch.net/myanmar/dat/1153850369.dat
http://dso.2ch.net/myanmar/dat-utf8/1153850369.dat

458 : 株価【2300】◆cZfSunOs.U :2006/08/13(日) 17:03:41 ID:cJc+bl4/0
>>457あ〜,何かこれは FreeBSD で使ってる GNU iconv のバグっぽいのかな?

% perl -e'print "\x81\x60";' | iconv -f sjis -t utf-8 | iconv -f utf-8 -t ucs-2be | od -txC
0000000 30 1c
0000002
% perl -e'print "\x81\x60";' | iconv -f cp932 -t utf-8 | iconv -f utf-8 -t ucs-2be | od -txC
0000000 30 1c
0000002
% iconv --version
iconv (GNU libiconv 1.9)
Copyright (C) 2000-2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Bruno Haible.

Solaris の iconv だと正常のようですが.

% perl -e'print "\x81\x60";' | iconv -fsjis -tutf-8 | iconv -futf-8 -tucs-2be | od -txC
0000000 30 1c
0000002
% perl -e'print "\x81\x60";' | iconv -fcp932 -tutf-8 | iconv -futf-8 -tucs-2be | od -txC
0000000 ff 5e
0000002

459 : [´・ω・`] ZT037011.ppp.dion.ne.jp(59.128.37.11) :2006/08/13(日) 17:05:54 ID:cn3fyogX0
>>455
>バージョンはいくつでしょうか?

Firefoxは、 Mozilla/5.0 (Windows; U; Windows NT 5.1; ja-JP; rv:1.7.5) Gecko/20041108 Firefox/1.0
IEは、5.0
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

460 : 株価【2300】◆cZfSunOs.U :2006/08/13(日) 17:28:52 ID:cJc+bl4/0
>>459どもです.Firefox は 1.0 ですか...... ひょっとすると
script エレメントを動的に作成しても実行してくれなかったりするのかな......?
タイミング的には read.html 中の JavaScript でスレ内容を書き出してからでないと
be.js の onload() を実行しても意味ないんで静的に読み込ませるってのもアレですし
(さらに,be.js は read.html だけでなく従来型の read.cgi や index.html にも
適用可能に作ってあるので,それとの兼ね合いもありますし)......
まぁ,be.js が担ってるのは主に旧 BE 板にあった機能なんで,それがなくても
致命的でないということなら,そのままでご了承頂くというのも一つの道かも......


あと,IE は 5 ですか...... IE 5 で対応してない正規表現はどれなんだろう......

461 : 株価【2300】◆cZfSunOs.U :2006/08/13(日) 17:38:53 ID:cJc+bl4/0
>IE 5 で対応してない正規表現はどれなんだろう......

ひょっとして (?: ) かなぁ......? ロケーションバーから

javascript:try { alert(/(\w)(?:\w)(\w)/.exec("abc")); } catch(e) { alert(e.message); }

と入力するとどんな具合でしょうか?<IE 5

462 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 17:43:58 ID:MroJNm59O
携帯のフルブラウザから書くとどうなるんだろと思ったがPCSV焼かれてるんだっけ

463 : [´・ω・`] ZT042219.ppp.dion.ne.jp(59.128.42.219) :2006/08/13(日) 18:36:19 ID:GWvkDp280
>>461
残念ながら変わらず。

参考になるか分かりませんが、
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/script56/html/js56jserrunexpectedquantifier.asp
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

464 : [´・ω・`] ZT042219.ppp.dion.ne.jp(59.128.42.219) :2006/08/13(日) 19:16:04 ID:GWvkDp280
>>461
結果の画面をキャプチャーしますた。

http://up.80.kg/test/read.cgi/banana100m/1153303306/43
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)

465 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 19:21:56 ID:7rQqIGsh0
今の段階でIE5やfirefox1.0に対応する意味は皆無じゃないんでしょうか
という素朴な感想

466 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 19:24:23 ID:q4y0FDfX0 BE:8257128-BRZ(1000)
5.5が配布されていないからねぇ
98の人は5のままって人も多いかもね
5ならOfficeに入っていたりするし

467 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 19:32:41 ID:QDuKH/z20
古いブラウザの方はc-otherでも使っていて下さい。

468 :せっ☆マ ◆wwwwWwWWWw :2006/08/13(日) 19:40:15 ID:OefIEdBp0
>>461
\wが駄目みたい。。。[0-9A-Za-z_]に置き換えするべし

469 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 20:47:32 ID:cJc+bl4/0
>>463-464ありがとうございます......ただ,こちらが期待していたのは
>>461の JavaScript を実行した際に出てくるダイアログの表示を知りたかった,
ということなんですが......やはり「正規表現演算子が不正です」だったのかな?

あと,そのサイトにある「正規表現の構文」
http://msdn.microsoft.com/library/ja/script56/html/js56jsgrpregexpsyntax.asp
では \w も (?: ) も使えることになってるはずですが......やはりバージョンの問題かな.


>>465-468まぁ,\w も (?: ) も ECMA-262
http://www.ecma-international.org/publications/standards/Ecma-262.htm
に規定されてるものなんで,これに対応してないブラウザは read.html 非対応扱いで
read.so に振り分けってことにしてもいいかな,という気もしてます.
sunos.saita.ma へのアクセスで IE のバージョンの内訳を見ると↓な感じですし,
特に強い異論がなければ......

7.0   1.4%
6.0  95.6%
5.5   1.2%
5.01  0.4%
5.0   0.6%

470 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 20:49:33 ID:A9Zb/iiX0
5.5から書いてます。
ダメならダメで振り分けてくれればいいかなという感じで。

471 : [´・ω・`] ZT042219.ppp.dion.ne.jp :2006/08/13(日) 20:59:20 ID:GWvkDp280
>>464
ごめんなさいレス番間違えますた。

http://up.80.kg/test/read.cgi/banana100m/1153303306/44


>>468
IE5.5ならよさげですが、IE5.0はダメみたいです。

472 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 21:08:17 ID:cJc+bl4/0
>>470-471なるほど,ありがとうございます.

>>421のスレでは IE 5.5 SP2 でダメという報告もあるようですが......
対応はエラーの内容次第かな......

473 :root▲ ★ :2006/08/13(日) 21:10:21 ID:???0 BE:2189838-PLT(15642)
>>449
なるほど、

read.cgi はそのままに、subback.html とかそのへんで read.html を出すとか、
そういうのはどうか、ってことですか。

このへんは、考え方次第ですかね。

474 :root▲ ★ :2006/08/13(日) 21:10:47 ID:???0 BE:2736465-PLT(15642)
>>458
およよ、iconv のバージョンアップが必要とか。

475 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 21:17:31 ID:cJc+bl4/0
>>474GNU iconv は常用してないので詳しくないですが,BE の dat を
iconv にかけてた時にどこかのスレでどなたかがパッチを提示してませんでしたっけ?
バージョンアップだけで済むのか,それともさらにパッチが必要なのか,詳しくないので......

476 : [´・ω・`] ZT042219.ppp.dion.ne.jp(59.128.42.219) :2006/08/13(日) 21:20:59 ID:GWvkDp280
>>472
もちろん、まゃんまーではIE5.5はダメで、>461を>468へ置き換えると、「abc,a,c」のダイアログが表示されるということです。
Monazilla/1.00 (JaneStyle/2.41)

477 :root▲ ★ :2006/08/13(日) 21:29:03 ID:???0 BE:3648858-PLT(15642)
ってことは、

・bbs.cgi では、read.html#なんちゃら を生成する
・read.cgi は従来どおり動かす

あたりが、いい感じなのかな。

ぼちぼち、やってみますかね。

478 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 21:31:17 ID:cJc+bl4/0
GNU iconv の最新版が 1.9.2 で,
http://www.gnu.org/software/libiconv/
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
それに対する CP932 パッチがあるようですね.
http://www2d.biglobe.ne.jp/~msyk/software/libiconv-1.9.2-cp932-patch.html


>>476なるほど......となると,5.5 も read.so に振り分けの方向かな......

479 :root▲ ★ :2006/08/13(日) 21:32:27 ID:???0 BE:3283766-PLT(15642)
WITH_EXTRA_PATCHES=yes で ports から libiconv を作ると、
>>478のは、入るみたい。

480 :root▲ ★ :2006/08/13(日) 21:35:05 ID:???0 BE:4104195-PLT(15642)
てなわけで >>478ありの iconv に入れ替えるのは、今日寝るまでにやるです。
bbs.cgi は、気が向いたら取り組むぐらいで。

481 : [´・ω・`] ZT042219.ppp.dion.ne.jp(59.128.42.219) :2006/08/13(日) 21:47:04 ID:GWvkDp280
最終的にはブラウザで表示されるアドレスが、
http://qb5.2ch.net/test/read.cgi/operate/1153819270/
って表示されるのがベストだと思いますので、
http://qb5.2ch.net/test/read.html#operate/1153819270/
とか、
http://qb5.2ch.net/test/read.so/operate/1153819270/
とかになるのだけはかんべんして欲しいです。

技術的に可能でしょうか?
Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)

482 :root▲ ★ :2006/08/13(日) 22:10:27 ID:???0 BE:3284249-PLT(15642)
>>481
テクニカルには可能です。

あとは「どうするか」ですね。

個人的には、ブラウザに表示されるアドレスは、
変わってもいいかもとか思っていたり。

だって昔は、PATH_INFO 形式じゃなかったわけで。
従来のものとの互換性がとれるなら、いいんじゃないのかなと。

483 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 22:18:23 ID:cJc+bl4/0
>>481あえて / ではなく # を使うということには相応の理由があるんで (>>438)......
まぁ,もし仮にサーバ負荷のことなどを考慮しなくてもいいという前提なら / のままでもいいんですが.

あと,JavaScript 版については /test/read.html#...... という URL がデフォルトに
なる方向なのかも知れませんが,従来通りの /test/read.cgi/...... という URL でも
アクセス可能な状態は保たれるようにするということで.

484 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 22:40:54 ID:cJc+bl4/0
ただ,subback.html に埋め込む URL を /test/read.html#...... にした場合の問題点は,
非対応ブラウザからのアクセスをリダイレクトで read.cgi に飛ばすのに困る,ってことですね.
サーバには URL の # 以降の部分は渡されないので,PATH_INFO 形式の read.cgi 用 URL を
生成できないってことになるんで...... 逆に,PATH_INFO 形式でアクセスしてきたのを
location.hash 形式の URL にリダイレクトさせるのは可能ですが.

あるいは,subback.html を JavaScript 対応版と非対応版の二種類作って
subback.html の段階で振り分けるとか......とはいえ,これも大変か......

485 :root▲ ★ :2006/08/13(日) 22:43:17 ID:???0 BE:3283766-PLT(15642)
WITH_EXTRA_PATCHES=yes で libiconv を作り直し、
libiconv に依存している ports を作り直しました。

mod_charset_lite のパッチ版も、作り直しました。

486 :root▲ ★ :2006/08/13(日) 22:48:49 ID:???0 BE:2918584-PLT(15647)
>>445は、なおたのかしら。

487 :root▲ ★ :2006/08/13(日) 22:53:27 ID:???0 BE:5837388-PLT(15647)
で、bbs.cgi ごにょごにょして、
read.cgi を従来バージョンにするのは、
ちと、明日以降にじっくりとというかんじで。

488 : 株価【1900】◆cZfSunOs.U :2006/08/13(日) 22:59:18 ID:cJc+bl4/0
>>485乙です.iconv は正常になったようですね.

% perl -e'print "\x81\x60";' | iconv -f sjis -t utf-8 | iconv -f utf-8 -t ucs-2be | od -txC
0000000 30 1c
0000002
% perl -e'print "\x81\x60";' | iconv -f cp932 -t utf-8 | iconv -f utf-8 -t ucs-2be | od -txC
0000000 ff 5e
0000002
% iconv --version
iconv (GNU libiconv 1.9)
Copyright (C) 2000-2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Bruno Haible.


>>486
>なおた

ようです.

489 :動け動けウゴウゴ2ちゃんねる :2006/08/13(日) 23:38:36 ID:k/t/ll9b0
#でリンクする場合、IEでは未読リンクと既読リンクの区別がつかなくなるような

490 :ひろゆき@どうやら管理人 ★ :2006/08/13(日) 23:49:21 ID:???0 BE:227849-DIA(30602)
文字コード変換のライブラリってjsではないんですかねぇ。。

491 :ひろゆき@どうやら管理人 ★ :2006/08/13(日) 23:51:26 ID:???0 BE:340496-DIA(30602)
http://jsgt.org/ajax/ref/charset_test/responsetext/seu8/sample.htm
http://jsgt.org/ajax/ref/charset_test/responsetext/seu8xml/sample.htm

わりとそのままでもいけるんすね。。。

492 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 00:03:31 ID:Npu56CF/P
ひろゆきがJS書いてあげてよ!

493 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 00:18:48 ID:???0 BE:177247-DIA(30602)
ら、、来年には。。

494 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 00:23:51 ID:clLu5sZ/0
文字コード問題なら>>125の方法もあるよ。javascript側でも出来るけど
実用に耐えられないんじゃ

495 :root▲ ★ :2006/08/14(月) 00:27:12 ID:???0 BE:1916137-PLT(15647)
>>490
文字コードもクライアントで変換させたいと。

496 :stream ◆PNstream2s :2006/08/14(月) 00:43:14 ID:6OcOUbMJO
JavaScriptには生のバイト列をサーバーから受信する方法はなさそうですから、変換も何もないかと思われる。

497 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 00:44:01 ID:clLu5sZ/0
もらえるよ。大丈夫。

498 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 00:48:04 ID:LiQ4r6Ez0
>>488
直りますた。お疲れ様です。

499 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 00:49:57 ID:LiQ4r6Ez0
少なくとも、文字化けしないと分かってるブラウザは /dat-utf8 じゃなくて /dat を
使うようにできませんか。

500 :◆SANUKI/VII :2006/08/14(月) 00:58:56 ID:73LnuNTQP BE:13590656-PLT(28001)
bbs.cgiもJavaScript化しないかな

501 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 01:02:48 ID:Npu56CF/P
言い出しっぺの法則で

502 :せっ☆マ ◆wwwwWwWWWw :2006/08/14(月) 01:05:56 ID:jHyLb3rV0
>>495
無理

503 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 01:11:11 ID:LiQ4r6Ez0
確か /dat を直接使えば変換の必要はないけどそれだとキャッシュから読み取ったとき
IE6 が文字化けするんだっけ? で>>499と。

504 :445 :2006/08/14(月) 01:14:17 ID:SWdP+SnS0 BE:412948894-2BP(120)
>>486
治りました

505 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 01:45:14 ID:???0 BE:158055-DIA(30602)
文字コードの変換コストが高い気がするのです。

>>503に同意なのですが、IE6以外は大丈夫なんですか?

506 :root▲ ★ :2006/08/14(月) 01:50:50 ID:???0 BE:3284249-PLT(15647)
>>505
文字コードの変換コストは、圧縮処理(mod_deflate)よりも断然低いですね。

文字コードの変換にこだわるなら、
圧縮を段階的にやめることを検討したほうがよさげかもです。
昔とは事情が違うわけですし。

507 :root▲ ★ :2006/08/14(月) 01:58:17 ID:???0 BE:5107878-PLT(15647)
で、圧縮は、ようは CPU 負荷というコストを使って、
転送量をセーブすることにより、何か得られるものがあるから
(例えばお金の節約とか)、やっていると思うわけです。

で、もし仮にですが、圧縮で得られるものが圧縮で使うコストよりも少ないのであれば、
それは「労多くして益少なし」ということなんではないのかなと。

PIE に移ってからは、定価のタリフのうえでは「帯域については完全保証(料金は変わらない)」と
言っているので、そのあたりのコスト感覚というか計算についても、いろいろと検討してみる必要が
あるのかもしれないのかなと。

# ただ、今の standard banana でいきなり圧縮やめると、
# 10Mbps を超えてしまうやつが、ぼろぼろ出てくるかもしれないですが。

508 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 01:59:56 ID:LiQ4r6Ez0
>>505
>>116http://pc8.2ch.net/test/read.cgi/php/1147750917/334
によると、Firefoxでは問題ないようです。
実験したいのですが、>>118がつながりません。
どこかに文字化けするサンプルは残っていますか?

509 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 03:00:44 ID:5Nwx/hDw0
>>489
Firefoxだと別管理だったけど
IEだと確かに全部既読になった

510 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 07:15:07 ID:WxMZYEQv0
IE(6 には文字化け問題があるとして,7 はどうなんでしょ?)だけ dat-utf8 使って
それ以外 dat ってのをやるならそれでもいいんですが,その場合
----------------------------------------------------------------------
<Location /*/dat/*.dat>
    AddDefaultCharset Shift_JIS
    Header append Cache-Control max-age=5
</Location>
----------------------------------------------------------------------
ってのを httpd.conf に入れてもらうということで.ただ,これを入れた場合
黒山羊の Squid などに影響が出ないかどうかってのは要観察かも知れません.あるいは,
----------------------------------------------------------------------
<Location /*/datx/*.dat>
    AddDefaultCharset Shift_JIS
    Header append Cache-Control max-age=5
</Location>

<VirtualHost ...>
    # ServerName dso.2ch.net のところ
    AliasMatch ^/(\w+)/datx/(\d+\.dat)$ /home/ch2dso/public_html/$1/dat/$2
</VirtualHost>
----------------------------------------------------------------------
のようにして datx を使うことにすれば,黒山羊等の心配は無用ですが.

511 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 08:38:05 ID:pfMHSnaj0
IEでも全datを取得するような場合は生SJISを読むことはできる。 >>86
ただし差分の取得などには使えなさそう。

512 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 14:22:32 ID:???0 BE:63825-DIA(30602)
圧縮ははずす方向だった予感。

>>511
差分読み込みをするために文字コード変換して一部を渡すのと、
文字コード変換せずに全部のdatを渡しちゃうのは
どっちが重いんでしょう?


513 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:25:11 ID:oLLYslxgP
ぜんぶ

514 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:28:59 ID:LiQ4r6Ez0
文字コード変換しても差分読み込みはできません。
現状では(Not Modifiedが返らない限り)無条件にdatは全部読んでます。
そうしないと部分表示に対応できないから。

515 :root▲ ★ :2006/08/14(月) 14:33:19 ID:???0 BE:1641492-PLT(15697)
>>512
> 圧縮ははずす方向だった予感。

おぉ。そうすか。
vip とかの単体系サーバにとっては、かなり朗報かも。

>>512第二段落

全部の方が、特にでっかい dat の時はコスト高そうな気がしますね。
でもたぶん、測ってみる必要がありそう。

>>514
そうでしたっけか。< 差分ができない
そのこころって、なんでしたっけ。

516 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:36:08 ID:LiQ4r6Ez0
>>515
あ、書き込みの後とかリロードボタンを押した場合には
差分取得してるかも。

517 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:36:47 ID:LiQ4r6Ez0
> リロードボタン
じゃなくてリロードリンク

518 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 14:42:53 ID:???0 BE:340496-DIA(30602)
差分は仕様がよくわからないと。。

519 :stream ◆PNstream2s :2006/08/14(月) 14:42:55 ID:6OcOUbMJO
なんか勘違いしてる見たいですけど、差分転送なんて有り得ないですよ。IE6が文字化けするのは、If-Modified-SinceとかIf-None-Matchを使った「条件付きGET」の結果、304が帰ってきた場合です。

520 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 14:44:03 ID:???0 BE:176674-DIA(30602)
>差分転送なんて有り得ないですよ
つまり差分転送はjsだと出来ないってことですか?

>「条件付きGET」の結果、304
ってのは、具体的に何をしたときに発生するどういうエラーなんでしょう?


521 :root▲ ★ :2006/08/14(月) 14:45:40 ID:???0 BE:1095326-PLT(15697)
条件付きGETの結果、304 が返ってくる = dat が更新されていなかった

かな。
つまり、書き込みも削除もされていなかったと。

522 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:46:36 ID:clLu5sZ/0
差分転送は、2chブラウザと同じ方法で出来るでしょ。
現状の仕様が差分転送してないだけで、

523 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:57:05 ID:LiQ4r6Ez0
>>519
そういえば304の応答に「Content-Type: text/plain; charset=Shift_JIS」を含めても
文字化けするの?
>>522
ただしログはとっておけないからその場で(ページを移動せずに)リロードした場合に
限る。だから>>516と。
もっとも現状では差分取得は一切やってないみたいだけど

524 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 14:58:53 ID:clLu5sZ/0
>>523
うんうん
xmlhttpのresponseBodyで、バイナリデータ貰えるし、
Rangeヘッダ追加してやりゃ差分取得もできる。

responseBodyがIE限定だし
ブラウザから更新されたら意味ないから無駄に近いけど

525 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 15:02:27 ID:???0 BE:170093-DIA(30602)
つまり差分取得は可能だけど、今のバージョンは未対応。。と

差分転送で更新されてないと304が返るけど、
jsだとハンドリングできないってことですか?


526 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 15:05:17 ID:Zt0xoj6H0
>>525
これの処理お願いします。
http://news20.2ch.net/test/read.cgi/news/1155531670/3

527 :stream ◆PNstream2s :2006/08/14(月) 15:06:22 ID:6OcOUbMJO
>>520
JavaScriptじゃできないですね。差分取得使うなら通常ブラウザのキャッシュではなく独自のキャッシュ機構が必要ですから、パソコンのディスクなどにアクセスできる方法じゃないと。


>>522
JavaScriptでもRangeヘッダをつければ差分取得自体はできるけど、そのRangeに設定する数値はどうやって決めるのか。
仮に決められても、そもそもブラウザを終了したり他のページに移ったら(=JavaScriptが終了したら)キャッシュに残ってるデータのうしろに差分取得したデータをくっつける手段はないから、プログラムを複雑にしてまでやるメリットは薄いと思う。

何が方法があるならコード例を示して欲しい。responseBodyはすでに過去のもののはず。

528 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 15:11:59 ID:clLu5sZ/0
>>525
jsのHTTPクライアントのXMLHTTPさんが過保護で
普通に取得しても、キャッシュに残ってる+更新されてないと
そのキャッシュを読み込んで返す。
ヘタしたら304さえ返さない。てか304返すなら拾えるし。

キャッシュ読み込むときに文字コードの判定にしくって
文字化けが起きてるらしい。

529 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 15:12:39 ID:???0 BE:63252-DIA(30602)
>>527
そすっと、差分取得はないものとして作れば、
304エラーの問題もなくなると。

dat丸ごとの転送で作ってみて、
既存のread.cgiでの処理との比較をしてみるとか。


530 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 15:13:27 ID:???0 BE:88272-DIA(30602)
>>528

キャッシュを読むときに文字コード指定したりして、
回避することは出来ないんすかね。


531 :せっ☆マ ◆wwwwWwWWWw :2006/08/14(月) 15:14:17 ID:YmRpFYCG0
>>527
リーロードボタンみたいなのを別に設置したらできそうだね

532 :stream ◆PNstream2s :2006/08/14(月) 15:17:31 ID:6OcOUbMJO
>>523
そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、mod_header使ってもつけられない。


>>528
>過保護
いやそれごく普通の動作だし、いやならIf-Modified-Sinceに昔の時刻を設定するのが筋でしょ。

533 :root▲ ★ :2006/08/14(月) 15:18:27 ID:???0 BE:2280555-PLT(15697)
>>532
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
> mod_header使ってもつけられない。

おぉ、なるほど。
で、IE6 だとその場合、UTF-8 だと思い込んじゃう、ってことなのかしら。

534 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 15:21:27 ID:clLu5sZ/0
>>527
>プログラムを複雑にしてまでやるメリットは薄い
いやまんまこのとおりだからほぼ無意味。

>>530
XMLHTTPの文字コード判定は
サーバーからの指定と
XML文章だったばあいencodingの部分。
あとHTMLの指定ぐらいかな。

それ以外は、自力解釈。わかんない場合UTF-8で読む。
他に設定できない気がした。

535 :stream ◆PNstream2s :2006/08/14(月) 15:52:57 ID:6OcOUbMJO
>>529
まあ、SunOsさんはそれよりも文字コード変換してしまったほうがすっきりするということで実装を進めたようですが

536 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:04:45 ID:WxMZYEQv0
差分取得は>>527ということでやってません.で,304 エラー(というか,別に
Not Modified はエラーではないんですが)は差分取得とは無関係の問題で,
dat が前回取得時から更新されていない場合に起こるということです.
普通のスタティックな html ページなどと同じで,更新されていれば
新たなページ内容が返ってくる,更新されてなければ 304 が返ってきて
ブラウザはキャッシュを利用すると.

ただ,文字コード変換は IE のためだけにわざわざやっているんで,
>>510のようにすることはできます.

537 :root▲ ★ :2006/08/14(月) 16:09:58 ID:???0
>>510の下のほうかなぁ。

538 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 16:10:15 ID:???0 BE:303168-DIA(30602)
おぉ?IEは以外は文字コード変換しなくても
大丈夫なんですか?

539 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:11:18 ID:LiQ4r6Ez0
>>532
> そもそも304の応答にはボディはないからContent-Typeはつけちゃいけないし、
なるほど確かに。
> If the conditional GET used a strong cache validator (see section
> 13.3.3), the response SHOULD NOT include other entity-headers.
> Otherwise (i.e., the conditional GET used a weak validator), the
> response MUST NOT include other entity-headers; this prevents
> inconsistencies between cached entity-bodies and updated headers.

> entity-header = Allow ; Section 14.7
(中略)
> | Content-Type ; Section 14.17

540 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:12:30 ID:pfMHSnaj0
(1)datの先頭に<!--あ-->等の文字を入れておく
(2)まずはsjis版のdatを取得に行く
 先頭の<!--あ-->が化けていない場合は新規取得っぽいのでそのまま表示
 <!--あ-->が化けている場合はキャッシュっぽいのでutf-8版を取り直す

こんな感じで文字コード変換の回数を減らせるかな。

541 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:12:36 ID:WxMZYEQv0
>>538少なくとも Firefox では問題ないようでした.

542 :root▲ ★ :2006/08/14(月) 16:15:07 ID:???0 BE:2554447-PLT(15697)
>>540
「美乳の手法」ってやつでしたっけ。
ただし「美乳」は、euc-jp の時みたいですけど。

543 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:17:17 ID:fNT1qkg10
個人的には<!--ゲイツ氏ね-->とでも

544 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 16:18:00 ID:???0 BE:397297-DIA(30602)
IEのバージョンによってOKだったりするんですかね?


545 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:19:43 ID:pfMHSnaj0
7では直っていることを期待したいですね。

546 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:19:47 ID:LiQ4r6Ez0
>>544
IE7だと大丈夫という説があるけど未確認です

547 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:21:16 ID:WxMZYEQv0
>>540それだと,IE の場合キャッシュを使わず毎回サーバから取ってくるのと
変わらない,っていうか dat の仕様変更になるんで各方面に与える影響が......

# dat の仕様変更するなら,上の方で出てた XML の CDATA セクションに突っ込む形の方が......

548 :root▲ ★ :2006/08/14(月) 16:29:49 ID:???0 BE:2189164-PLT(15697)
dat に「美乳」みたいなの入れる方向は、全く考えてないです。>>547
特定の実装の虫にそういう方向で対応するのは、
管理人が「やれ」といわない限り、ない方向で。

549 :ひろゆき@どうやら管理人 ★ :2006/08/14(月) 16:35:58 ID:???0 BE:75762-DIA(30602)
文字化けの問題がIE7で解決されるのであれば、
いずれ解決されるって前提で進めたほうがいいとおもうです。


550 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:47:54 ID:pfMHSnaj0
初回 sjis取得

リロード1回目(更新あり)
   sjis取得
リロード1回目(更新なし 304)
   sjisキャッシュ破棄 → utf-8取得

リロード2回目以降(更新あり)
   sjis取得
リロード2回目以降(更新なし 304)
   sjisキャッシュ破棄 → utf-8キャッシュを表示

・・・混乱してきた。

どうせIE7で直るなら、変な小細工を考えないほうがいいですね。

551 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:51:49 ID:1kFRvFPJ0
UAで判断する方針?

552 : 株価【1600】◆cZfSunOs.U :2006/08/14(月) 16:56:23 ID:WxMZYEQv0
>>118(って今はないのかな?)を IE 7 で見てもらって問題ないなら
文字コード変換かけるのは IE 6 限定ってことでもいいかもですね.

553 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 16:56:32 ID:oLLYslxgP
>>549
オートアップデートである日突然元の仕様に戻って2ちゃん化け化けとか

554 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 17:14:04 ID:clLu5sZ/0
if (window.XMLHttpRequest) { //Mozilla, Firefox, Safari, IE7
 sjisのdatでok
}else if(window.ActiveXObject) { //IE5,IE6
 urf-8のdatで
}else{ //そもそも無理な人たち
 read.cgiへ
}

これで、safari以外たぶん大丈夫になる。

555 :動け動けウゴウゴ2ちゃんねる :2006/08/14(月) 17:36:00 ID:fNT1qkg10
まずはSJISのdatを取得して、化けてる(304でキャッシュを開いてる)時だけUTF8版を取りに行く。
更新がずっと無ければUTF8版のキャッシュが表示される。

2回のリロードごとに更新があると効率が悪い。


317KB
新着レスの表示

スレッドリストへ戻る 全部 前100 次100 最新50

0ch BBS 2004-10-30