推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
shentibeitaokong

http2 自定义请求头在批量请求时会报错

  •  
  •   shentibeitaokong · Nov 2, 2020 · 2465 views
    This topic created in 2042 days ago, the information mentioned may be changed or developed.

    发现一个神奇的问题,一次性发送 200 个 http2 请求,如果该请求头( request headers )上有自定义的请求头,其一定会出现部分请求失败,报错net::ERR_HTTP2_SERVER_REFUSED_STREAM,但是如果该请求的请求头是干净的(也就是没有自定义的请求头,其就不会有问题)。而且将这些 h2 的请求转成 http1.1 时,该批量请求无论请求头如何都不会有问题!就知道这方面的大佬回答一下吗?或者给点思路!跪谢

    5 replies    2020-11-05 20:34:20 +08:00
    muzuiget
        1
    muzuiget  
       Nov 3, 2020
    没看懂你怎么一次性发送 200 个请求,一个 TCP 链接堆 200 个 HTTP 请求,还是 200 个 TCP 链接?这种情况就全看服务端实现限制。
    leopod1995
        2
    leopod1995  
       Nov 3, 2020   ❤️ 1
    https://tools.ietf.org/html/rfc7540#section-5.1.2

    并发超过了参数 SETTINGS_MAX_CONCURRENT_STREAMS 的值,有些 stream 就被拒绝
    shentibeitaokong
        3
    shentibeitaokong  
    OP
       Nov 4, 2020
    @muzuiget 哦哦 我表述有误,不好意思,就是长度 200 的数组中循环去发送请求
    shentibeitaokong
        4
    shentibeitaokong  
    OP
       Nov 4, 2020
    @leopod1995 但是我如果没有自定义请求头,其不会报错 stream 拒绝,只有自定义请求头的情况下才会出现这种错误
    shentibeitaokong
        5
    shentibeitaokong  
    OP
       Nov 5, 2020
    我的这种情况 和 stackoverflow 上这位老哥的问题类似 https://stackoverflow.com/questions/63730523/google-chrome-returns-err-http2-server-refused-stream-for-ajax-call 有没有大佬能提点一下 万分感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2288 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 00:55 · PVG 08:55 · LAX 17:55 · JFK 20:55
    ♥ Do have faith in what you're doing.