Remove HTTP/2 server push for Cloudflare

클플에서 해당 기능 지원 중단하여 더이상 작동하지 않음
https://developer.chrome.com/blog/removing-push/
This commit is contained in:
Kijin Sung 2023-10-24 20:32:35 +09:00
parent 6856f60ff9
commit e9e46e3391
7 changed files with 0 additions and 64 deletions

View file

@ -507,17 +507,6 @@ class FrontEndFileHandler extends Handler
}
}
// Enable HTTP/2 server push for CSS resources.
if ($finalize && $this->_isServerPushEnabled())
{
foreach ($result as $resource)
{
if ($resource['file'][0] === '/' && $resource['file'][1] !== '/')
{
header(sprintf('Link: <%s>; rel=preload; as=style', $resource['file']), false);
}
}
}
return $result;
}
@ -611,17 +600,6 @@ class FrontEndFileHandler extends Handler
}
}
// Enable HTTP/2 server push for JS resources.
if ($type === 'head' && $finalize && $this->_isServerPushEnabled())
{
foreach ($result as $resource)
{
if ($resource['file'][0] === '/' && $resource['file'][1] !== '/')
{
header(sprintf('Link: <%s>; rel=preload; as=script', $resource['file']), false);
}
}
}
return $result;
}
@ -743,29 +721,4 @@ class FrontEndFileHandler extends Handler
$file->index += isset($cssSortList[$tmp]) ? $cssSortList[$tmp] : 0;
}
}
/**
* Check if server push is enabled.
*
* @return bool
*/
protected function _isServerPushEnabled()
{
if (!config('view.server_push'))
{
return false;
}
elseif (strncmp($_SERVER['SERVER_PROTOCOL'] ?? '', 'HTTP/2', 6) === 0)
{
return true;
}
elseif (isset($_SERVER['HTTP_CF_VISITOR']) && \RX_SSL)
{
return true;
}
else
{
return false;
}
}
}

View file

@ -84,7 +84,6 @@ return array(
'concat_scripts' => 'none',
'delay_compile' => 0,
'jquery_version' => 2,
'server_push' => false,
),
'admin' => array(
'allow' => array(),

View file

@ -109,7 +109,6 @@ class Advanced extends Base
Context::set('minify_scripts', Config::get('view.minify_scripts'));
Context::set('concat_scripts', Config::get('view.concat_scripts'));
Context::set('jquery_version', Config::get('view.jquery_version'));
Context::set('use_server_push', Config::get('view.server_push'));
$this->setTemplateFile('config_advanced');
}
@ -227,7 +226,6 @@ class Advanced extends Base
Config::set('view.concat_scripts', $vars->concat_scripts ?: 'none');
Config::set('view.delay_compile', intval($vars->delay_template_compile));
Config::set('view.jquery_version', $vars->jquery_version == 3 ? 3 : 2);
Config::set('view.server_push', $vars->use_server_push === 'Y');
// Save
if (!Config::save())

View file

@ -158,8 +158,6 @@ $lang->cmd_concat_css_js = 'Combine both CSS and JS';
$lang->about_concat_scripts = 'Automatically combine CSS and JS scripts into as few files as possible. External scripts are not combined.';
$lang->jquery_version = 'jQuery Version';
$lang->about_jquery_version = 'You can select the default jQuery version for this site. Please note that jQuery 3.x may not be compatible with older features.';
$lang->use_server_push = 'Use HTTP/2 Server Push';
$lang->about_use_server_push = 'This option adds headers to the response that some CDNs interpret as server push directives.';
$lang->use_gzip = 'gzip Compression';
$lang->about_use_gzip = 'This option should be left off unless you know for sure that your webserver doesn\'t compress output by default.';
$lang->delay_session = 'Delay session start';

View file

@ -88,7 +88,6 @@ $lang->cmd_concat_css_only = 'CSSのみ結合';
$lang->cmd_concat_js_only = 'JSのみ結合';
$lang->cmd_concat_css_js = 'CSSやJSの両方を結合';
$lang->about_concat_scripts = 'CSS、JSファイルを一つにまとめて送信されます。外部からロードするスクリプトは、合わせてされません.';
$lang->use_server_push = 'HTTP/2 Server Push使用';
$lang->use_gzip = 'gzip 圧縮';
$lang->delay_session = 'セッションの開始を遅延';
$lang->about_delay_session = 'Varnishなどのプロキシキャッシュサーバ使用時のパフォーマンスを向上させるために、ログインしていないユーザーには、認証セッションを付与しません。<br>このオプションを選択した場合、訪問者数とヒット集計が正確でない場合があります。';

View file

@ -159,8 +159,6 @@ $lang->cmd_concat_css_js = 'CSS와 JS를 모두 합침';
$lang->about_concat_scripts = 'CSS, JS 파일들을 하나로 합쳐서 전송합니다. 외부에서 로딩하는 스크립트는 합쳐지지 않습니다.';
$lang->jquery_version = 'jQuery 버전';
$lang->about_jquery_version = '기본으로 사용할 jQuery 버전을 선택합니다. jQuery 3.x는 오래된 기능과 호환되지 않을 수 있습니다.';
$lang->use_server_push = 'Server Push 사용';
$lang->about_use_server_push = '일부 CDN에서 지원하는 기능으로, 미리 로딩할 스크립트 정보를 헤더에 추가합니다.';
$lang->use_gzip = 'gzip 압축';
$lang->about_use_gzip = '웹서버가 gzip을 지원하지 않더라도 페이지를 강제로 압축하는 기능입니다. 대부분의 서버에는 필요하지 않습니다.';
$lang->delay_session = '세션 시작 지연';

View file

@ -253,15 +253,6 @@
<p class="x_help-block">{$lang->about_jquery_version}</p>
</div>
</div>
<div class="x_control-group">
<label class="x_control-label">{$lang->use_server_push}</label>
<div class="x_controls">
<label for="use_server_push_y" class="x_inline"><input type="radio" name="use_server_push" id="use_server_push_y" value="Y" checked="checked"|cond="$use_server_push" /> {$lang->cmd_yes}</label>
<label for="use_server_push_n" class="x_inline"><input type="radio" name="use_server_push" id="use_server_push_n" value="N" checked="checked"|cond="!$use_server_push" /> {$lang->cmd_no}</label>
<br />
<p class="x_help-block">{$lang->about_use_server_push}</p>
</div>
</div>
<div class="x_clearfix btnArea">
<div class="x_pull-right">
<button type="submit" class="x_btn x_btn-primary">{$lang->cmd_save}</button>