hepplerdotnet / laravel-http2serverpush
Laravel 5 的 HTTP2 服务器推送中间件
8.0.3
2021-03-27 09:08 UTC
Requires
- php: ^7.0|^8.0
- illuminate/http: ~5.3|~6.0|~7.0|~8.0
- illuminate/support: ~5.3|~6.0|~7.0|~8.0
- symfony/css-selector: ^2.7|^3.0|^4.0|^5.0
- symfony/dom-crawler: ^2.7|^3.0|^4.0|^5.0
Requires (Dev)
- phpunit/phpunit: ^4.0|^5.0
- scrutinizer/ocular: ^1.1
README
Laravel 5 的服务器推送中间件
服务器推送是 HTTP/2 的一个概念,它允许服务器推测性地开始向客户端发送资源。这可能会加快页面初始加载时间:浏览器不需要解析 HTML 页面并找出需要加载的其他资源,而是服务器可以立即开始发送它们。 (来源)
此包旨在为将服务器推送添加到您的响应提供最简单的体验。只需将请求通过 AddHttp2ServerPush
中间件路由,它将自动创建和附加必要的 Link
头,以便实现 CSS、JS 和图片资源的服务器推送。
要求
- Laravel 5
- PHP 7
安装
您可以通过 composer 安装此包
$ composer require hepplerdotnet/laravel-http2serverpush
接下来,您必须将 \HepplerDotNet\Http2ServerPush\Middleware\AddHttp2ServerPush
中间件添加到内核中。建议将其添加到 web 组,因为 API 没有要推送的资源。
// app/Http/Kernel.php ... protected $middlewareGroups = [ 'web' => [ ... \HepplerDotNet\Http2ServerPush\Middleware\AddHttp2ServerPush::class, ... ], ... ];
发布配置
php artisan vendor:publish --provider="HepplerDotNet\Http2ServerPush\ServiceProvider"
用法
当您通过 AddHttp2ServerPush
中间件路由请求时,将扫描响应中的任何可能从使用服务器推送中受益的 link
、script
或 img
标签。这些资源将在发送响应到客户端之前添加到 Link
头中。很简单!
注意:要推送图片资源,它必须具有以下扩展名之一: bmp
、gif
、jpg
、jpeg
、png
、webp
、tiff
或 svg
。
测试
$ composer test
贡献
有关详细信息,请参阅 CONTRIBUTING
安全性
如果您发现任何安全相关的问题,请通过电子邮件 me@jakebennett.net 反馈,而不是使用问题跟踪器。
鸣谢
感谢 https://github.com/spatie/laravel-pjax 包提供测试中间件的绝佳起点。
许可证
MIT 许可证(MIT)。请参阅 许可证文件 了解更多信息。