vsg24/laravel-http2serverpush

此包已被弃用且不再维护。未建议替代包。

Laravel 5 的 HTTP2 服务器推送中间件

2.0.8 2019-08-13 12:08 UTC

This package is auto-updated.

Last update: 2021-09-13 17:07:21 UTC


README

为 Laravel 5 的服务器推送中间件

Latest Version on Packagist Travis Software License Total Downloads

此存储库是从 JacobBennett/laravel-HTTP2ServerPush 分支出来的,其中包含 此提交

服务器推送是 HTTP/2 的一个概念,允许服务器推测性地开始向客户端发送资源。这可能会加快初始页面加载时间:浏览器不需要解析 HTML 页面并找出其他需要加载的资源,而是服务器可以立即开始发送它们。(来源)

此包旨在为将服务器推送添加到您的响应提供最简单的体验。只需将请求通过 AddHttp2ServerPush 中间件路由,它将自动创建并附加必要的 Link 标头,以便为您的 CSS、JS 和图像资产实现服务器推送。

安装

您可以通过 composer 安装此包

$ composer require vsg24/laravel-http2serverpush

接下来,您必须将 \JacobBennett\Http2ServerPush\Middleware\AddHttp2ServerPush 中间件添加到内核中。将其添加到 web 组是推荐的,因为 API 没有要推送的资产。

// app/Http/Kernel.php

...
protected $middlewareGroups = [
    'web' => [
        ...
        \JacobBennett\Http2ServerPush\Middleware\AddHttp2ServerPush::class,
        ...
    ],
    ...
];

// config/app.php

'providers' => [
    ...
    JacobBennett\Http2ServerPush\ServiceProvider::class,
    ...
],

发布配置

php artisan vendor:publish --provider="JacobBennett\Http2ServerPush\ServiceProvider"

用法

当您通过 AddHttp2ServerPush 中间件路由请求时,将对响应进行扫描,查找任何可能从使用服务器推送中受益的 linkscriptimg 标签。这些资产将在将响应发送到客户端之前添加到 Link 标头中。简单易懂!

注意:要推送图像资产,它必须具有以下扩展名之一:bmpgifjpgjpegpngtiff

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTING

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 me@jakebennett.net 联系,而不是使用问题跟踪器。

鸣谢

感谢 https://github.com/spatie/laravel-pjax 包提供出色的测试中间件起点。

许可

MIT许可(MIT)。更多信息请参阅许可文件