IE4.0以降、NN4.0以降ではgzip圧縮したものを読めると聞きました。
Content-encoding: gzip
をヘッダに書けば、データをgzip圧縮して送れるのでしょうか。
そして、どうやってgzipするのでしょうか。
モジュールがあるのでしょうか?
あるならそれの使い方とかもお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

すごく手抜きですが、



#!/bin/sh

echo "Content-type: text/plain"
echo "Content-encoding: gzip"
echo
echo

gzip -c << EOF
hello
myname is ${SERVER_NAME}
EOF

で、可能です。
手順としては、
1) ブラウザの encoding を判別し、適切な header を送信する。
2) gzip の展開が可能なブラウザなら、gzip 圧縮して送る。
です。

perl で実行するのなら、module が CPAN あたりに転がっているでしょう。
上記のような shell script なら、gzip コマンドを直接たたいてもいいし、perl でも、
open(STDOUT, "| /usr/bin/gzip -c")
で可能です。
    • good
    • 0
この回答へのお礼

open(STDOUT, "| /usr/bin/gzip -c")
でできました。
Perlでソースを配布しようかと考えているので、gzipの位置によって微妙ですが、なんとかなりそうです。
ありがとうございました。

お礼日時:2001/12/05 15:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QIEで受け取れるsendmailがNN7.1で受け取れません。

よろしくお願い致します。

IEで受け取れるsendmailが、NN7.1では、FROMもNobodyとなって送られてきてしまいます。

考えられる原因を何でも良いので、教えてください。
私は、何となく、フレームのせいかなって思ったりしているのですが???

Aベストアンサー

もういちど確認しますが、Netscapeで受け取れないんですか?
送れないですよね??

とりあえず、同じ内容のページでIEとNNで出来たり出来なかったりするのであれば、
そのページ中のHTMLの書き方に問題があるのでは?

QNN4だけクッキーが入らない

ログインのCGIを作っているのですが、Set-Cookieヘッダにdomainの指定をすると、NN4ではクッキーが入らないのです。
出力しているヘッダは次のような感じです。
Set-Cookie: A=1; expires=Thu, 01-Jan-2004 00:00:00 GMT; domain=.hoge.jp; path=/

他のブラウザではうまく行くことを確認しています。
またNN4でも、domainの指定さえなければうまく行きます。

思い当たる要因というと、
・開発環境がローカルサーバ(192.~)
・ログインページがサブドメインなし(http://hoge.jp/~)
くらいです。(関係ないかもしれませんが、一応)

解決方法などありましたら、よろしくお願い致します。

Aベストアンサー

「ドメインは、".com", ".edu", "va.us"のような形式のドメインを除いて、ドメイン名の中に少なくとも2つか3つのピリオドを含んでいなければいけません。」
※某サイトより引用。

これに引っかかっているのではないのでしょうか。
ピリオドが2つだから弾かれているのかもしれないです。

参考URL:http://www.studyinghttp.net/cookies.html#header

Qcontent-dispositionによるファイル名の指定について

CGIで動的にCSVファイルを作成し、ダウンロードできるようなものを作成しています。
httpヘッダのcontent-dispositionでファイル名を指定しているのですが、 NetScape7.01ではファイル名の先後に勝手に.CGIがついてしまいます。
何か対処方はないのでしょうか?

Aベストアンサー

HTTP/1.1 200 OK
などのヘッダまでCGIから出力しているということですか?

だとすればNPHスクリプトですね?
ならばConnectionヘッダはKeep-Aliveではなくcloseで
いいと思います。


Content-Disposition: attachment; filename="a.csv"
Content-Type: application/download; name="a.csv"
この2ヘッダを出力しても回避できない現象だとすると
ブラウザ特有の挙動のようですね?

わたしの知る最終手段として、ブラウザをダマす方法が
あります。以下のような感じで拡張パスを使う方法ですが
うまくダマせるかどうかはやってみないとわかりません。
<form method="post" action="download.cgi/a.csv">


これとは別に、素直にa.csvというファイルを書き出して
メタタグで呼び出すようなカラクリも使えるかとは思いますが・・・。

Qvodafoneのhttpヘッダ

docomo, vodafone, au, TuKaに対応したサイトをperlで作ろうと思ってます。
vodafoneはgifに対応していないそうなので、vodafone用にpngを使用しようと考えてます。

(1), httpヘッダを見て、vodafoneの場合だけpngを使用するようにしようと思いますが、vodafoneのhttpヘッダはどのようなものが返ってくるのか教えてください。
また、機種によって違うのでしょうか?

(2), もし、(1)の方法を使わなくても、全ての携帯電話で画像を表示させる良い方法がありましたら教えてください。
もちろん「全て」は無理でしょうが、多くの機種で使用できたら助かります。

ただし、サイズの問題でjpegは使用したくありません。

Aベストアンサー

ユーザーエージェントをみて振り分けられます。

この辺をご覧ください。
http://oshiete1.goo.ne.jp/goo_search.php3?dummy=%A5%E1%A1%BC%A5%EB&MT=&TAB=&kw=%A5%E6%A1%BC%A5%B6%A1%BC%A5%A8%A1%BC%A5%B8%A5%A7%A5%F3%A5%C8+%B7%C8%C2%D3&c=0


手元にすぐに出てくるのがPHPの構文なので多少修正すれば使えると思われます。
ただ、これだとauのhdml機とXhtml機の仕分けはしてませんが。

if( preg_match( "/DoCoMo/", $_SERVER['HTTP_USER_AGENT'] ) ) {
// i-mode用のページ
} elseif( preg_match( "/J-PHONE/", $_SERVER['HTTP_USER_AGENT'] ) ) {
// j-sky用のページ
} elseif( preg_match( "/UP\.Browser/", $_SERVER['HTTP_USER_AGENT'] ) ) {
// Ezweb用のページ
} elseif( preg_match( "/PDXGW/", $_SERVER['HTTP_USER_AGENT'] ) ) {
// H"用のページ
} elseif( preg_match( "/ASTEL/", $_SERVER['HTTP_USER_AGENT'] ) ) {
// ASTEL用
}

ユーザーエージェントをみて振り分けられます。

この辺をご覧ください。
http://oshiete1.goo.ne.jp/goo_search.php3?dummy=%A5%E1%A1%BC%A5%EB&MT=&TAB=&kw=%A5%E6%A1%BC%A5%B6%A1%BC%A5%A8%A1%BC%A5%B8%A5%A7%A5%F3%A5%C8+%B7%C8%C2%D3&c=0


手元にすぐに出てくるのがPHPの構文なので多少修正すれば使えると思われます。
ただ、これだとauのhdml機とXhtml機の仕分けはしてませんが。

if( preg_match( "/DoCoMo/", $_SERVER['HTTP_USER_AGENT'] ) ) {
// i-mode用のページ
} elseif( preg_matc...続きを読む

Qメールのヘッダ(From)について

こんにちわ。
メール送信スクリプトを作りたいと思っております。
受信者のメールソフトの「送信者」欄に、メールアドレスではなく、日本語名を入れたいのですが、ヘッダのFrom部分の構成をどのようにすればいいのでしょうか。

例えば
From: "hogehoge" <hoge@hoge.com>
(受信したメールのヘッダを見るとこうなっていましたので・・・)

これでは動きませんでした。メールのFrom欄の仕様などあるのでしょうか。ご指導のほどよろしくお願いいたします。

Aベストアンサー

ヘッダ部への日本語は、JISをMIMEエンコードする必要があります。

http://x68000.q-e-d.net/~68user/webcgi/mail-2.html

そのまま送るのは論外です。
http://mikeneko.creator.club.ne.jp/~lab/kcode/okorareru.html


>sendmailを使う場合、逆に名称を<>でくくって、アドレスの後ろに記述するとうまくいった覚えがあります。

これは()でくくるときの話ですね。
どっちにしろ日本語はエンコードしてください。


このカテゴリの人気Q&Aランキング

おすすめ情報