Why most API paginations do not rely on HTTP Range header?

前端 未结 2 2211
小鲜肉
小鲜肉 2021-02-20 14:13

I\'ve searched a lot but I can\'t find a good answer to this question. Being a HATEOAS aficionado, I would think that this header fit perfectly:

    Range: item=         


        
2条回答
  •  北荒
    北荒 (楼主)
    2021-02-20 15:09

    Here the answers that I gently borrowed from this question thanks to @ptidel: Content-Range header - allowed units?.

    First, custom units are proposed in this draft HTTP/1.1, part 5: Range Requests and Partial Responses

    Second, there is a subtle difference, the first statement has been made for parsing purpose

        range-unit       = bytes-unit | other-range-unit
        bytes-unit       = "bytes"
        other-range-unit = token
    

    While the second statement has been made for producing HTTP request.

    Finally, the whole comment from Ferenc Mihaly summarizes perfectly the situation:

    I conform to the HTTP spec when I'm sending [a custom range unit] and they conform to HTTP when they ignore it

    WebDAV uses HTTP extensions correctly, IMO, but rarely works over the Internet for exactly this reason

提交回复
热议问题