【问题标题】:HTTP/2 Server push with PHP on IIS Server在 IIS 服务器上使用 PHP 进行 HTTP/2 服务器推送
【发布时间】:2020-03-24 06:23:47
【问题描述】:

我想通过 PHP 测试服务器推送。我有以下配置:

  • PHP 7.4
  • IIS 10.0
  • Opera 浏览器 65
  • Windows 10

这是一个很小的文件,可以查看服务器推送是否有效。这只是一个测试。

<?php header("Link: </test.css>; rel=preload; as=style"); ?>

<html>

    <head>
        <title>Test Server Push</title>
        <link href="/test.css" rel="stylesheet">
    </head>

    <body>

    <h1>Test Server Push</h1>

    <p>Hello Push!</p>

    </body>

</html>

Opera 的开发者工具向我展示了协议 h2(用于 http/2)。发起者在文件 test.css 中说“其他”。在瀑布 text.css 也说“等待(TTFB)”。我的意思是,那不应该在那里。

它使用 https 并存储有效证书(绿色锁)。 我认为使用 HTTP/2 进行服务器推送的所有要求都已满足。

谷歌浏览器以同样的方式显示它。

这可能是什么错误?还是必须在 IIS 下的某处激活服务器推送?这通常在 HTTP/2 中默认启用,不是吗?

感谢您的帮助。

添加: 开发者工具截图:

使用标头命令 (php):

没有头命令(php):

唯一的区别在于发起者。在这里我期待“推/其他”。

【问题讨论】:

  • 你能分享你的浏览器网络监控截图吗?您是否比较了推送和不推送的响应时间?
  • 我添加了两张截图。

标签: php windows iis push http2


【解决方案1】:

IIS 仅支持通过 ASP.NET 或类似方式推送。它也不像许多服务器和 CDN 那样通过 HTTP 链接头支持。 因此,据我所知,目前无法通过 PHP 在 IIS 中使用 HTTP/2 Push。

https://docs.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/http2-on-iis#what-about-push

https://blog.cloudflare.com/using-http-2-server-push-with-php/

【讨论】:

  • 我也找到了这两个来源。但是,我没有发现它不适用于 IIS。不过没关系。只要我没有误解代码,只是技术支持......
  • 你可以参考这个链接stackoverflow.com/questions/50287462/…
猜你喜欢
  • 2017-09-06
  • 2020-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-21
  • 2017-12-23
  • 1970-01-01
  • 2017-04-06
相关资源
最近更新 更多