小编Bed*_*u33的帖子

Chrome 在 3 秒后取消 URL_REQUEST

好吧,这是一个奇怪的事情。

我正在开发一个 php 脚本,它可以根据请求执行大量工作(图像处理)。因此,这并不罕见,它会在 10 秒内发出响应,有时长达 30 秒:这是一个很长的脚本,这对于下一部分很重要。

在记录图像处理代码时,我注意到只应调用一次的进程被调用了两次。

原因:Chrome 在 3 秒后取消第一个请求,然后再次请求相同的 URL。

URL 取消序列

顺序始终相同。

  1. 请求的网址
  2. 3秒后取消
  3. 使用http方案自动重新加载
  4. 307 由于我们服务器上的 HSTS
  5. 使用 https 再次请求 URL
  6. 这个加载正确

已取消的请求在“计时”选项卡中显示为“已停止”。

URL 请求停止

这仅发生在 Chrome 中(对我来说是 92.0.4515.107)。我在 Firefox 中没有看到这种行为。

现在如何才能重现这种巫术呢?很简单,我可以在 2 个不同提供商(GCE 和 OVH)的 2 个不同服务器上进行复制,并且它与对此 URL 的初始请求的持续时间有一个奇怪的链接。

  1. 在您的网络服务器上创建一个新的 php 脚本,仅包含

    <?php sleep(10); echo 'Done'; ?>

  2. 在 Chrome 中调用您的脚本 URL

  3. 第一次调用就会成功

  4. 但接下来的所有调用肯定会触发“序列”

通过检查 Chrome 日志,我认为这与 HTTP2_SESSION 有链接

t=235805 [st=   5]     +HTTP_TRANSACTION_SEND_REQUEST  [dt=1]
t=235806 [st=   6]        HTTP_TRANSACTION_HTTP2_SEND_REQUEST_HEADERS
                          --> :method: GET
                              :authority: my.server.com
                              :scheme: https
                              :path: …
Run Code Online (Sandbox Code Playgroud)

google-chrome reload stalled

11
推荐指数
1
解决办法
3062
查看次数

HTTPS 协议是否与 REST API Web 服务相关?

我有一个 iPhone 应用程序使用的 PHP 中的 HTTP REST API。

此 API 中的某些 Web 服务通过 HTTP 请求凭据中的用户身份验证进行保护,但我希望通过提供完全加密的请求数据来避免“中间人”攻击。

我不是很擅长安全问题,我在任何地方都找不到我的问题的明确答案:

HTTPS 与 STATELESS REST API 相关吗?

据我了解,HTTPS 做了两件事:

  • 加密你的会话
  • 向客户端证明他正在与之交谈的服务器是安全的

因此,乍一看它并没有响应我的需要,即加密我的服务器和应用程序之间的数据,因为 API 不使用会话。但我还是有疑问。

有人可以向我说清楚吗?

我的另一个解决方案是使用公钥/私钥系统加密请求数据。会不会更合适?

谢谢 !

php api rest https

6
推荐指数
1
解决办法
8326
查看次数

标签 统计

api ×1

google-chrome ×1

https ×1

php ×1

reload ×1

rest ×1

stalled ×1