■スレッドリストへ戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50
read.cgi改良スレッド
- 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を稼働状態に戻す
 
 
- 343 :名無し娘。 ◆vP.bOZFQ  :01/08/29 21:59 ID:hNInjuxs
-  簡単な実験方法は、 
 ・同一ディレクトリに xxxxx.cgi xxxxx_r.html xxxxx_r.html.gz を置く。
 (xxxxx_r.html.gz は xxxxx_r.html を gzip compress したもの)
 ・ブラウザで xxxxx.cgi にアクセス。
 
 
- 344 :名無し娘。 ◆vP.bOZFQ  :01/08/29 22:00 ID:hNInjuxs
-  >>343 
 あ、xxxxx_r.html は、適当な html ファイルでいいです。
 よろしくお願いします。
 
 
- 345 :音楽侍 ◆NtVkSITE  :01/08/29 22:02 ID:EqArAK56
-  sub time2lastmod{ 
 my($time) = shift;
 my($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst)
 = gmtime($time);
 $wday  = qw(Sun Mon Tue Wed Thu Fri Sat)[$wday];
 $mon   = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)[$mon];
 sprintf("%s, %02d %s %d %02d:%02d:%02d GMT",
 $wday, $mday, $mon, $year+1900, $hour, $min, $sec);
 }
 ここでエラー出ます。
 Can't use subscript on split at test.cgi line 77, near "$wday]"
 Can't use subscript on split at test.cgi line 78, near "$mon]"
 Execution of test.cgi aborted due to compilation errors.
 
 
- 346 :Perler ◆GSi39OA6  :01/08/29 22:12 ID:qGdmeavk
-  >>345 
 Perlのバージョンによる違いかな。。。
 
 $wday = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat')[$wday];
 $mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec)[$mon];
 
 で試してみてください。
 
 
- 347 :Perler ◆GSi39OA6  :01/08/29 22:14 ID:qGdmeavk
-  $mon = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')[$mon]; 
 
 Decの直後の記号が抜けてました。
 
 
- 348 :デフォルトの名無しさん :01/08/29 22:21 ID:NuzxCJ3M
-  use HTTP::Date qw(time2str); 
 
 time2str($time);
 
 でいいのでは。
 
 
- 349 :Perler ◆GSi39OA6  :01/08/29 22:24 ID:qGdmeavk
-  >>348 
 入ってない可能性高すぎ。
 
 
- 350 :名無し娘。 ◆vP.bOZFQ  :01/08/29 22:25 ID:hNInjuxs
-  >>346-347 を修正した上で、xxxxx.cgi を 4つの.cgiにわけておくことにしました。 
 導入の手順が簡単になります。
 
 ftp://210.170.170.118/incoming/index/_readme.txt
 をお読み下さい。
 
 
- 351 :音楽侍 ◆NtVkSITE  :01/08/29 22:27 ID:EqArAK56
-  うちでは 
 sub time2lastmod{
 use HTTP::Date qw(time2str);
 time2str(my($time));
 }
 でいきましたです
 
 
- 352 :音楽侍 ◆NtVkSITE  :01/08/29 22:29 ID:EqArAK56
-  HTTP1.1でやると、 
 hoge.cgiがダウンロードされてしまうです。
 
 
- 353 :名無し娘。 ◆vP.bOZFQ  :01/08/29 22:32 ID:hNInjuxs
-  >>351-352 
 どうすればいいのだろう。。。(適切な処置がわからないらしい)
 
 ところで、http://teri.2ch.net/test/read.cgi?bbs=accuse&key=999090223&ls=20
 
 
- 354 :デフォルトの名無しさん :01/08/29 22:35 ID:6wtO5bLA
-  >>352 
 HTTP/1.0だと動くってこと?
 
 
- 355 :Perler ◆GSi39OA6  :01/08/29 22:36 ID:qGdmeavk
-  >>352 
 具体的にはどういう現象でしょう?
 
 >>353
 HTTP::Dateは、インストールされていない環境がありうるので、
 止めた方が良いと思います。
 
 というか、入ってないんじゃないかと思う>2.ch
 
 
- 356 :音楽侍 ◆NtVkSITE  :01/08/29 22:39 ID:EqArAK56
-  んと、 
 HTTP1.0 == htmlファイルの転送成功。リトライのキャッシュについては未調査
 HTTP1.1 == gzipファイルが生で送られてくる
 という状況です。
 
 
- 357 :191 :01/08/29 22:40 ID:THYp8YGg
-  >>342 番のだと、 Content-Encodingが 2回出てしまうことがあります。 
 ということでなおしました。
 だけじゃなくてほかにもちょと変えました。
 ・ソースの整理
 ・gzipped じゃなくて生のもので存在、サイズをチェック
 ・/bin/perl をつかうようにした (/usr/bin/perl じゃないすよね?)
 ・FreeBSD 4.3 + 5.005_03 で動作確認
 
 ftp://210.170.170.118/incoming/191/xxxxx.cgi にあります。
 
 
- 358 :Perler ◆GSi39OA6  :01/08/29 22:43 ID:qGdmeavk
-  >>356 
 それは、Transfer-Encodeを指定していないのにgzipファイルが送られてくるんでしょうか?
 それともヘッダがないとか?
 すみません、もうちょっと具体的に。。。。
 
 >>357
 うちは/usr/local/bin/perlに入ってたりしますが。。。。
 
 Linuxだと/bin/perlがデフォルトなのかな。
 
 
- 359 :デフォルトの名無しさん :01/08/29 22:43 ID:fYk.8H92
-  >>341 
 |さらに bbspink2 のときは"2ch.com"を"bbspink.net"に置換して、/板名/に置きます。
 
 "2ch.net"を"bbspink.com"でないですか?
 ソース見てないので、見当違いだったらスマソ
 
 なお、"(www.)2ch.com"は存在してるようです。
 
 
- 360 :音楽侍 ◆NtVkSITE  :01/08/29 22:48 ID:EqArAK56
-  >>357 
 リロード確認・text/gzip確認
 HTTP 1.0 / 1.1 ともに確認しました。OKです。
 
 
- 361 :音楽侍 ◆NtVkSITE  :01/08/29 22:50 ID:EqArAK56
-  >>358 
 設定次第なので何ともいえませんが、Linuxの場合、localあってもなくても、どっちでも動くかと・・・
 
 
- 362 :デフォルトの名無しさん :01/08/29 22:51 ID:jgB/eHro
-  >323 
 前後関係よく分かってなくてすまんけど、それがやりたいだけなら下記で十分だと思う。
 DOCTYPEがないが、それ以外は文法的にも全然OKの筈。
 
 <title>飛べ</title>
 <META HTTP-EQUIV="refresh" content="1;URL=http://xx.2ch.net/xxxx/subback.cgi">
 <A HREF="http://xx.2ch.net/xxxx/subback.cgi">飛べ</A>
 
 
- 363 :デフォルトの名無しさん :01/08/29 22:57 ID:NuzxCJ3M
-  perl のパスが分からない時は 
 
 #!/usr/bin/env perl
 
 でしてみましょう。
 
 
- 364 :191 :01/08/29 23:02 ID:THYp8YGg
-  それから、meta-refresh って現在の URL相対の指定できないんでしょうか? 
 どうせ index2.htmlとかは各板の directoryにおくものだから
 
 <head><meta http-equiv="refresh" content="url=index2.cgi"></head>
 <a href="index2.cgi">click!</a>
 
 とかやれば index2.htmlをいちいち書き換えなくてすむのでは。
 すくなくとも w3mでは相対指定効くようです。
 
 xxxxx.cgi のほうも $0 をみるようにすれば、なかをいじらずに
 ファイル名を変えるだけでどのファイルを送るかきめられるような。
 
 
- 365 :名無し娘。 ◆vP.bOZFQ  :01/08/29 23:08 ID:hNInjuxs
-  >>359 
 その通りです。失礼しました。
 >>364
 後半の方は、全種類こちらで用意します。
 
 
- 366 :デフォルトの名無しさん :01/08/29 23:13 ID:NuzxCJ3M
-  >>362 # refresh する html の文法 
 
 html のバージョンにもよるが、4.x の場合には
 a 要素を div, p , h[1-6] などのブロック要素に入れる必要あり。
 h1 なんかでいいんでは。大きくて。
 
 
- 367 :音楽侍 ◆NtVkSITE  :01/08/29 23:15 ID:EqArAK56
-  名無し娘。さん。 
 一応、マァヴさんには、完成したら娘。さんが一報入れますって伝言してあります。
 BackyさんにもQで伝達済みですので、よろしくです。
 前にもお知らせしましたっけ?
 
 
- 368 :名無し娘。 ◆vP.bOZFQ  :01/08/29 23:16 ID:hNInjuxs
-  >>351-359 までは対応して ftp://210.170.170.118/incoming/index/ に置きました。 
 
 
- 369 :Perler ◆GSi39OA6  :01/08/29 23:18 ID:qGdmeavk
-  >>364 
 
 そもそもRefreshってHTMLの仕様外の実装なので(もちろんHTTP/1.1にRefreshというヘッダが
 あるわけでもない)、「てきとうでいい」というのが実際でしょう。
 
 ですので、動作確認がとれれば相対URIでも良いのではないでしょうか。
 
 あ、ただし、秒数は多くのクライアントで必須だったと思います。
 
 そもそもHTML4.0には「Refreshは使うな」ってかかれてますし。緊急避難的に利用させてもらうことにしましたが。
 
 
333KB
新着レスの表示
スレッドリストへ戻る 全部 前100 次100 最新50
0ch BBS 2004-10-30