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

read.cgi改良スレッド

243 :Perler ◆GSi39OA6 :01/08/29 15:45 ID:qGdmeavk
>>241
.htaccess前提に話を進めると、また後で使えないと分かって開発が
振り出しに戻る可能性があるので、最初から「出来ない」ものとして
開発したほうが良いと思います。

mod_gzip導入も、週末って話が随分と難航してますしね。。。

244 :デフォルトの名無しさん :01/08/29 15:49 ID:qGdmeavk
で、「出来ない」場合ですが、index2.htmlに、

<HTML><HEAD>
<META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/index2.cgi">
</HEAD><BODY>
<A HREF="http://xx.2ch.net/xxxx/index2.cgi">クリック</A>
</BODY></HTML>

とか書いておいて、強制的にindex2.cgiにリダイレクトするようにすればよいかと。

datの方は、dat.cgiを作って定数を書き換えて、

http://xx.2ch.net/xxxx/dat.cgi/xxxxxxxx.dat

に飛ばすしかないんじゃないですかね。

245 :名無し娘。 ◆vP.bOZFQ :01/08/29 15:51 ID:xeUGWGbY
>>243
参考程度ですが、
http://www.he.net/~jdoe/info/htaccess/demo.html
の一番下、
http://www.he.net/~jdoe/info/htaccess/htaccess2.txt
ってことらしいですから、おとなしく堅実に進めておいた方がよさそう。

246 :デフォルトの名無しさん :01/08/29 15:51 ID:C22Ccgng
425 名前:切込隊長 ★ 投稿日:01/08/29 15:37 ID:Ml041Ak2
まあ、いずれにしても、2ちゃんねるも今月いっぱいで終了。
他に楽しみのない人は、今から趣味を作っておくように(藁

http://kaba.2ch.net/test/read.cgi?bbs=news&key=998763667

247 :音楽侍 ◆NtVkSITE :01/08/29 15:55 ID:j/vYHKaU
というわけで、index2.html最適化、というか転送効率化についてはこの板がいいでしょう。
批判要望に立てると>>246
みたいのに埋められちゃいますので。

248 :デフォルトの名無しさん :01/08/29 15:57 ID:/559R/A6
今の所 index2.html は圧縮されてないけど index2.htm は圧縮されてるわけで
cgiを使ってもこれを自動でするだけの効果しかありませんよね?

cgiを無理に導入しても PROXYを使ってる人や無形キャッシュが効かない
場合が増えるだけのような気がするんですが?

249 :音楽侍 ◆NtVkSITE :01/08/29 15:59 ID:j/vYHKaU
名無し娘。さんスレ立てられますでしょうか?
変わりに立てましょうか?

250 :名無し娘。 ◆vP.bOZFQ :01/08/29 16:03 ID:xeUGWGbY
>>249
あ、この板に立てるんですね。
少々お待ち下さい。。。

251 :名無し娘。 ◆vP.bOZFQ :01/08/29 16:07 ID:xeUGWGbY
>>248
圧縮対応のブラウザには圧縮で送り、そうでないブラウザには非圧縮で送る、と。
今は、圧縮対応の人も、ほとんど.htmlの方を見ちゃっていると思いますので、
効果は大きいかと。
>>249-250
read.cgiだけでいきますか?
subback.html も考えるなら、汎用型の .htm .html 振り分けプログラム
ということにしましょうか。

252 :音楽侍 ◆NtVkSITE :01/08/29 16:10 ID:j/vYHKaU
index&subbackでいいんでないでしょうか?

253 :名無し娘。 ◆vP.bOZFQ :01/08/29 16:12 ID:xeUGWGbY
>>252
bbsmenu.html とか(^^;
ま、元々がほとんど汎用型CGIみたいなもんですから、大きな違いはないでしょうね。
あとちょっとでスレ立ちます。

254 :デフォルトの名無しさん :01/08/29 16:16 ID:mpzRuOK2
index2.cgiのperl版。即席ですが、
http://www.xuhertex.f2s.com/index2.txt

255 :名無し娘。 ◆vP.bOZFQ :01/08/29 16:18 ID:xeUGWGbY
なんとなく、スレ立てるまでもないような気がしてきた(^^;

256 :音楽侍 ◆NtVkSITE :01/08/29 16:26 ID:j/vYHKaU
DolBackyさん誘致スレじゃないんですか?(笑)

257 :- :01/08/29 16:32 ID:7PMZ2b7Y
転送量(料)の増加で2ch閉鎖の危機!9

184 名前:名無しさんの声 投稿日:01/08/29 16:21 ID:ujEJUwOI
>>154
http://teri.2ch.net/accuse/index2.htmだけど、
マクのIE5だとメタボロだ。文字化けしたタグの残骸がこぼれ落ちて
くるだけ。NC4.7ではちゃんと表示されるが……。

マカーでIE5って全体の何%くらいだろうか。

--
マックに詳しいかた・・・

258 :デフォルトの名無しさん :01/08/29 16:38 ID:iIYcB4L.
mod_negotiationを使うとVary:ヘッダが入るので事実上Last-Modified
が効かなくなるという問題があります。

259 :名無し娘。 ◆vP.bOZFQ :01/08/29 16:47 ID:xeUGWGbY
>>254
-my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time);
+my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(stat($fname));
に思えるのですが、、、勘違いでしょうか。

260 :名無し娘。 ◆vP.bOZFQ :01/08/29 16:50 ID:xeUGWGbY
>>259
...ごめん、かなりいい加減だった。
statが返す形式覚えてない。。。

261 :Perler ◆GSi39OA6 :01/08/29 16:51 ID:qGdmeavk
>>254
バグが複数あったので、修正して、ソースを読みやすく(主観かも)
したものを上げておきました。
chunkedになる問題も回避してあります。

ftp://210.170.170.118/incoming/perler/index2.cgi

262 :Perler ◆GSi39OA6 :01/08/29 16:52 ID:qGdmeavk
>>260
>>261で直しました。最終更新時は、(stat($fname))[9]です。

263 :Perler ◆GSi39OA6 :01/08/29 16:57 ID:qGdmeavk
バグ埋め込んでました。

ftp://210.170.170.118/incoming/perler/index2.cgi.1

が最新。

264 :♯6411 :01/08/29 17:00 ID:rpOycX/Y
夜組のみなさん、index組のみなさん
おつかれさます。
お待たせしました。
PATH_INFO対応がほぼ完了しました。
/read.cgi/tech/99899784/?ls=10
のように使える。
出力されるソースの可愛さをほめてあげてくれ♪

そろそろindex組に参戦しようかな(藁

265 :名無し娘。 ◆vP.bOZFQ :01/08/29 17:03 ID:xeUGWGbY
実効性の程はよくわかりませんが、read.c でいう
if (zz_http_encoding && strstr(zz_http_encoding, "x-gzip")) {
gzip_flag = 1;
pPrintf(pStdout, "Content-Encoding: x-gzip\n");
}
の部分はどうしましょう。
if($http_encoding =~ /x-gzip/){
$gzip_flag = 1;
$fname = $GZIPED_HTML;
print "Content-Encoding: x-gzip\n";
}elsif($http_encoding =~ /gzip/){
$gzip_flag = 1;
$fname = $GZIPED_HTML;
print "Content-Encoding: gzip\n";
}else
となるでしょうか。

266 :Perler ◆GSi39OA6 :01/08/29 17:03 ID:qGdmeavk
ついでに&MAIL問題もなんとかなりませんかね?
&を&に変換するだけなんでHTML4.01的にも問題ないはずですが、
余計なバグ埋め込む事になっちゃうでしょうか?

267 :名無しさん@揚げ足 :01/08/29 17:04 ID:lTYEA056
>>263
error関数の投稿日は実時間を埋め込むんでは?

268 :名無し娘。 ◆vP.bOZFQ :01/08/29 17:13 ID:xeUGWGbY
>>256
>1 に書くべききっちりした文面がかたまりません。
・bbs.cgiが出力するファイル名index2.htm[l]をindex3.htm[l]あたりにする
・復帰スクリプトが出力するファイル名も、同様に変える
・index2.htm[l]はmetaでindex2.cgiにとばす
・index2.cgiからindex2.htm[l]を吐き出す(これはindex2.cgiリリース時にこっちでやる)
・subback.htmlやbbsmenu.htmlもやるときは、その手順
で、漏れはないでしょうか。。。皆さんのご意見をお待ちします。
>>266
名前欄の&だけは&に変換すると。。。
&MAILが"楽しい"か"楽しくないか"の問題かも(笑

269 :Perler ◆GSi39OA6 :01/08/29 17:16 ID:qGdmeavk
>>266
あーそのまま保存されちまった。当然か。&を&amp;に変換、ね。

>>268
この状況だと、害悪にはなっても娯楽にはならないんじゃないかと。。。
実際変なデマが(このスレにまでも)飛んでるし。

で、リロードを10秒おきに制限する機能を組み込みました。

ftp://210.170.170.118/incoming/perler/index2.cgi.2

です。

270 :デフォルトの名無しさん :01/08/29 17:33 ID:iIYcB4L.
>>269
&の置換までするのはやりすぎと思われ…
どのみちindex2.htmlには手が出せないし。

271 :bzip2 :01/08/29 17:34 ID:iU.Fd0UU
--------------------------------------------------
#!/bin/sh

echo 'Content-Type: text/html
Content-Encoding: bzip2
'
/usr/bin/bzip2 -c hoge.html
--------------------------------------------------
なんていうCGIを使ってちょっと実験してみました
IEやネスケは案の定ちゃんと表示できませんでしたが
Lynx2.8.4rel.1aは何も手を加えずにそのまま見られてしまいました
"Content-Encoding: x-bzip2"でもOKでした

ただ 元のままのLynxでは"Accept-Encoding"にbzip2が入っていないので
--------------------------------------------------
--- lynx2.8.4rel.1a/WWW/Library/Implementation/HTTP.c.org Sun Jul 15 11:06:16 2001
+++ lynx2.8.4rel.1a/WWW/Library/Implementation/HTTP.c   Wed Aug 29 17:12:35 2001
@@ -675,8 +675,8 @@
   first_Accept = FALSE;
   len = 0;

-   HTSprintf(&command, "Accept-Encoding: %s, %s%c%c",
-          "gzip", "compress", CR, LF);
+   HTSprintf(&command, "Accept-Encoding: %s, %s, %s%c%c",
+          "bzip2", "gzip", "compress", CR, LF);

   if (language && *language) {
     HTSprintf(&command, "Accept-Language: %s%c%c", language, CR, LF);
--------------------------------------------------
っていう変更をしてやればOKかな?

# しかし"Accept-Encoding"がハードコーディングになっていたとは......

272 :191 :01/08/29 17:36 ID:THYp8YGg
>>269
index.2.cgi みたけど、
・&error って、Content-Encoding: gzip が出たあと平文で出ることがある
もっと error checkを早く、headerだすまえにやるべき
・最初の statのあとの -s $fname とかは -s _ の方が軽いと思われ
・gzippedなやつが "index?.htm" っていう命名規則は変えられない?
やはり素直に index2.html.gz とかのほうが分かりやすくていいと思う

273 :デフォルトの名無しさん :01/08/29 17:44 ID:NuzxCJ3M
>>269 # index2.cgi.2

Location もしくは refresh タグでふり分けるだけじゃ駄目なんすかね。

274 :名無し娘。 ◆vP.bOZFQ :01/08/29 17:50 ID:xeUGWGbY
>>268
<index2>
・bbs.cgiをとめる
・mv index2.htm index3.htm; mv index2.html index3.html;
・bbs.cgiが出力するファイル名 index2.htm[l] を index3.htm[l] にする
・復帰スクリプトが出力するファイル名も、同様に変える
・index2.htm[l]は >>244 のように記述する
・index2.cgi の $GZIPED_HTML $PLAIN_HTML を指定する
<subback>
・bbs.cgi をとめる
・mv subback.html subback2.html;
・bbs.cgi が出力するファイル名 subback.html を subback2.html にする
・bbs.cgi が subback2.htm(gzip圧縮) を作るようにする
・復帰スクリプトが出力するファイル名も、同様に変える
・subback.htmlは >>244 のように記述する
・subback.cgi の $GZIPED_HTML $PLAIN_HTML を指定する
<bbsmenu.html/bbstable.html>
・mv bbsmenu.html bbsmenu2.html; mv bbstable.html bbstable2.html
・それぞれを gzip 圧縮したファイルを作る
・bbs[menu/table].html は >>244 のように記述する
・bbs[menu/table].cgi の $GZIPED_HTML $PLAIN_HTML を指定する

275 :aborn ◆OonrVZq6 :01/08/29 17:52 ID:1pRiIT.2
>>257
MacのIEはgzipに対応してません。

276 :名無しさん@揚げ足 :01/08/29 17:56 ID:lTYEA056
index.htmを圧縮サイズで比較すると、限界ぎりぎりサイズのレスで荒らされるので
サイズは常にindex2.htmlを対象ということでどうでしょう?

-if(-s $fname > $MAX_FILESIZE){&error("このindex2.htm大きすぎます。")}
+if(-s $PLAIN_HTML > $MAX_FILESIZE){&error("このindex2.htm大きすぎます。")}

277 :- :01/08/29 18:03 ID:7PMZ2b7Y
>275
そうでしたか。じゃ、index2.cgi が Accept-Encoding: を認識すれば平気ですね
# read.cgi でも gzip 化けが起きてるのかと勘違いしたす

278 :aborn ◆OonrVZq6 :01/08/29 18:06 ID:1pRiIT.2
>>277
一応、MacのIEは対応もしてないAccept-Encodingにgzipを入れるほどヴァカではないですので、大丈夫だと思いますが、
串なんか使ってるところで、串がgzipエンコードされたデータをキャッシュしてたりするとダメですね。

# って、Pragma: no-cache吐いてないけど大丈夫なんだろうか

279 :デフォルトの名無しさん :01/08/29 18:10 ID:iU.Fd0UU
>>278 "Pragma: no-cache"しちゃったらひょっとして"Last-Modified"の
効果がなくなっちゃったりしない? 記憶が確かじゃないけどProxy向けの
制御用ヘッダがあったような......

280 :aborn ◆OonrVZq6 :01/08/29 18:15 ID:1pRiIT.2
>>279
あれ?そうでしたっけ…調べてみます。
試したところ一応効果はなくなってないみたいですが…

281 :名無し娘。 ◆vP.bOZFQ :01/08/29 18:22 ID:xeUGWGbY
>>265 index2.cgi.1
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=998736516&st=768&to=768&nofirst=true
ブラウザ側は x-gzip と gzip を等価とみなすべきですが、サーバー側は
この2つを区別しておいた方がよさそうです。

282 :aborn ◆OonrVZq6 :01/08/29 18:31 ID:1pRiIT.2
>>279
あー、Pragma ではなく Cache-Control ですね。どうも。
Cache-Control: no-cache, no-store
でも入れてくれればproxyが非対応ブラウザにキャッシュされたgzipデータを吐くのを防げますね。
# 自分の所も修正しなきゃ^^;

283 :名無し娘。 ◆vP.bOZFQ :01/08/29 18:55 ID:xeUGWGbY
http://yasai.2ch.net/test/read.cgi?bbs=venture&key=998735207&st=424&to=424&nofirst=true

284 :デフォルトの名無しさん :01/08/29 19:23 ID:KoHN/nTM
>207
IE 6.0.2600.0000 / Win2k
index2.htm、 read.cgi 特に問題なし。

HTTP_ACCEPT_ENCODING = gzip, deflate
HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

285 :UNIX板とマルチレスで二重カキコと判定された :01/08/29 19:34 ID:pswH38Zg
http://cocoa.2ch.net/test/read.cgi?bbs=unix&key=998764722&st=821&to=821&nofirst=true

286 :デフォルトの名無しさん :01/08/29 19:43 ID:ps40cZfg
ZLIB使用の時にContent-Length吐くようにするのがほぼでき上がったけど
圧縮しないときは、吐かないでいいの?

287 :名無し娘。 ◆vP.bOZFQ :01/08/29 19:49 ID:hNInjuxs
read.cgi の障害報告。対処法は未考。
一度"Internal Server Error"や"Can't Exec"が返ってきた場合も、
それ以降に書き込みがなければ、同じリクエストに対して304を返すため、
リロードのたびにブラウザは何度も真っ白な画面を表示し続けます。
リクエストをちょっと変えれば問題ないのですが、zlibの動作いかんによっては、
CPU負荷、DISK負荷をもっと減少させないと、苦情が続出するかもしれません。
まして、dat吐き出しをすべてread.cgiが負うとなると。。。

ところで、>>274 はこれでいいですかねぇ。。。
DolBackyさんに連絡とれる方いらっしゃったら、一度読んでいただきたく。

288 :名無し娘。 ◆vP.bOZFQ :01/08/29 19:55 ID:hNInjuxs
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999059369&st=357&to=357&nofirst=true

289 :デフォルトの名無しさん :01/08/29 19:55 ID:iU.Fd0UU
>>287 zlibがなかったんで今はfork()してgzipを呼び出してるんですよね?
zlibにすればfork()しない分"Couldn't spawn child process"には
なりにくいと思いますけど

290 :音楽侍 ◆NtVkSITE :01/08/29 19:56 ID:EqArAK56
やっぱスレ立てた方がいいですよ。
1で内容説明。
2で概要説明
3に各ファイルのリンク、
>>274を4、以降で、>>274の詳細を解説
位にしておいてあげないと、わかりにくいですよ。

291 :デフォルトの名無しさん :01/08/29 19:56 ID:1pRiIT.2
ついに会談始まるらしい…
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999059369&st=357&to=357&nofirst=true

> 357 名前:マァヴ元@削除管理委員長 ★ 投稿日:01/08/29 19:40 ID:???
> 8時から会談が始まる予定です。
> 多少の遅刻はあっても、寝過ごすことはなさそな模様(^_^;)

292 :音楽侍 ◆NtVkSITE :01/08/29 19:58 ID:EqArAK56
ここまでのスレッドの流れを追って理解し、作業をよろしく、Backyさん、っていうのは、ちょっと・・・
って思います。しつこくてすいません。

293 :名無し娘。 ◆vP.bOZFQ :01/08/29 19:59 ID:hNInjuxs
>>289
おっしゃるとおりです。zlibにしてももしや…ってことで。
>>290
そうですね。ただ、如何せん自信がなくて。
まだ若干の案が実装されないままのようですし。。。
どなたも作業されていないなら、がんばって実装しますが。。。

294 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:04 ID:hNInjuxs
   >>292
いえいえ(^^;
単刀直入にいうと
>>274 の方向性は正しいか、漏れはないか
・index2.cgi.1 はこれで完成か
の決断が欲しいんです。
スレ立ててから話が混線するのは、どうしても避けたいので、後手になっています。

295 :♯6411 :01/08/29 20:09 ID:rpOycX/Y
index2.cgi とは違う路線で、
subback.html を吐き出す機能を
read.cgi に実装しました。
すでに commit してあるので、
cvs 参照できる方は追試きぼんぬ。

read.cgi/tech/
で、スレ一覧が取れます。

296 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:14 ID:hNInjuxs
実ファイルの命名規則は xxxxx_r.html[.gz] でいいですか?
下の「要作成」は今から作ります。
<index2.cgi.2>
●最新ソース
ftp://210.170.170.118/incoming/perler/index2.cgi.2
●実装待ち
>>265 >>267 >>272 >>276
●要作成
>>244 の index_r.html[.gz] subback_r.html[.gz] bbsmenu_r.html[.gz]
bbstable_r.html[.gz] 版の制作。
●概要の文面
>>274

297 :デフォルトの名無しさん :01/08/29 20:15 ID:qIC0u6sU
>>47
read.cgiが多重起動されてる度合いに応じて リロード強制304の時間を調整してはどうだろうか?

298 :デフォルトの名無しさん :01/08/29 20:25 ID:ps40cZfg
ftp://210.170.170.118/incoming/len/
にZLIB使用時にContent-Length吐くやつを入れたので誰かcommitしてください。
read.c と zlib/gzio.c です。
新しいのをコンパイルする前に、zlib/libz.aを一度削除すること。

299 :音楽侍 ◆NtVkSITE :01/08/29 20:26 ID:EqArAK56
>>244
> <A HREF="http://xx.2ch.net/xxxx/index2.cgi">クリック</A>
これはない方がいいです。白紙から一瞬で飛んだ方がいいと思います。

300 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:26 ID:hNInjuxs
>>296
<index2.cgi.2>

ftp://210.170.170.118/incoming/index/
に4つの.htmlファイルをおきました。bbsmenu.html bbstable.html は
www.2ch.net/ におけばそのまま使えます。
index2.html subback.html は、"xxx"を鯖名、"yyy"を板名、
bbspink2のときはさらに"2ch.com"を"bbspink.net"に置換して、
/板名/に置きます。

●最新ソース
ftp://210.170.170.118/incoming/perler/index2.cgi.2
●実装待ち
>>265 >>267 >>272 >>276
●概要の文面
>>274

301 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:29 ID:hNInjuxs
>>299
んと、metaのrefreshが効かない場合に備えて、だと思います。
また、content="0; にすることも考えたのですが、ブラウザの
バックボタン連打で戻ることが不能になってしまうため、保留しました。
履歴を直接たどれば戻れますが…どちらがいいでしょうか。

302 :デフォルトの名無しさん :01/08/29 20:29 ID:6wtO5bLA
>>298
あてた

303 :Perler ◆GSi39OA6 :01/08/29 20:29 ID:qGdmeavk
>>299
refreshを実装してないブラウザ対策です。
あとrefreshを0にすると、ブラウザによって「戻る」ボタンが効かなかったり、不具合が結構出ますよ。
1秒でもいいから、refreshにインターバルを設けるのを提案します。

304 :音楽侍 ◆NtVkSITE :01/08/29 20:30 ID:EqArAK56
index2.cgi.2のとばし先のファイル名が

my $GZIPED_HTML = "index2.htm";
my $PLAIN_HTML = "index2.html";

になってます。
index3.htm[l]では?

305 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:30 ID:hNInjuxs
とりあえず
ftp://210.170.170.118/incoming/perler/index2.cgi.2
に手を付けていきます。

306 :298 :01/08/29 20:31 ID:ps40cZfg
Content-Length吐くなら、2048byteの空白出さないでいいんですよね。
gzputcで空白出すとこ削ってくださいな。

307 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:31 ID:hNInjuxs
>>303
index2.cgi.2 の方、作業中でしょうか。
あまり自信がないのでやってくださるならお願いしたいのですが。

308 :音楽侍 ◆NtVkSITE :01/08/29 20:34 ID:EqArAK56
>>301 >>303
なるほど。reflesh=1は同意です。
リフレッシュ効かないブラウザ用の対応・・・ですか。
了解です。
見た目の問題(一瞬文字が見えるのはあまり好ましくない)ですので。

309 :Perler ◆GSi39OA6 :01/08/29 20:36 ID:qGdmeavk
>>307
ちょっと忙しいので作業できないです。。すみません。

310 :音楽侍 ◆NtVkSITE :01/08/29 20:36 ID:EqArAK56
あと、subback.cgiでしたか?も作成しておいてあげた方が親切だと思います。
DolBackyさんも消耗なさっておられるでしょうから。

311 :♯6411 :01/08/29 20:37 ID:zwWJLRVA
>>302
>>306
何か気をつけないといけない点はある?

312 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:38 ID:hNInjuxs
>>309
了解です。お疲れさまです。
>>267 ですが、現コードでは実時間をとっていないようなので、エラーのために
わざわざ実時間取るのももったいなく、保留しておきます。

313 :音楽侍 ◆NtVkSITE :01/08/29 20:39 ID:EqArAK56
>>274で問題なさそうです。

314 :302 :01/08/29 20:41 ID:ps40cZfg
libzがオリジナルじゃなくなったこと。あとは、
>新しいのをコンパイルする前に、zlib/libz.aを一度削除すること。

315 :302 :01/08/29 20:42 ID:ps40cZfg
おっと、gzputc削るのは、ZLIBの時だけでした。スマソ

316 :320 :01/08/29 20:44 ID:ps40cZfg
あほや、gzputcってZLIBの時しかつかわんじゃん。逝ってきま〜す。

317 :♯6411 :01/08/29 20:44 ID:zwWJLRVA
>>315 うまくやると、直接deflate呼び出せるようにならないかなあ?

318 :音楽侍 ◆NtVkSITE :01/08/29 20:48 ID:EqArAK56
作業概要

転送の帯域を抑えるため、各htmlコンテンツをgzipで提供するに当たり、
gzip対応しているブラウザにはgzip版を、非対応ブラウザにはテキスト版を送信するcgiを挟みます。
このことにより、ブラウザのトラブルを回避し、圧縮された各コンテンツを配給できます。

実装は以下の通り(index2.htmlの場合)

index2.cgi導入 → cgi内部でgzip対応を判断 → 適切な内容を表示

319 :302 :01/08/29 20:49 ID:ps40cZfg
あほ++、さらに320とか入れてるし。

>>317
>IEはヘッダにはAccept-Encoding: gzip, deflateと含めているにも
>関わらず、実際にdeflateでエンコードしたデータを喰わせても
>解釈できないです。
これって確認されてる?

320 :名無し娘。 ◆vP.bOZFQ :01/08/29 20:52 ID:hNInjuxs
<index2.cgi.2>
ftp://210.170.170.118/incoming/index/bbsmenu.html
ftp://210.170.170.118/incoming/index/bbstable.html
ftp://210.170.170.118/incoming/index/subback.html
ftp://210.170.170.118/incoming/index/xxxxx.cgi
ftp://210.170.170.118/incoming/index/xxxxx.html

bbsmenu.html bbstable.html は www.2ch.net/ におけばそのまま使えます。
index2.html subback.html は、"xxx"を鯖名 "yyy"を板名、
bbspink2のときはさらに"2ch.com"を"bbspink.net"に置換して、
/板名/に置きます。

xxxxx.cgi は、"xxxxx"を現在あるファイル名(拡張子抜き)に置き換えます。
index2.html の場合は、index2.cgi のように。
ソース中の "xxxxx" も同様に置き換えます。板名や鯖名は気にしなくて
よいです。

これらで参照される「実ファイル」は、xxxxx_r.html xxxxx_r.html.gz です。
index2.html -> index2_r.html / index2.htm -> index2_r.html.gz
subback.html -> subback_r.html のようにリネームしてください。


実装について、>>276 は index2.html が読めなくなるという事態を
極力回避するため、実装しませんでした。

●概要の文面
>>274

ちょっとチェックしてみてください。

321 :音楽侍 ◆NtVkSITE :01/08/29 20:54 ID:EqArAK56
作業手順
<index2>
1)bbs.cgiをとめる
2)各ファイル名を変更する
mv index2.htm index3.htm; mv index2.html index3.html;
3)bbs.cgiが出力するファイル名 index2.htm index2.html を index3.htm index3.html にする
4)復帰スクリプトが出力するファイル名も、同様に変える
5)index2.htm index2.htmlは、以下のようにreflashでジャンプするよう記述する
<HTML><HEAD>
<META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/index2.cgi">
</HEAD><BODY>
<A HREF="http://xx.2ch.net/xxxx/index2.cgi">クリック</A>
</BODY></HTML>

322 :音楽侍 ◆NtVkSITE :01/08/29 20:55 ID:EqArAK56
訂正。というか、細かすぎるかもしれませんが

作業手順
<index2>
1)bbs.cgiをとめる
2)各ファイル名を変更する
mv index2.htm index3.htm; mv index2.html index3.html;
3)bbs.cgiが出力するファイル名 index2.htm index2.html を index3.htm index3.html にする
4)復帰スクリプトが出力するファイル名も、同様に変える
5)index2.htm index2.htmlは、以下のようにreflashでジャンプするよう記述する
<HTML><HEAD>
<META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/index2.cgi">
</HEAD><BODY>
<A HREF="http://xx.2ch.net/xxxx/index2.cgi">クリック</A>
</BODY></HTML>
6)bbs.cgi を稼働状態に戻す

323 :音楽侍 ◆NtVkSITE :01/08/29 20:56 ID:EqArAK56
<subback>
1)bbs.cgi をとめる
2)各ファイル名を変更する
mv subback.html subback2.html;
3)bbs.cgi が出力するファイル名 subback.html を subback2.html にする
4)bbs.cgi が subback2.htm(gzip圧縮) を作るようにする
5)復帰スクリプトが出力するファイル名も、同様に変える
5)index2.htm index2.htmlは、以下のようにreflashでジャンプするよう記述する
<HTML><HEAD>
<META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/subback.cgi">
</HEAD><BODY>
<A HREF="http://xx.2ch.net/xxxx/subback.cgi">クリック</A>
</BODY></HTML>
6)bbs.cgi を稼働状態に戻す

324 :319 :01/08/29 20:58 ID:ps40cZfg
俺は,302じゃなかった。マジで鬱。
302さんcommitありがとう。そして、ゴメソ。

325 :音楽侍 ◆NtVkSITE :01/08/29 20:59 ID:EqArAK56
<bbsmenu.html/bbstable.html>
1)各ファイル名を変更する
mv bbsmenu.html bbsmenu2.html; mv bbstable.html bbstable2.html
2)それぞれを gzip 圧縮したファイルを作る
3)bbs[menu/table].html は 以下のように記述する
・bbsmenuの場合
<HTML><HEAD>
<META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/bbsmenu.cgi">
</HEAD><BODY>
<A HREF="http://xx.2ch.net/xxxx/bbsmenu.cgi">クリック</A>
</BODY></HTML>
・bbstableの場合
<HTML><HEAD>
<META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/bbstable.cgi">
</HEAD><BODY>
<A HREF="http://xx.2ch.net/xxxx/bbstable.cgi">クリック</A>
</BODY></HTML>

326 :♯6411 :01/08/29 21:04 ID:zwWJLRVA
>>319 このスレか過去スレに、
deflate対応してみた、
ってカキコがあったような気がしたので、
もしかして、うまく逝ったのかなあと
思いこんでたんだけど、
自身で追試はしていないす。
ためしにIISなサイトをたたいてみたけど、
Encodingしてくれなかった。してくれるって噂だったのに。

で、deflateじゃなくてinflateのような気がした…

327 :デフォルトの名無しさん :01/08/29 21:05 ID:22fiFnTw
タグは小文字にしませんか? いや、別にどうでもいい部分なんですが。

328 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:07 ID:hNInjuxs
>>320
ftp://210.170.170.118/incoming/index/xxxxx.cgi
を更新しました(ファイルテスト演算子 _ 関連)。
旧ファイルは xxxxx.cgi.old です。
これで作業終了のはず。
ちょっと20分ほど席はずします。すいません。

329 :デフォルトの名無しさん :01/08/29 21:18 ID:iU.Fd0UU
今CVSに入ってるのって"Content-Length"対応なんですか?

gzipped_fwrite()が実行されないのに終了処理のところで

if ( gzip_flag == 2 ) {
    fprintf(stdout,"Content-Encoding: x-gzip\n");
} else {
    fprintf(stdout,"Content-Encoding: gzip\n");
}
fprintf(stdout,"Content-Length: %d\n\n",outlen);
fflush(stdout);

fwrite(outbuf,1,outlen,stdout);

を実行するようなコードになってるっぽいですが......

330 :デフォルトの名無しさん :01/08/29 21:21 ID:ps40cZfg
gzipped_fwriteは、zlib/gzio.cが呼びます。

331 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:25 ID:hNInjuxs
>音楽侍 ◆NtVkSITE さん
それぞれの.htmlファイルはftp://210.170.170.118/incoming/index/
作成済みです。>>320のような若干の置換が必要ですが。
その他の部分は、いまから読みますです。
>>327
大文字のは _lc に移して、小文字のに置き換えました。

332 :♯6411 :01/08/29 21:25 ID:zwWJLRVA
できれば、gzipされてないときも
Content-Length吐いてもらえる
ようにできませんか?
squidにキャッシュされない原因は、これか?

333 :329 :01/08/29 21:28 ID:iU.Fd0UU
>>330 なるほど了解 逝ってくる......

334 :音楽侍 ◆NtVkSITE :01/08/29 21:29 ID:EqArAK56
>>331
了解です〜
終わったら、
転送量(料)の増加で2ch閉鎖の危機!9
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999059369
にいってマァヴさんにお願いすると、DolBackyさんに伝わります。
新スレにみんな貼って、誘致活動を・・・が良いかと思います。

335 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:34 ID:hNInjuxs
...そういえば、動作確認していない。
負荷はかからないので、どなたかperlのあるweb鯖で実験して
いただけませんか?
(あと、じつは /usr/local/bin/perl だったりしないか心配)
>>334
お疲れさまです。もうしばらくお待ち下さい。

336 :♯6411 :01/08/29 21:37 ID:zwWJLRVA
ためしにExpiresを実装してみたものの、
どうも芳しい結果が得られない。
つぎcommitする際に殺したまま入れとくので
どなたか追試きぼーーーんぬ

337 :anony ◆3XTuRnAc :01/08/29 21:41 ID:2kMI.7hA
>娘。さん
午前0時回ると思いますが、家に帰れれば実験台になれるかも。
もしよろしければ、「実験に必要なファイル」をまとめて、
「実験に必要な手順」を簡単にでも良いですから書いてftp鯖に叩き込んでおいてくれれば。

・・・って、必要な手順は>>320-326ってことなら今から少しずつ予習しておきます。

#いまは会社にいないといけないんですよ・・・自分が直接絡んだところじゃないけど
#間接的に問題がでてて・・・・鬱。

338 :音楽侍 ◆NtVkSITE :01/08/29 21:42 ID:EqArAK56
>>335
ソース一式はどこですか?

339 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:54 ID:hNInjuxs
>>337-338
音楽侍 ◆NtVkSITE さんの書いてくださったのをもとに、コピペ直前まで
編集してみたので、読んでみてください。>>339-341

340 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:55 ID:hNInjuxs
1.
index2.html など転送量削減案

転送の帯域を抑えるため、各htmlコンテンツをgzipで提供するに当たり、
gzip対応しているブラウザにはgzip版を、非対応ブラウザにはテキスト版を
送信するcgiを挟みます。
このことにより、ブラウザのトラブルを回避し、圧縮された各コンテンツを
配給できます。

実装は以下の通り(index2.htmlの場合)

index2.cgi導入 → cgi内部でgzip対応を判断 → 適切な内容を表示 → (゚д゚)ウマー


>>2 に必要なファイル一覧と概要

>>3 にインストール方法

341 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:55 ID:hNInjuxs
2.
ftp://210.170.170.118/incoming/index/bbsmenu.html
ftp://210.170.170.118/incoming/index/bbstable.html
ftp://210.170.170.118/incoming/index/index2.html
ftp://210.170.170.118/incoming/index/subback.html
ftp://210.170.170.118/incoming/index/xxxxx.cgi

bbsmenu.html bbstable.html は www.2ch.net/ におけば、そのまま使えます。
index2.html subback.html は、ファイル内の "xxx" を鯖名に、"yyy" を板名に置換し、
さらに bbspink2 のときは"2ch.com"を"bbspink.net"に置換して、/板名/に置きます。
エディタなどの置換機能で全置換してだいじょうぶです。

xxxxx.cgi は、"xxxxx"を現在あるファイル名(拡張子抜き)に置き換えます。
たとえば index2.html の場合は、index2.cgi にします。
ソース中にも "xxxxx" があるので、同様に置き換えます。
こちらも、エディタなどの置換機能で全置換してだいじょうぶです。
板名や鯖名は気にしなくてよいです。

最終的にブラウザに表示される「実ファイル」は、xxxxx_r.html xxxxx_r.html.gz です。
index2.html -> index2_r.html
index2.htm -> index2_r.html.gz
subback.html -> subback_r.html
のようにリネームしてください。

342 :名無し娘。 ◆vP.bOZFQ :01/08/29 21:55 ID:hNInjuxs
3.
<index2>
1)bbs.cgiをとめる
2)既存のファイル名を変更する
 mv index2.htm index2_r.html.gz
mv index2.html index2_r.html
3)bbs.cgiが出力するファイル名を変更する(bbs.cgi内で指定されているファイル名)
 index2.htm -> index2_r.html.gz
 index2.html -> index2_r.html
4)復帰スクリプトが出力するファイル名も同様に変える
5)ftp://210.170.170.118/incoming/index/index2.html をダウンロードし、
 "xxx" を鯖名に、"yyy" を板名にそれぞれ置換し、設置する。
6)ftp://210.170.170.118/incoming/index/xxxxx.cgi ダウンロードし、
 index2.cgi にリネームして設置。ソース内の "xxxxx" を "index2" に置換する。
7)bbs.cgiを稼働状態に戻す

333KB
新着レスの表示

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

0ch BBS 2004-10-30