read.cgiをjavascriptで実現させるプロジェクトのスレッドです。
テスト版
http://sunos.saita.ma/read-js/test/read.cgi
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
探検
read.cgi 2006―JavaScriptはCGIの夢を見るか
■ このスレッドは過去ログ倉庫に格納されています
NGNG
NGNG
>>35
再読み込みもOK?エラーでない?
再読み込みもOK?エラーでない?
37ひろゆき@どうやら管理人 ★
NGNG はや!
38root▲ ★
NGNG >>37
まだ、スタート地点に立ったばかりです。
ほんとの苦労は、これから、これから。
で、これ、どう思いますか?
【にがうり】 雪だるま作戦のスレを待ち続けるスレ Part17
http://aa5.2ch.net/test/read.cgi/nanmin/1153671484/289-
まだ、スタート地点に立ったばかりです。
ほんとの苦労は、これから、これから。
で、これ、どう思いますか?
【にがうり】 雪だるま作戦のスレを待ち続けるスレ Part17
http://aa5.2ch.net/test/read.cgi/nanmin/1153671484/289-
2006/07/26(水) 02:05:10ID:ax/3R4o80
responseTextじゃなくて、responseBodyなら、
クライアント側で変換できるけど。遅いよ
クライアント側で変換できるけど。遅いよ
2006/07/26(水) 02:05:27ID:t4IhxYwc0
実用的ではない
まず重い、ありえない
そもそもJavaなんか切ってる人が大半
───終了───
まず重い、ありえない
そもそもJavaなんか切ってる人が大半
───終了───
41ひろゆき@どうやら管理人 ★
NGNG >>38
1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
何割なんでしょう。
少数の高額利用者の食い合いをしてる業界であればわかるのですが、
無料で利用できる掲示板にそのまま適用できるとは思えなかったりします。
1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
何割なんでしょう。
少数の高額利用者の食い合いをしてる業界であればわかるのですが、
無料で利用できる掲示板にそのまま適用できるとは思えなかったりします。
42root▲ ★
NGNG >>41
> 1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
> 何割なんでしょう。
AMC (ANAマイレージクラブ)の会員は、およそ1000万人と言われています。
乱暴に言えばまぁ大体、飛行機に乗る日本人の数と、当たらずとも遠からずかと。
で、PLT 以上なのは、つまりマイレージプログラムに執着しているとみなせる人は、
そのうちのおよそ 1% 程度といわれています。
つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
全国に10万人ぐらいは、いることになるです。
これを多いと考えるか少ないと考えるかで、
このようにエンブレムを載せる意味が、
あるのかないのかにつながっていくんではないかと。
で、私は「これは無料だからこそより適用できるのだ、掲示板には愛が大事なのだ」
と、全く根拠なく思っていたりします。
> 1年間に飛行機に乗る人のうち、マイレージプログラムに執着するのは
> 何割なんでしょう。
AMC (ANAマイレージクラブ)の会員は、およそ1000万人と言われています。
乱暴に言えばまぁ大体、飛行機に乗る日本人の数と、当たらずとも遠からずかと。
で、PLT 以上なのは、つまりマイレージプログラムに執着しているとみなせる人は、
そのうちのおよそ 1% 程度といわれています。
つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
全国に10万人ぐらいは、いることになるです。
これを多いと考えるか少ないと考えるかで、
このようにエンブレムを載せる意味が、
あるのかないのかにつながっていくんではないかと。
で、私は「これは無料だからこそより適用できるのだ、掲示板には愛が大事なのだ」
と、全く根拠なく思っていたりします。
43root▲ ★
NGNG >>42
> つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
> 全国に10万人ぐらいは、いることになるです。
で、これは自分で飛行機を利用した時の、PLT 以上の数の感覚、
例えばラウンジの込みようとか、ビジネスクラスに乗ったときの配膳メニューに
マルP と書いてあるか(見えないようにしているけどたまに見える)とかとも、
だいたい一致している気がするです。
個人的には「廃人は思ったより多いなぁ」という感覚ですね。
というかマイレージプログラムがあるから、廃人が増えるのかもしれないです。
> つまり、だいたい私と同じか、あるいはそれ以上のレベルの廃人は、
> 全国に10万人ぐらいは、いることになるです。
で、これは自分で飛行機を利用した時の、PLT 以上の数の感覚、
例えばラウンジの込みようとか、ビジネスクラスに乗ったときの配膳メニューに
マルP と書いてあるか(見えないようにしているけどたまに見える)とかとも、
だいたい一致している気がするです。
個人的には「廃人は思ったより多いなぁ」という感覚ですね。
というかマイレージプログラムがあるから、廃人が増えるのかもしれないです。
2006/07/26(水) 02:14:43ID:9rtlkJef0
ひろゆきってどのブラウザ使ってるの?
2006/07/26(水) 02:15:06ID:HbnVPe7vO
それやるならついでにプロフィールの背景色連動させて変えようぜ。紺色にしたい
あとそろそろ ? を消して BRZ とかにリンクはらね。
そろそろスレ違いな雰囲気だが
あとそろそろ ? を消して BRZ とかにリンクはらね。
そろそろスレ違いな雰囲気だが
46root▲ ★
NGNG >>45
> あとそろそろ ? を消して BRZ とかにリンクはらね。
> そろそろスレ違いな雰囲気だが
これは、スレ違いじゃないかもですね。
新しい read.cgi では、? をはずしてみるとか。
> あとそろそろ ? を消して BRZ とかにリンクはらね。
> そろそろスレ違いな雰囲気だが
これは、スレ違いじゃないかもですね。
新しい read.cgi では、? をはずしてみるとか。
2006/07/26(水) 02:18:25ID:8Qn/kEiJ0
それはいいが、まずdatの形式を#形式にしてもらえないだろうか。
スレ違い御免。
スレ違い御免。
2006/07/26(水) 02:21:51ID:HbnVPe7vO
あとポイント自分に送れるままにしとくなら
ポイントに必要なch森稼ぐ手段としての証券取引所も活性化が見込める
ポイントに必要なch森稼ぐ手段としての証券取引所も活性化が見込める
49root▲ ★
NGNG で、明日あたりに質雑を読み返して、
出てきた issue を、こっちにまとめておきますか。
このへんから。
今日(もう昨日だけど)は歴史が動いた日で。
質問・雑談スレ231@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775-
すべては、一言の神の啓示から始まったと。
そんなわけで。
出てきた issue を、こっちにまとめておきますか。
このへんから。
今日(もう昨日だけど)は歴史が動いた日で。
質問・雑談スレ231@運用情報板
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775-
すべては、一言の神の啓示から始まったと。
そんなわけで。
2006/07/26(水) 10:57:12ID:YgctB/iu0
AjaxでdatをDLするんでそ?
最新のN件とかはどうするの?毎回DAT丸ごとDL?
最新のN件とかはどうするの?毎回DAT丸ごとDL?
2006/07/26(水) 10:58:48ID:uOoJt+H8P
京ぽんOperaの場合、オフラインでなら動くのあるんだけどね〜。
★h" style/2ch DAT ビューア
ttp://www13.plala.or.jp/airh/filearea/tool/2chdat/index.html
京2だと保存したdatの拡張子が.htmになっちゃうんで、PC使って拡張子.datに直さないとダメ。
★h" style/2ch DAT ビューア
ttp://www13.plala.or.jp/airh/filearea/tool/2chdat/index.html
京2だと保存したdatの拡張子が.htmになっちゃうんで、PC使って拡張子.datに直さないとダメ。
XMLHttpRequest だといろいろ苦しみそうな気がするので,
方針転換して隠しフレームに読み込む形にしてみますた.
たぶん,これで文字化け問題も解決するかと......
それから,先日作った be.js も取り込んで,dat への記録は従来形式
(# の数でランクを示す)のままでも表示段階でマイレージランクに
変換するようにしますた.頭の ? も消えます(ただ,直接 dat に
マイレージランクを記録してる分には対応してません).
で,be.js は index.js と同様に www2 あたりに置いて頂ければ,と......
方針転換して隠しフレームに読み込む形にしてみますた.
たぶん,これで文字化け問題も解決するかと......
それから,先日作った be.js も取り込んで,dat への記録は従来形式
(# の数でランクを示す)のままでも表示段階でマイレージランクに
変換するようにしますた.頭の ? も消えます(ただ,直接 dat に
マイレージランクを記録してる分には対応してません).
で,be.js は index.js と同様に www2 あたりに置いて頂ければ,と......
NGNG
まだばーじょんは書いて無いね
NGNG
あ、opera8.54でも見られるようになった。
だけど、ここ壊れていますが最後に出るよ。
だけど、ここ壊れていますが最後に出るよ。
2006/07/26(水) 13:23:52ID:9rtlkJef0
IEはダイレクトXにfirefoxはextentionからdll呼び出し
とかはダメ?operaは知らないけど・・・
とかはダメ?operaは知らないけど・・・
2006/07/26(水) 13:28:36ID:3WFXWq3i0
全てに対応しようとしないで、対応していないブラウザはいままで通りread.cgiに飛ばすってのがいいんじゃいかと。
半分のアクセスをこれで対応するだけで、負荷的にはかなり下がるんだし。
半分のアクセスをこれで対応するだけで、負荷的にはかなり下がるんだし。
NGNG
Windows 2000 Service Pack 4
IE Version: 6.0.2800.1106
IEからみたら読み込み中のまま。フリーズはしなかった。
セキュリティ設定は中。キャッシュを消して見たけどだめ。
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
IE Version: 6.0.2800.1106
IEからみたら読み込み中のまま。フリーズはしなかった。
セキュリティ設定は中。キャッシュを消して見たけどだめ。
http://sunos.saita.ma/read-js/test/read.cgi/operate/1153615149/
2006/07/26(水) 14:40:09ID:rpYommal0
IE以外のブラウザは無視して可ではないのですか。
どういうユーザ層がどのブラウザを使ってるか考えれば。
どういうユーザ層がどのブラウザを使ってるか考えれば。
2006/07/26(水) 14:45:25ID:HbnVPe7vO
そうだね、プロテインだね
2006/07/26(水) 15:11:36ID:dOdHM1Xl0
read.cgi動かすのとiconvとかnkfとかを動かすコストってどのくらい違うのかな。
ほら、XMLHttpRequestってリクエストヘッダも自由自在に送れたりするじゃん?
ほら、XMLHttpRequestってリクエストヘッダも自由自在に送れたりするじゃん?
隠しフレーム方式の場合,今度は文字コードではなく MIME type がバタつくようで...<IE
text/plain として扱ってくれるといいんですが,text/html と勝手に解釈してくれると
dat 中に含まれるタグのところでテキストがバラされたり \n もすっ飛んだり,
ってのが >>57 のようで......あちら立てればこちら立たず......
text/plain として扱ってくれるといいんですが,text/html と勝手に解釈してくれると
dat 中に含まれるタグのところでテキストがバラされたり \n もすっ飛んだり,
ってのが >>57 のようで......あちら立てればこちら立たず......
2006/07/26(水) 15:48:07ID:aUhdqtnc0
というか、Ajax使うならまず最初にブラウザ判定をきちんとやって、
非対応ブラウザなら別の処理に回すってのが常道かと思うが
非対応ブラウザなら別の処理に回すってのが常道かと思うが
>>62 まぁ現状では,JavaScript 版と CGI 版をそれぞれどんな URL で提供するかとか
そのあたりも決まってないし,そもそも IE での奇妙な挙動の問題を解決しないことには
実際に日の目を見ることもないでしょうから,その解決がまず先決でしょうし......
で,文字コード変換フィルタモジュールってことではこんなのがあったりします......
http://httpd.apache.org/docs/2.2/mod/mod_charset_lite.html
そのあたりも決まってないし,そもそも IE での奇妙な挙動の問題を解決しないことには
実際に日の目を見ることもないでしょうから,その解決がまず先決でしょうし......
で,文字コード変換フィルタモジュールってことではこんなのがあったりします......
http://httpd.apache.org/docs/2.2/mod/mod_charset_lite.html
64stream ◆PNstream2s
2006/07/26(水) 16:38:19ID:XjCWLJKJ0 IEだと「別の処理」すらできないのにブラウザ判定も何もないよ
2006/07/26(水) 17:00:48ID:dOdHM1Xl0
Javascript用のdatディレクトリを用意してmod_charset_liteの設定をする.htaccessを用意して
datは専用ブラウザ用の方へのsymlinkにすると?
datは専用ブラウザ用の方へのsymlinkにすると?
66root▲ ★
2006/07/26(水) 18:13:56ID:???0 やりたいことと、とりうる手段の整理からしようかと。
NGNG
よく見てないので何ですが
datをtext/plainで表示するように.htaccessで設定したものを
アップした後
スクリプト内で
datファイルを読み込んだ直後(70行目あたり?)に
下記のようなタグ書き換えを行う正規表現を置いてみてはどうでしょうか。
var loadDat = loadDat.replace(/</g,"<");
var loadDat = loadDat.replace(/>/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
変化が無ければごめんなさいという事で。
失礼しました
datをtext/plainで表示するように.htaccessで設定したものを
アップした後
スクリプト内で
datファイルを読み込んだ直後(70行目あたり?)に
下記のようなタグ書き換えを行う正規表現を置いてみてはどうでしょうか。
var loadDat = loadDat.replace(/</g,"<");
var loadDat = loadDat.replace(/>/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
変化が無ければごめんなさいという事で。
失礼しました
NGNG
タグが書き換えられている・・
こちらです↓
var loadDat = loadDat.replace(/&lt;/g,"<");
var loadDat = loadDat.replace(/&gt;/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&amp;/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
「&」を半角にして頂ければ。
こちらです↓
var loadDat = loadDat.replace(/&lt;/g,"<");
var loadDat = loadDat.replace(/&gt;/g,">");
var loadDat = loadDat.replace(/<pre>/gi,"");
var loadDat = loadDat.replace(/<\/pre>/gi,"");
var loadDat = loadDat.replace(/&amp;/gi,"&");
var loadDat = loadDat.replace(/<xml>/gi,"");
var loadDat = loadDat.replace(/<\/xml>/gi,"");
「&」を半角にして頂ければ。
70root▲ ★
2006/07/26(水) 18:53:00ID:???0 >>67
まだ、個別の項目にいく時期ではないと思うです。
JavaScript でやるのかどうかも、まだ決まっていないと思っています。
というわけで、整理を。
○今回やりたいこと
2ちゃんねるのサーバの負荷を軽くしたい。
○今回の目標
今回は具体的な事項として、
・掲示板サーバで read.cgi を動かすのをできるだけ少なくする
ことを目標にする。
最終的には全廃をめざすが、read.cgi の起動数を少なくできるなら、それでもよい。
まだ、個別の項目にいく時期ではないと思うです。
JavaScript でやるのかどうかも、まだ決まっていないと思っています。
というわけで、整理を。
○今回やりたいこと
2ちゃんねるのサーバの負荷を軽くしたい。
○今回の目標
今回は具体的な事項として、
・掲示板サーバで read.cgi を動かすのをできるだけ少なくする
ことを目標にする。
最終的には全廃をめざすが、read.cgi の起動数を少なくできるなら、それでもよい。
2006/07/26(水) 19:04:57ID:6gP6+0Mt0
>>70
やりたいこと&目標は
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775
>おいらはブラウザ派なのですな。
>
>javascriptだけで、read.cgiが実現できるんじゃないかと、
>前から思ってるんですが、誰か試してみないすかね。
じゃなかったっけ?
やりたいこと&目標は
http://qb5.2ch.net/test/read.cgi/operate/1153615149/775
>おいらはブラウザ派なのですな。
>
>javascriptだけで、read.cgiが実現できるんじゃないかと、
>前から思ってるんですが、誰か試してみないすかね。
じゃなかったっけ?
2006/07/26(水) 19:07:02ID:zo6Ee0v80
2006/07/26(水) 19:08:22ID:hZZWHB7M0
つまりread.cgiの負担を減らす事かと
2006/07/26(水) 19:09:03ID:+1rXbJLeP
77root▲ ★
NGNG なので、私は >>70 の目的が実現できるのであれば、
別にその手段が JavaScript である必要はかならずしもなくて、
別のものでもいいと思っているです。
JavaScript 以外の候補としては、
・flash
・Java
なども、あると思っています。
で、私としては管理人が「JavaScript 以外のものは使うな。これは私の命令です」
と言わない限り、可能性はより多いほうがいいなと考えています。
つまり、上記に JavaScript も含めたそれぞれの
・メリット
・デメリット
・実現可能性
などなどの要素を総合的に評価したうえで、
目標実現のためにどんな道具を使うのがいいか、決めたいかなと。
別にその手段が JavaScript である必要はかならずしもなくて、
別のものでもいいと思っているです。
JavaScript 以外の候補としては、
・flash
・Java
なども、あると思っています。
で、私としては管理人が「JavaScript 以外のものは使うな。これは私の命令です」
と言わない限り、可能性はより多いほうがいいなと考えています。
つまり、上記に JavaScript も含めたそれぞれの
・メリット
・デメリット
・実現可能性
などなどの要素を総合的に評価したうえで、
目標実現のためにどんな道具を使うのがいいか、決めたいかなと。
2006/07/26(水) 19:34:30ID:ax/3R4o80
だったらActiveXでWebブラウザ上に2chブラウザ再現しちゃえば良いじゃん。IE限定だけど
79root▲ ★
NGNG2006/07/26(水) 19:44:51ID:9rtlkJef0
IETabみたいに、レンダリングエンジンをうまく
ごにょごにょすればfirebirdでも大丈夫だぜ
ごにょごにょすればfirebirdでも大丈夫だぜ
81stream ◆PNstream2s
2006/07/26(水) 19:57:39ID:kXk1e64C02006/07/26(水) 20:10:42ID:kV/VHu8d0
2001年の閉鎖危機の時にもread.cgiをjavascriptで代用するという案があったけど、
当時は互換性うんたらかんたらで却下されました。
当時は互換性うんたらかんたらで却下されました。
83stream ◆PNstream2s
2006/07/26(水) 20:24:33ID:kXk1e64C0 んで、mod_charset_lightでUTF-8に変換してみたけど、うまくいきますね。
ただ、Shift_JIS的におかしなデータがdatファイルに存在すると500 Internalサーバーエラーになるっぽいですね。
ただ、Shift_JIS的におかしなデータがdatファイルに存在すると500 Internalサーバーエラーになるっぽいですね。
84root▲ ★
NGNG >>83
なるほど。
ただこの場合、コード変換の分だけ、サーバは仕事をすることになりますね。
read.cgi 動かすのとどっちが負荷がトータルで低くなるか、が、
重要なポイントの一つなのかな。
あとは、ユーザに影響が出ないように実装できるのか、とか。
いずれにせよ、
> ただ、Shift_JIS的におかしなデータがdatファイルに存在すると
> 500 Internalサーバーエラーになるっぽいですね。
は、ちょっといまいちなのかなと。
なるほど。
ただこの場合、コード変換の分だけ、サーバは仕事をすることになりますね。
read.cgi 動かすのとどっちが負荷がトータルで低くなるか、が、
重要なポイントの一つなのかな。
あとは、ユーザに影響が出ないように実装できるのか、とか。
いずれにせよ、
> ただ、Shift_JIS的におかしなデータがdatファイルに存在すると
> 500 Internalサーバーエラーになるっぽいですね。
は、ちょっといまいちなのかなと。
2006/07/26(水) 21:08:04ID:kV/VHu8d0
IEのデータバインディングを使って、datをcsvとして読み込むという方法もあるのかな。
http://www.microsoft.com/japan/msdn/columns/dude/dude1103.aspx
ここのサンプルなんかはSJISのデータファイルを読み込んでる。
http://himuka.miyazaki-c.ed.jp/db/kyouzai/manual/orienteering2/ogura/sample.htm
http://www.microsoft.com/japan/msdn/columns/dude/dude1103.aspx
ここのサンプルなんかはSJISのデータファイルを読み込んでる。
http://himuka.miyazaki-c.ed.jp/db/kyouzai/manual/orienteering2/ogura/sample.htm
Java アプレットは重い(特に VM 起動時)ですからね......
Flash は Java よりは軽いでしょうけど,(文字列の扱いにもよるのかも
知れませんが)文字化けすることもあって......まぁこちらの環境は少数派でしょうけど.
http://sunos.saita.ma/read-js/test/flash.png
JavaScript はブラウザによって挙動不審になったりとかする部分もあったりするのが
苦労するところですが,それを乗り越えれば一番お手軽ではあるんですよね.
あと,フィルタモジュールの負荷ってことなら,文字コード変換より圧縮,
つまり mod_deflate の方がよほど重いかと.
Flash は Java よりは軽いでしょうけど,(文字列の扱いにもよるのかも
知れませんが)文字化けすることもあって......まぁこちらの環境は少数派でしょうけど.
http://sunos.saita.ma/read-js/test/flash.png
JavaScript はブラウザによって挙動不審になったりとかする部分もあったりするのが
苦労するところですが,それを乗り越えれば一番お手軽ではあるんですよね.
あと,フィルタモジュールの負荷ってことなら,文字コード変換より圧縮,
つまり mod_deflate の方がよほど重いかと.
2006/07/26(水) 21:22:52ID:+1rXbJLeP
ここで空気を読まずにJSP
2006/07/26(水) 21:29:57ID:gpcl/1Jf0
JSPって↓のようなやつだっけ?
<%
for(int i = 0; i < bbs.getLastNum(); i++){
%>
メッセージ:<%= bbs.getMessage() %><br>
<%
}
%>
<%
for(int i = 0; i < bbs.getLastNum(); i++){
%>
メッセージ:<%= bbs.getMessage() %><br>
<%
}
%>
2006/07/26(水) 21:30:19ID:wK/+H917P
Web製作板でJavaScript版
プログラム板でJava Applet版
Flash板でFlash版
を作ればいいんでね?盛り上がりそうw
プログラム板でJava Applet版
Flash板でFlash版
を作ればいいんでね?盛り上がりそうw
2006/07/26(水) 21:36:49ID:8Qn/kEiJ0
SunがMicrosoftのVM潰さなければねぇ。
独自拡張もあったにしろMicrosoftの方が早かったのに。
独自拡張もあったにしろMicrosoftの方が早かったのに。
NGNG
JSPはサーバサイドだからあんま意味なくね?
それとも実はものごっつ軽いとか?
それとも実はものごっつ軽いとか?
2006/07/26(水) 23:03:24ID:RjRvuw4Y0
いや、別にJSPがものごっつ軽いとかは無い。
普通にサーバサイドだし。
普通にサーバサイドだし。
不正なバイトシーケンスを無視して 500 エラーにしないようにするパッチ.
--- httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
+++ httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
@@ -188,6 +188,31 @@
return NULL;
}
+static apr_status_t _xlate_conv_buffer_no_eilseq(apr_xlate_t *convset,
+ const char *inbuf,
+ apr_size_t *inbytes_left,
+ char *outbuf,
+ apr_size_t *outbytes_left)
+{
+ apr_status_t rv;
+
+ while (inbytes_left && outbytes_left) {
+ apr_size_t inbytes = *inbytes_left, outbytes = *outbytes_left;
+
+ if ((rv = apr_xlate_conv_buffer(convset, inbuf, inbytes_left,
+ outbuf, outbytes_left)) != APR_EINVAL) /* EILSEQ */
+ break;
+ if (*inbytes_left)
+ inbuf += inbytes - --(*inbytes_left);
+ if (*outbytes_left)
+ (outbuf += outbytes - --(*outbytes_left))[-1] = '?';
+ }
+
+ return rv != APR_EINVAL ? rv : APR_SUCCESS;
+}
+
+#define apr_xlate_conv_buffer _xlate_conv_buffer_no_eilseq
+
/* find_code_page() is a fixup hook that decides if translation should be
* enabled; if so, it sets up request data for use by the filter registration
* hook so that it knows what to do
--- httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
+++ httpd-2.2.2/modules/filters/mod_charset_lite.c Sat Apr 22 10:53:06 2006
@@ -188,6 +188,31 @@
return NULL;
}
+static apr_status_t _xlate_conv_buffer_no_eilseq(apr_xlate_t *convset,
+ const char *inbuf,
+ apr_size_t *inbytes_left,
+ char *outbuf,
+ apr_size_t *outbytes_left)
+{
+ apr_status_t rv;
+
+ while (inbytes_left && outbytes_left) {
+ apr_size_t inbytes = *inbytes_left, outbytes = *outbytes_left;
+
+ if ((rv = apr_xlate_conv_buffer(convset, inbuf, inbytes_left,
+ outbuf, outbytes_left)) != APR_EINVAL) /* EILSEQ */
+ break;
+ if (*inbytes_left)
+ inbuf += inbytes - --(*inbytes_left);
+ if (*outbytes_left)
+ (outbuf += outbytes - --(*outbytes_left))[-1] = '?';
+ }
+
+ return rv != APR_EINVAL ? rv : APR_SUCCESS;
+}
+
+#define apr_xlate_conv_buffer _xlate_conv_buffer_no_eilseq
+
/* find_code_page() is a fixup hook that decides if translation should be
* enabled; if so, it sets up request data for use by the filter registration
* hook so that it knows what to do
95ゴッド便所 ◆AKQJ10itoI
NGNG 文字コード変換でサーバーにかかる負担はどれくらいなんだ?
2006/07/26(水) 23:33:57ID:9rtlkJef0
文字コード変換もjava scriptで。
97root▲ ★
NGNG2006/07/27(木) 00:17:17ID:tvu0ZHE80
jspは意味無いでしょ・・・
折角、サーバ側で読み出しの負荷を下げようというのに・・・
折角、サーバ側で読み出しの負荷を下げようというのに・・・
99stream ◆PNstream2s
2006/07/27(木) 00:21:06ID:5ofr++i80 >>97
板のディレクトリのところに dat-utf8 とかでdatディレクトリに対しシンボリックリンク作って
そこへのアクセスはmod_charset_liteを使うようにするとか
これだと各サーバーの各板でシンボリックリンクを張る作業しなきゃいけないから大変?
板のディレクトリのところに dat-utf8 とかでdatディレクトリに対しシンボリックリンク作って
そこへのアクセスはmod_charset_liteを使うようにするとか
これだと各サーバーの各板でシンボリックリンクを張る作業しなきゃいけないから大変?
2006/07/27(木) 00:35:54ID:YpMYl/gy0
<ぼそ>スイスアーミーナイフ</ぼそ>
2006/07/27(木) 00:44:39ID:86/KPhLr0
rangeで**バイト以降のデータをリクエストしたら、変換後のバイト数で来るんだよね。
2006/07/27(木) 18:42:21ID:viWF9XEA0
ブラウザによって違う動作といえば、Gecko系のXMLHttpRequestは
同一ホストか同一ドメインに限られていたような。
これは各サーバに入れておけば済む問題だが。
同一ホストか同一ドメインに限られていたような。
これは各サーバに入れておけば済む問題だが。
JavaScript は、結構方言が多いんですかね。
大きく分けると、
・IE 系
・Gecko 系
・Opera 系
・Safari 系
ぐらい?
大きく分けると、
・IE 系
・Gecko 系
・Opera 系
・Safari 系
ぐらい?
2006/07/27(木) 20:26:48ID:mkOYbx750
そこにバージョンの差とかいろいろ
>104
分類すると
・IE−Sun系 MS系
・Gecko−1.5系 2.0系 3.0系
OperaとSufariは使ったことがないので補足ヨロ
分類すると
・IE−Sun系 MS系
・Gecko−1.5系 2.0系 3.0系
OperaとSufariは使ったことがないので補足ヨロ
>106
Gecko間違えて炎狐でやっちゃった
・Gecko−1.8.0系(炎狐1.0.x) 1.8.1系(炎狐2.0) 1.9系(炎狐3.0)
Gecko間違えて炎狐でやっちゃった
・Gecko−1.8.0系(炎狐1.0.x) 1.8.1系(炎狐2.0) 1.9系(炎狐3.0)
2006/07/27(木) 20:37:27ID:E06nA/kZ0
Safariは1.X系と2.X系…か?
2006/07/27(木) 20:45:01ID:/QbR/fVa0
SafariはKHTML系の一部だろ。
他にKonquerorとかある。
他にKonquerorとかある。
Operaって
ttp://www.opera.com/docs/specs/js/
こんなでいいの?
ttp://www.opera.com/docs/specs/js/
こんなでいいの?
>>102 そうなります......と言いたいところですが,基本的に chunked 転送となって
Range は効かないかと.もっとも,Range を効かせた場合は mod_deflate で
圧縮するわけにはいかない(Range 指定しても圧縮後の内容に対して
Range が効いてしまうため)とか,キャッシュと Range の相性もよろしくない
ってことで,果たしていいのか悪いのか......
なお,前のパッチ以外にも修正した方がいい点があったので,パッチ更新版を.
http://sunos.saita.ma/read-js/test/mod_charset_lite.patch
ちなみに,httpd.conf の設定はこんな感じかな.
AliasMatch ^/(\w+)/dat-utf8/(\d+\.dat)$ /home/ch2xxx/public_html/$1/dat/$2
<Location /*/dat-utf8/*.dat>
SetOutputFilter XLATEOUT
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
Alias /test/bbs-utf8.cgi /home/ch2xxx/public_html/test/bbs.cgi
<Location /test/bbs-utf8.cgi>
SetInputFilter XLATEIN
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
Range は効かないかと.もっとも,Range を効かせた場合は mod_deflate で
圧縮するわけにはいかない(Range 指定しても圧縮後の内容に対して
Range が効いてしまうため)とか,キャッシュと Range の相性もよろしくない
ってことで,果たしていいのか悪いのか......
なお,前のパッチ以外にも修正した方がいい点があったので,パッチ更新版を.
http://sunos.saita.ma/read-js/test/mod_charset_lite.patch
ちなみに,httpd.conf の設定はこんな感じかな.
AliasMatch ^/(\w+)/dat-utf8/(\d+\.dat)$ /home/ch2xxx/public_html/$1/dat/$2
<Location /*/dat-utf8/*.dat>
SetOutputFilter XLATEOUT
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
Alias /test/bbs-utf8.cgi /home/ch2xxx/public_html/test/bbs.cgi
<Location /test/bbs-utf8.cgi>
SetInputFilter XLATEIN
CharsetSourceEnc CP932
CharsetDefault UTF-8
</Location>
>>111 かもですね.ただ...... sunos.saita.ma で見ている限りでは,
mod_charset_lite で必要な APR-Util 中の apr_xlate_*() の関数群が
FreeBSD だと普通にビルドすると APR_NOTIMPL になっちゃうかも知れない
っぽいんで,ビルド時に細工してやらないとならないのかも......?
mod_charset_lite で必要な APR-Util 中の apr_xlate_*() の関数群が
FreeBSD だと普通にビルドすると APR_NOTIMPL になっちゃうかも知れない
っぽいんで,ビルド時に細工してやらないとならないのかも......?
2006/07/27(木) 23:06:38ID:qm7/fCsY0
>>107
1.0 1.5 2.0?
1.0 1.5 2.0?
116tato
2006/07/28(金) 00:17:25ID:+swShs5T0 この「CGIの夢を見るか 」スレから ここ↓「Ajaxでも語りませんか3」スレへ来られた方が
http://pc8.2ch.net/test/read.cgi/php/1147750917/
こんな質問↓をされているのですが、
http://pc8.2ch.net/test/read.cgi/php/1147750917/334
>IE6だと、最初のリクエストだとOK・・・・・・304 Not Modified が返ってくると・・・・・UTF-8と解釈して文字化け
この現象を確認できるページはどこかにあるでしょうか?
普通に考えると、304で表示されるのはキャッシュのはずですから、それが最初OKだったsjisではなく、UTF-8に解釈されてしまうとしたら、
個々のブラウザのローカルなエンコード設定の問題なような気もするのですが、何はともあれ、その現象がどこでも再現するのかを確かめたいと思いまして、、、。
http://pc8.2ch.net/test/read.cgi/php/1147750917/
こんな質問↓をされているのですが、
http://pc8.2ch.net/test/read.cgi/php/1147750917/334
>IE6だと、最初のリクエストだとOK・・・・・・304 Not Modified が返ってくると・・・・・UTF-8と解釈して文字化け
この現象を確認できるページはどこかにあるでしょうか?
普通に考えると、304で表示されるのはキャッシュのはずですから、それが最初OKだったsjisではなく、UTF-8に解釈されてしまうとしたら、
個々のブラウザのローカルなエンコード設定の問題なような気もするのですが、何はともあれ、その現象がどこでも再現するのかを確かめたいと思いまして、、、。
>>103-107
参考になるのかな?
http://www.mozilla-japan.org/docs/web-developer/sniffer/browser_type_oo.html
#Firefox は使い始めたばかりで、Mozilla(Gekko)、Firefox のバージョンの区別が…
参考になるのかな?
http://www.mozilla-japan.org/docs/web-developer/sniffer/browser_type_oo.html
#Firefox は使い始めたばかりで、Mozilla(Gekko)、Firefox のバージョンの区別が…
118stream ◆PNstream2s
2006/07/28(金) 00:37:36ID:azD6ToFp02006/07/28(金) 00:41:08ID:lDXvnfU00
一瞬CPUファンがすごく回転した。コワス・・・
とりあえず,UTF-8 の dat を取得する形で XMLHttpRequest 利用に戻しておいた.
ただ,sunos.saita.ma は共用サーバにつき自分で mod_charset_lite を組み込んだり
できないんで,UTF-8 に変換済みの dat を置いて代用......
http://sunos.saita.ma/read-js/operate/dat-utf8/
ただ,sunos.saita.ma は共用サーバにつき自分で mod_charset_lite を組み込んだり
できないんで,UTF-8 に変換済みの dat を置いて代用......
http://sunos.saita.ma/read-js/operate/dat-utf8/
2006/07/28(金) 01:48:01ID:r+F+KIBY0
む、500になる。
122tato
2006/07/28(金) 02:00:54ID:+swShs5T0 キャッシュの再読み込み時に文字コード判定をUTF-8にしているようですね。
もし、キャッシュを無視する下記のような方法だとどうなるでしょうか?キャッシュは使えなくなりますが。。。
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat?"+(new Data()).getTime(),false);
#ところで、asyncがfalseのわけは?
もし、キャッシュを無視する下記のような方法だとどうなるでしょうか?キャッシュは使えなくなりますが。。。
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat?"+(new Data()).getTime(),false);
#ところで、asyncがfalseのわけは?
あ...... sunos.saita.ma には mod_headers が入ってなかったんだ......
2006/07/28(金) 03:16:41ID:636jpKTQP
JavaScript重すぎ。
http://pc8.2ch.net/test/read.cgi/php/1147750917/337の案って
<?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
動け動けウゴウゴ2ちゃんねる<><>03/08/31 03:53 ID:xo367wqv<> 踏むとスレ立てしたり投稿したりするスクリプトにつて <br> 情報を集めたり対策したりするスレです。 <>■ スレ立て・投稿スクリプト対策
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:53 ID:Xj/IL/tw<> ( ゚д゚)ポカーン <>
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:59 ID:xo367wqv<> http://okazu.bbspink.com/test/read.cgi/ascii/1062203672/13- <>
(略)
]]></response>
っていうはったりXMLをサーバーが用意。
※CDATAは、 ]]> だけが使えない。セクションの終りになっちゃうから。
文字コードの変換は行わないで、
><?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
と、
>]]></response>
で、はさむだけだから負荷はそんなにない感じ?
JavaScript側は
httpReq.responseText
を
httpReq.responseXML.documentElement.text
に変更するだけ。
って感じかな。誰かできる人試してくれ。
上手く行ったらBeをふりこんで置くように
<?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
動け動けウゴウゴ2ちゃんねる<><>03/08/31 03:53 ID:xo367wqv<> 踏むとスレ立てしたり投稿したりするスクリプトにつて <br> 情報を集めたり対策したりするスレです。 <>■ スレ立て・投稿スクリプト対策
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:53 ID:Xj/IL/tw<> ( ゚д゚)ポカーン <>
動け動けウゴウゴ2ちゃんねる<>sage<>03/08/31 03:59 ID:xo367wqv<> http://okazu.bbspink.com/test/read.cgi/ascii/1062203672/13- <>
(略)
]]></response>
っていうはったりXMLをサーバーが用意。
※CDATAは、 ]]> だけが使えない。セクションの終りになっちゃうから。
文字コードの変換は行わないで、
><?xml version="1.0" encoding="Shift_JIS"?><response><![CDATA[
と、
>]]></response>
で、はさむだけだから負荷はそんなにない感じ?
JavaScript側は
httpReq.responseText
を
httpReq.responseXML.documentElement.text
に変更するだけ。
って感じかな。誰かできる人試してくれ。
上手く行ったらBeをふりこんで置くように
2006/07/28(金) 07:18:47ID:E5cyDbY60
今のread.cgiの出力を単純にこうするだけでもけっこう軽くなるでしょうか?
<form name="datForm">
<textarea style="display:none;" name="namaDat">
(ここにdatをそのまま出力)
</textarea>
</form>
<script src="lib.js"></script>
<script>
showThread(document.datForm.namaDat.value,1,1000);
</script>
<form name="datForm">
<textarea style="display:none;" name="namaDat">
(ここにdatをそのまま出力)
</textarea>
</form>
<script src="lib.js"></script>
<script>
showThread(document.datForm.namaDat.value,1,1000);
</script>
127tato
2006/07/28(金) 09:46:52ID:chE9END/0 今日、別のマシンのIE6で見たらリロードしても文字化けしていませんでした。もしかしてサーバー側で何か変りましたか?
ところで、
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
この部分ですが、このままですと着信待たずにresponseText要求して失敗する可能性が高いので、たとえば、
httpReq.onreadystatechange =function () {
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
}
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
オーソドックスにこんな方が良いのではないかと思います。
ところで、
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
この部分ですが、このままですと着信待たずにresponseText要求して失敗する可能性が高いので、たとえば、
httpReq.onreadystatechange =function () {
texts = httpReq.status == 200 ? httpReq.responseText.split("\n") : ["[エラー]<><>[エラー]<>[" + httpReq.statusText + "]<>[エラー]", null];
}
httpReq.open("GET", urlPrefix + "../" + paths[1] + "/dat/" + paths[2] + ".dat", false);
httpReq.send(null);
オーソドックスにこんな方が良いのではないかと思います。
128tato
2006/07/28(金) 10:13:47ID:chE9END/0 >>125 は、たぶん良い方法だと思います。が、
httpReq.responseXML.documentElement.text がおそらくOperaやFirefoxで動作しない気もしますので
普通に、
var xmlDoc = oj.responseXML
var nodes = xmlDoc.getElementsByTagName("response")[0].firstChild.nodeValue
などで取り出すのが良いかも。
httpReq.responseXML.documentElement.text がおそらくOperaやFirefoxで動作しない気もしますので
普通に、
var xmlDoc = oj.responseXML
var nodes = xmlDoc.getElementsByTagName("response")[0].firstChild.nodeValue
などで取り出すのが良いかも。
>>125 それって,SSI 使えば結構簡単にできそう......と思ったけど,
SSI は普通にやると Last-Mod を吐かない,XBitHack 使って吐くようにしても
それはインクルードした dat の mtime ではなく外側の xml の mtime になってしまう,
ってことで,やるとしたら read.cgi のように DSO で dat を取り込んでそんな感じに
出力するってことになるかな.
てか,そもそも負荷軽減が目的でそういうことやるなら,現行の read.cgi にムダがないか
見直すのが先決という気も.read.cgi を介さず dat を直接返せば軽くなると言われてるけど,
mod_deflate 使わずに sendfile() で一気に送出するならともかく,実際は gzip 圧縮かけてますよね.
圧縮処理自体,文字コード変換や HTML 整形処理などと比べても結構重いはずです.
それにもまして read.cgi が重いとすれば,現状の read.cgi にムダがあることの現れではないかと.
現状では Last-Mod 吐いてないからキャッシュが効かないとか,(サブリクエストを使わなければならない
雪だるま鯖では仕方ないとして)mmap() 使わずにバッファに dat を読み込んでるとか,
その他 HTML 整形処理などももっと軽量化する余地がないかとか,そういうあたりのことを......
あと,read.cgi 出力に mod_cache かましたらどうか,ってのもあるか.
そうしたことを考えれば,JavaScript 版を作るのは負荷対策というより
「こういうこともできるのか」という技術的好奇心の側面の方が強いという気がします.
SSI は普通にやると Last-Mod を吐かない,XBitHack 使って吐くようにしても
それはインクルードした dat の mtime ではなく外側の xml の mtime になってしまう,
ってことで,やるとしたら read.cgi のように DSO で dat を取り込んでそんな感じに
出力するってことになるかな.
てか,そもそも負荷軽減が目的でそういうことやるなら,現行の read.cgi にムダがないか
見直すのが先決という気も.read.cgi を介さず dat を直接返せば軽くなると言われてるけど,
mod_deflate 使わずに sendfile() で一気に送出するならともかく,実際は gzip 圧縮かけてますよね.
圧縮処理自体,文字コード変換や HTML 整形処理などと比べても結構重いはずです.
それにもまして read.cgi が重いとすれば,現状の read.cgi にムダがあることの現れではないかと.
現状では Last-Mod 吐いてないからキャッシュが効かないとか,(サブリクエストを使わなければならない
雪だるま鯖では仕方ないとして)mmap() 使わずにバッファに dat を読み込んでるとか,
その他 HTML 整形処理などももっと軽量化する余地がないかとか,そういうあたりのことを......
あと,read.cgi 出力に mod_cache かましたらどうか,ってのもあるか.
そうしたことを考えれば,JavaScript 版を作るのは負荷対策というより
「こういうこともできるのか」という技術的好奇心の側面の方が強いという気がします.
>>127 >>118 のは最初に作った旧版で synchronous にデータを取得するため
onreadystatechange() を使ってませんでしたが,今の
http://sunos.saita.ma/read-js/test/read.html は
asynchrous にデータを取得するので使ってます.
onreadystatechange() を使ってませんでしたが,今の
http://sunos.saita.ma/read-js/test/read.html は
asynchrous にデータを取得するので使ってます.
2006/07/28(金) 11:13:30ID:YlQHVubn0
>>129
> そうしたことを考えれば,JavaScript 版を作るのは負荷対策というより
> 「こういうこともできるのか」という技術的好奇心の側面の方が強いという気がします.
どこまでカリカリにチューニングしたって JavaScript を利用すれば結局
サーバ側の整形処理そのものを省略できるんだから負荷対策にはなるんじゃない。
> そうしたことを考えれば,JavaScript 版を作るのは負荷対策というより
> 「こういうこともできるのか」という技術的好奇心の側面の方が強いという気がします.
どこまでカリカリにチューニングしたって JavaScript を利用すれば結局
サーバ側の整形処理そのものを省略できるんだから負荷対策にはなるんじゃない。
133tato
2006/07/28(金) 11:24:05ID:chE9END/0 >>130 了解しました。
>>131 ちなみに、今日使っているマシンは(IE6.0.2900.2180.xpsp sp2 gdr.050301-1519)はリロードしても文字化けしていません。キャッシュの設定はいろいろ試しましたが文字化けしません。
http://sunos.saita.ma/read-js/test/read.html
はEUCなんですね。
あと、サーバー自身がtext/plain;charset=xxxを吐き出していないような気がするのですがどうなのでしょう?
>>131 ちなみに、今日使っているマシンは(IE6.0.2900.2180.xpsp sp2 gdr.050301-1519)はリロードしても文字化けしていません。キャッシュの設定はいろいろ試しましたが文字化けしません。
http://sunos.saita.ma/read-js/test/read.html
はEUCなんですね。
あと、サーバー自身がtext/plain;charset=xxxを吐き出していないような気がするのですがどうなのでしょう?
>>132 その主張は一面では正しいと思います.ただ,PATH_INFO であれ QUERY_STRING であれ
URL で板・スレを指定する限りにおいてはムダなリクエストが増えるという側面もあります.
ページをロードするたびに read.html と *.dat をそれぞれロードするというのはもちろんですが,
別の板やスレを表示する場合 read.html そのものは変化しないにもかかわらず
ブラウザから見ると別のドキュメントとして新たに取得し直してしまいます.
例えば
/test/read.html/operate/1000000000/ と /test/read.html/operate/1000000001/
/test/read.html?bbs=operate&key=1000000000 と /test/read.html?bbs=operate&key=1000000001
どの場合でも read.html 自体は変化しないのですが,ブラウザから見ると
すべて別個のドキュメントとしてそれぞれに read.html をロードし直してしまうのです.
もちろん,それぞれのページ内でさらに *.dat を取得します.
そうした余分なリクエスト増加も勘案すれば,read.cgi をリファインした場合と比較して
果たしてどうなのか,というのも要考慮かと......
>>133 現状のはとりあえず UTF-8 前提になってるので charset 指定を外してます.
URL で板・スレを指定する限りにおいてはムダなリクエストが増えるという側面もあります.
ページをロードするたびに read.html と *.dat をそれぞれロードするというのはもちろんですが,
別の板やスレを表示する場合 read.html そのものは変化しないにもかかわらず
ブラウザから見ると別のドキュメントとして新たに取得し直してしまいます.
例えば
/test/read.html/operate/1000000000/ と /test/read.html/operate/1000000001/
/test/read.html?bbs=operate&key=1000000000 と /test/read.html?bbs=operate&key=1000000001
どの場合でも read.html 自体は変化しないのですが,ブラウザから見ると
すべて別個のドキュメントとしてそれぞれに read.html をロードし直してしまうのです.
もちろん,それぞれのページ内でさらに *.dat を取得します.
そうした余分なリクエスト増加も勘案すれば,read.cgi をリファインした場合と比較して
果たしてどうなのか,というのも要考慮かと......
>>133 現状のはとりあえず UTF-8 前提になってるので charset 指定を外してます.
135tato
2006/07/28(金) 11:50:21ID:chE9END/0 今日使っている文字化けしないマシンを調べたら、どこの設定をいじっているのかは不明ですが、キャッシュが残らないようになっています。
つまり、毎回読みにいっているわけですけれど、少なくとも、このShift_JISの文字化けは、
キャッシュさえ読まなければ解決する可能性が高い気がします。
キャッシュのせいで、文字化けしたり、キャッシュが効きすぎて書き換わらないなどのトラブルが起きるよりも、毎回読みに行くとしても
no-cacheなどのほうが良いかも?という意味では、
<meta http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
を書いたり、url+"?"+(new Date()).getTime()でキャッシュを無視したりする方がよいかもしれません。
つまり、毎回読みにいっているわけですけれど、少なくとも、このShift_JISの文字化けは、
キャッシュさえ読まなければ解決する可能性が高い気がします。
キャッシュのせいで、文字化けしたり、キャッシュが効きすぎて書き換わらないなどのトラブルが起きるよりも、毎回読みに行くとしても
no-cacheなどのほうが良いかも?という意味では、
<meta http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
を書いたり、url+"?"+(new Date()).getTime()でキャッシュを無視したりする方がよいかもしれません。
2006/07/28(金) 11:52:56ID:YlQHVubn0
>>134
全部同じ HTML でいいんだから1画面フレームで表示、てのもできるけど、そうでなくても
<script type="text/javascript" src="****.js"></script>
と指定すればこのファイルはキャッシュされるよ。
> それぞれのページ内でさらに *.dat を取得します.
これは多分、read.cgi も同じでしょう。
Ajax スレの方に書いたけど、plain.cgi とか使えば最新 50 もできるよね。
全部同じ HTML でいいんだから1画面フレームで表示、てのもできるけど、そうでなくても
<script type="text/javascript" src="****.js"></script>
と指定すればこのファイルはキャッシュされるよ。
> それぞれのページ内でさらに *.dat を取得します.
これは多分、read.cgi も同じでしょう。
Ajax スレの方に書いたけど、plain.cgi とか使えば最新 50 もできるよね。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】源田壮亮が妻・衛藤美彩に〝決別LINE〟送信か「あとは弁護士と話してほしい」 [ネギうどん★]
- 【速報】小池都知事の資産公開、預貯金「0円」 [香味焙煎★]
- 出生数が過去最低を更新 子どもはほしいのに金銭問題がネック 抜け出せない"少子化の罠" [首都圏の虎★]
- 出生数が過去最低を更新 子どもはほしいのに金銭問題がネック 抜け出せない"少子化の罠" ★2 [首都圏の虎★]
- 選択的夫婦別姓の導入に「高齢の親世代」も懸念 「孫の幸せ」「先祖代々の土地やお墓」「お葬式や法事」「介護」などを心配 [煮卵★]
- ダウンタウン、とんねるずは“持っていなかった”。“いま売れている芸人”が持っている「令和の視聴者が求める要素」とは [ネギうどん★]
- 【速報】石破総理「東京一極集中をやめます。まず私たちから省庁を地方移転、大企業も地方移転させます」百合子大発狂へw [732289945]
- 昔はビデオテープやカセットテープの裏側の2つの穴に指入れて遊んでたよな
- 【速報】石破総理「東京一極集中をやめる。まずは省庁と大企業を地方移転させる」
- 公園で女子小学生から「どけハゲ」って言われたんだが
- ( ・᷄ὢ・᷅ )心療内科から帰ってきたんやが
- 【画像】キャベツ🥬の値段、限界突破wwwwwwwwwwwwwwwwwwwwwwwww