BugTrack/738
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*zlib.output_compression を用いた転送量の削減を可能に [#v...
-ページ: BugTrack
-投稿者: [[henoheno]]
-優先順位: 普通
-状態: 着手
-カテゴリー: 本体新機能
-投稿日: 2004-11-01 (月) 21:53:35
-バージョン:
**メッセージ [#n145bdcd]
PukiWikiへのアクセス遅延が発生しており、その原因がネット...
この件について手元の環境(FreeBSD上のPHP4.3.9およびPukiWik...
if(ini_get('zlib.output_compression') &&
preg_match('/\b(gzip|deflate)\b/i', $_SERVER['HTTP_ACCEP...
header('Content-Encoding: ' . $matches[1]);
header('Vary: Accept-Encoding');
}
マニュアルを見た範囲では(本来は)この機能は透過的な機能で...
Content-Encodingを出力してくれないこの状況は、小さなコー...
この機能はphp.iniや、(Apacheのhttpd.confに許可されている...
## Using zlib.output_compression per directory (via .hta...
## needs 'AllowOverride Options' at httpd.conf.
#php_flag zlib.output_compression On
- [[cvs:skin/pukiwiki.css.php]] (1.6)
- [[cvs:skin/pukiwiki.skin.php]] (1.15)
- [[cvs:.htaccess]] (1.8)
----
-zlib.compression 利用中に、Accept-Encoding: gzip あるい...
-- [[cvs:skin/pukiwiki.css.php]] (1.7)
-- [[cvs:skin/pukiwiki.skin.php]] (1.16)
** ちょっと確認: 類似の技術: mod_deflate [#p9d7d16a]
- 津田ふみかの日記: Apacheのコンテンツ圧縮方法
-- http://fumika.jp/nikki/2004/09/mod_deflate
-- "Apache 1.x 系では、mod_gzip というモジュールを導入す...
- mod_deflate
-- http://httpd.apache.org/docs-2.0/ja/mod/mod_deflate.html
-- "mod_deflate モジュールは DEFLATE 出力フィルタを提供...
-- Varyに関する説明あり。 (Proxy向け)
-([[official:雑談]]より)
--DEFLATEフィルタ問題の解決策書きました。 http://tokiwa.h...
--- "ApacheでDEFLATEフィルタを書けた状態でPukiWikiのAttac...
header('Content-Length: '.$this->size);
header('Content-Type: '.$this->type);
header('Content-Encoding: none'); // この行を追加
@readfile($this->filename);
exit;
--情報ありがとうございます。(そうか、そういえば自分でdefl...
-(通りすがりより追記) -- &new{2009-10-07 (水) 12:24:54};
--DEFLATEフィルタ問題について~
refを用いて画像を表示している場合もmod_deflateで、画像に...
この問題について、plugin/attach.inc.phpの改修と同様の事を...
//#comment
** そのほか [#lca47f6d]
- Port80 Softwareの Web server compression check
-- http://www.port80software.com/surveys/top1000compressi...
-- 圧縮機能を利用しているかどうかを調べることができる
** 画像が壊れる? [#ve6b5695]
-関連して、手元の環境(FreeBSD + Apache2.0.52_1 + PHP 4.3....
-- PHP 4.3.2 以降、Content-Type が image であるものについ...
--- http://nxweb.dyndns.org/hiki.cgi?PHP-Changes-4.3.2
--久しぶりに別の視点からチェックしてみました。画像につい...
--- [[cvs:plugin/ref.inc.php]] (1.44,1.45)
--- [[cvs:plugin/attach.inc.php]] (1.64,1.65)
--Firefox 1.0 および Internet Explorer 6 では特に問題なく...
** %%試してみた%% 試してみてね [#v203153a]
-Linux/Windowsメインな方、anotherブラウザな方のテストをお...
--テストの意味合いが良くわからないのですが、項目名が「試...
-- まぎらわしかったようですいません (^^; 影響範囲が不明で...
-試してみました。ref及びattach以外の変わった方法で画像を...
--訂正します。refを使っても表示ができませんでした。WinXP+...
--.haccessで有効にするとこの現象が起きます。特に.haccess...
-- こんにちは :) Webサーバーの種類と、そのプラットフォー...
--サーバはXREAを使っています。その為、http.confの内容はよ...
--- このページのすぐ上にあるmod_deflateのような別の問題と...
-ちなみに FreeBSD 以外のプラットフォームでどうなるのかは...
-Linuxの1.3.33ですね。zlib.output.compressionを使うと、サ...
--Linux上のApache1.3.33ですよね? -- &new{2005-01-21 (金...
--はい。 -- [[Logue]] &new{2005-01-23 (日) 00:13:52};
-Windows 2000 + IIS 5.0 + PHP 4.3.10(ISAPI) でテストしま...
-- ということは、Linuxでも動作を見たくなってくるなぁ。 --...
-- そうなると、FreeBSDかどうかを切り分けるか、zlib関連の...
-発見。FreeBSD側の問題は、PHP側のバグが、FreeBSD (ports)...
-- Bug #29350 output_compression not working with zlib ...
--- http://bugs.php.net/bug.php?id=29350
-- ports/69810: zlib output compression does not work as ...
--- http://lists.freebsd.org/pipermail/freebsd-ports-bugs...
--- "work around is do not let zlib.so be loadable."
-Debian Woody ,Apache/1.3.33 (Unix), PHP/4.3.10でやって...
-ちなみにPukiWikiは今日CVSからアップデートしたものです。 ...
-- 拝見しましたが、添付されている画像が正しくGetできない...
--現象が確認できませんでした。こちらのやったことは、画面...
---sleipnir1.66で右クリックして「対象をファイルに保存」
---Opera7.22で右クリックして「リンク先を保存」
---Firefoxで右クリックして「リンク先を名前を付けて保存」&...
その後、ローカルで画像を見ても壊れていませんでした。以上...
--とりあえず、zlib.output_compressionはコメントアウトして...
-うーん。色々調べていると自分のサーバー圧縮かかってなかっ...
-続報ですがSMFのソースをあさってたところ、ob-gzhandlerと...
-------------
([[開発日記/2005-01-26]])
- [[cvs:lib/html.php]] (1.27): if(defined('PKWK_ZLIB_LOAD...
-- 今までテストしていたFreeBSDがむしろ特殊だったという事...
-------------
- 時を超えて・・・
(下の表記とほぼ同じなので削除)
という感じでいいと思います。 -- [[Logue]] &new{2010-08-19...
- 上のコードからLogueさんが著述した部分をdiffで示した上で...
- Diffってこれでいいですか?
// Output common HTTP headers
-function pkwk_common_headers(){
+function pkwk_common_headers($compress){
if (! PKWK_OPTIMISE) pkwk_headers_sent();
if(PKWK_ZLIB_LOADABLE_MODULE == true && $compress != fa...
$matches = array();
+ if(extension_loaded('zlib') &&
+ ob_get_length() === FALSE &&
+ !ini_get('zlib.output_compression') &&
+ ini_get('output_handler') !== 'ob_gzhandler' &&
+ ini_get('output_handler') !== 'mb_output_handler'){ ...
+ // http://jp.php.net/manual/ja/function.ob-gzhandle...
+ ob_start('ob_gzhandler');
- if(ini_get('zlib.output_compression') &&
+ }else if(ini_get('zlib.output_compression') &&
preg_match('/\b(gzip|deflate)\b/i', $_SERVER['HTTP_AC...
// Bug #29350 output_compression compresses everythin...
// http://bugs.php.net/bug.php?id=29350
header('Content-Encoding: ' . $matches[1]);
- header('Vary: Accept-Encoding');
+ //http://pukiwiki.cafelounge.net/plus/?%E9%96%8B%E7%...
+ $vary = get_language_header_vary();
+ if (! empty($vary)) $vary .= ',';
+ header('Vary: '.$vary.' Accept-Encoding');
}
}
+ // PHPで動的に生成されるページはキャシュすべきではない
+ header('Cache-Control: no-cache, must-revalidate');
+ header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
+ header('Pragma: no-cache');
}
$compressスイッチは、attachなどでファイルが2重圧縮される...
if(PKWK_ZLIB_LOADABLE_MODULE == true && extension_loade...
ob_get_length() === FALSE &&
!ini_get('zlib.output_compression') &&
ini_get('output_handler') !== 'ob_gzhandler' &&
ini_get('output_handler') !== 'mb_output_handler'){
ob_end_flush();
}
それにしても、PKWK_ZLIB_LOADABLE_MODULEは、どこで定義して...
- この著作物の来歴を説明して下さい。どこから持って来まし...
- いろいろ、漁って合成したので著作と言えるほどものはない...
- 何度もお手間かと思いますが、「一部upk氏のコードが含まれ...
- すみません、get_language_header_vary()という関数の部分...
$vary = get_language_header_vary();
if (! empty($vary)) $vary .= ',';
header('Vary: '.$vary.' Accept-Encoding');
- こちらの件ですが、受け取りを拒否せざるをえません。言い...
-- 複数の著作物を知らず知らずに紛れ込ませてしまえるような...
-- パッチでなく実装を提示できてしまう点もまずいです。
-- ポイントの説明なしに露出させてしまえる点もまずいです。...
-- 読解に手間がかかるものを提示してしまえる点もまずいです...
-- 絶対に動かないコードをテストせずに提示できる点もまずい...
-- こうした事故を防ぐ手順は確実に存在しますが、身に着けて...
-
Logueさんには一旦立ち止まってもらって、よそのプロジェクト...
- 最初の実装の貼り付けは、その後のdiffと内容が重複してい...
- 上のdiff形式のコードなのですが・・・良く見たら「違いが...
- 関連: [[BugTrack2/333]] [[BugTrack2/337]] -- [[henoheno...
- EmYvEZKSHyOvQHTGkTP -- [[cjbsmolcp]] &new{2015-02-24 (...
#comment
終了行:
*zlib.output_compression を用いた転送量の削減を可能に [#v...
-ページ: BugTrack
-投稿者: [[henoheno]]
-優先順位: 普通
-状態: 着手
-カテゴリー: 本体新機能
-投稿日: 2004-11-01 (月) 21:53:35
-バージョン:
**メッセージ [#n145bdcd]
PukiWikiへのアクセス遅延が発生しており、その原因がネット...
この件について手元の環境(FreeBSD上のPHP4.3.9およびPukiWik...
if(ini_get('zlib.output_compression') &&
preg_match('/\b(gzip|deflate)\b/i', $_SERVER['HTTP_ACCEP...
header('Content-Encoding: ' . $matches[1]);
header('Vary: Accept-Encoding');
}
マニュアルを見た範囲では(本来は)この機能は透過的な機能で...
Content-Encodingを出力してくれないこの状況は、小さなコー...
この機能はphp.iniや、(Apacheのhttpd.confに許可されている...
## Using zlib.output_compression per directory (via .hta...
## needs 'AllowOverride Options' at httpd.conf.
#php_flag zlib.output_compression On
- [[cvs:skin/pukiwiki.css.php]] (1.6)
- [[cvs:skin/pukiwiki.skin.php]] (1.15)
- [[cvs:.htaccess]] (1.8)
----
-zlib.compression 利用中に、Accept-Encoding: gzip あるい...
-- [[cvs:skin/pukiwiki.css.php]] (1.7)
-- [[cvs:skin/pukiwiki.skin.php]] (1.16)
** ちょっと確認: 類似の技術: mod_deflate [#p9d7d16a]
- 津田ふみかの日記: Apacheのコンテンツ圧縮方法
-- http://fumika.jp/nikki/2004/09/mod_deflate
-- "Apache 1.x 系では、mod_gzip というモジュールを導入す...
- mod_deflate
-- http://httpd.apache.org/docs-2.0/ja/mod/mod_deflate.html
-- "mod_deflate モジュールは DEFLATE 出力フィルタを提供...
-- Varyに関する説明あり。 (Proxy向け)
-([[official:雑談]]より)
--DEFLATEフィルタ問題の解決策書きました。 http://tokiwa.h...
--- "ApacheでDEFLATEフィルタを書けた状態でPukiWikiのAttac...
header('Content-Length: '.$this->size);
header('Content-Type: '.$this->type);
header('Content-Encoding: none'); // この行を追加
@readfile($this->filename);
exit;
--情報ありがとうございます。(そうか、そういえば自分でdefl...
-(通りすがりより追記) -- &new{2009-10-07 (水) 12:24:54};
--DEFLATEフィルタ問題について~
refを用いて画像を表示している場合もmod_deflateで、画像に...
この問題について、plugin/attach.inc.phpの改修と同様の事を...
//#comment
** そのほか [#lca47f6d]
- Port80 Softwareの Web server compression check
-- http://www.port80software.com/surveys/top1000compressi...
-- 圧縮機能を利用しているかどうかを調べることができる
** 画像が壊れる? [#ve6b5695]
-関連して、手元の環境(FreeBSD + Apache2.0.52_1 + PHP 4.3....
-- PHP 4.3.2 以降、Content-Type が image であるものについ...
--- http://nxweb.dyndns.org/hiki.cgi?PHP-Changes-4.3.2
--久しぶりに別の視点からチェックしてみました。画像につい...
--- [[cvs:plugin/ref.inc.php]] (1.44,1.45)
--- [[cvs:plugin/attach.inc.php]] (1.64,1.65)
--Firefox 1.0 および Internet Explorer 6 では特に問題なく...
** %%試してみた%% 試してみてね [#v203153a]
-Linux/Windowsメインな方、anotherブラウザな方のテストをお...
--テストの意味合いが良くわからないのですが、項目名が「試...
-- まぎらわしかったようですいません (^^; 影響範囲が不明で...
-試してみました。ref及びattach以外の変わった方法で画像を...
--訂正します。refを使っても表示ができませんでした。WinXP+...
--.haccessで有効にするとこの現象が起きます。特に.haccess...
-- こんにちは :) Webサーバーの種類と、そのプラットフォー...
--サーバはXREAを使っています。その為、http.confの内容はよ...
--- このページのすぐ上にあるmod_deflateのような別の問題と...
-ちなみに FreeBSD 以外のプラットフォームでどうなるのかは...
-Linuxの1.3.33ですね。zlib.output.compressionを使うと、サ...
--Linux上のApache1.3.33ですよね? -- &new{2005-01-21 (金...
--はい。 -- [[Logue]] &new{2005-01-23 (日) 00:13:52};
-Windows 2000 + IIS 5.0 + PHP 4.3.10(ISAPI) でテストしま...
-- ということは、Linuxでも動作を見たくなってくるなぁ。 --...
-- そうなると、FreeBSDかどうかを切り分けるか、zlib関連の...
-発見。FreeBSD側の問題は、PHP側のバグが、FreeBSD (ports)...
-- Bug #29350 output_compression not working with zlib ...
--- http://bugs.php.net/bug.php?id=29350
-- ports/69810: zlib output compression does not work as ...
--- http://lists.freebsd.org/pipermail/freebsd-ports-bugs...
--- "work around is do not let zlib.so be loadable."
-Debian Woody ,Apache/1.3.33 (Unix), PHP/4.3.10でやって...
-ちなみにPukiWikiは今日CVSからアップデートしたものです。 ...
-- 拝見しましたが、添付されている画像が正しくGetできない...
--現象が確認できませんでした。こちらのやったことは、画面...
---sleipnir1.66で右クリックして「対象をファイルに保存」
---Opera7.22で右クリックして「リンク先を保存」
---Firefoxで右クリックして「リンク先を名前を付けて保存」&...
その後、ローカルで画像を見ても壊れていませんでした。以上...
--とりあえず、zlib.output_compressionはコメントアウトして...
-うーん。色々調べていると自分のサーバー圧縮かかってなかっ...
-続報ですがSMFのソースをあさってたところ、ob-gzhandlerと...
-------------
([[開発日記/2005-01-26]])
- [[cvs:lib/html.php]] (1.27): if(defined('PKWK_ZLIB_LOAD...
-- 今までテストしていたFreeBSDがむしろ特殊だったという事...
-------------
- 時を超えて・・・
(下の表記とほぼ同じなので削除)
という感じでいいと思います。 -- [[Logue]] &new{2010-08-19...
- 上のコードからLogueさんが著述した部分をdiffで示した上で...
- Diffってこれでいいですか?
// Output common HTTP headers
-function pkwk_common_headers(){
+function pkwk_common_headers($compress){
if (! PKWK_OPTIMISE) pkwk_headers_sent();
if(PKWK_ZLIB_LOADABLE_MODULE == true && $compress != fa...
$matches = array();
+ if(extension_loaded('zlib') &&
+ ob_get_length() === FALSE &&
+ !ini_get('zlib.output_compression') &&
+ ini_get('output_handler') !== 'ob_gzhandler' &&
+ ini_get('output_handler') !== 'mb_output_handler'){ ...
+ // http://jp.php.net/manual/ja/function.ob-gzhandle...
+ ob_start('ob_gzhandler');
- if(ini_get('zlib.output_compression') &&
+ }else if(ini_get('zlib.output_compression') &&
preg_match('/\b(gzip|deflate)\b/i', $_SERVER['HTTP_AC...
// Bug #29350 output_compression compresses everythin...
// http://bugs.php.net/bug.php?id=29350
header('Content-Encoding: ' . $matches[1]);
- header('Vary: Accept-Encoding');
+ //http://pukiwiki.cafelounge.net/plus/?%E9%96%8B%E7%...
+ $vary = get_language_header_vary();
+ if (! empty($vary)) $vary .= ',';
+ header('Vary: '.$vary.' Accept-Encoding');
}
}
+ // PHPで動的に生成されるページはキャシュすべきではない
+ header('Cache-Control: no-cache, must-revalidate');
+ header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
+ header('Pragma: no-cache');
}
$compressスイッチは、attachなどでファイルが2重圧縮される...
if(PKWK_ZLIB_LOADABLE_MODULE == true && extension_loade...
ob_get_length() === FALSE &&
!ini_get('zlib.output_compression') &&
ini_get('output_handler') !== 'ob_gzhandler' &&
ini_get('output_handler') !== 'mb_output_handler'){
ob_end_flush();
}
それにしても、PKWK_ZLIB_LOADABLE_MODULEは、どこで定義して...
- この著作物の来歴を説明して下さい。どこから持って来まし...
- いろいろ、漁って合成したので著作と言えるほどものはない...
- 何度もお手間かと思いますが、「一部upk氏のコードが含まれ...
- すみません、get_language_header_vary()という関数の部分...
$vary = get_language_header_vary();
if (! empty($vary)) $vary .= ',';
header('Vary: '.$vary.' Accept-Encoding');
- こちらの件ですが、受け取りを拒否せざるをえません。言い...
-- 複数の著作物を知らず知らずに紛れ込ませてしまえるような...
-- パッチでなく実装を提示できてしまう点もまずいです。
-- ポイントの説明なしに露出させてしまえる点もまずいです。...
-- 読解に手間がかかるものを提示してしまえる点もまずいです...
-- 絶対に動かないコードをテストせずに提示できる点もまずい...
-- こうした事故を防ぐ手順は確実に存在しますが、身に着けて...
-
Logueさんには一旦立ち止まってもらって、よそのプロジェクト...
- 最初の実装の貼り付けは、その後のdiffと内容が重複してい...
- 上のdiff形式のコードなのですが・・・良く見たら「違いが...
- 関連: [[BugTrack2/333]] [[BugTrack2/337]] -- [[henoheno...
- EmYvEZKSHyOvQHTGkTP -- [[cjbsmolcp]] &new{2015-02-24 (...
#comment
ページ名: