1. In the collected ABNF below, list rules are expanded as per Section 1.2 of [RFC7230].
    2. Accept-Ranges = acceptable-ranges
    3. Content-Range = byte-content-range / other-content-range
    4. HTTP-date = <HTTP-date, see [RFC7231], Section 7.1.1.1>
    5. If-Range = entity-tag / HTTP-date
    6. OWS = <OWS, see [RFC7230], Section 3.2.3>
    7. Range = byte-ranges-specifier / other-ranges-specifier
    8. acceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS range-unit ] ) ) / "none"
    9. byte-content-range = bytes-unit SP ( byte-range-resp / unsatisfied-range )
    10. byte-range = first-byte-pos "-" last-byte-pos
    11. byte-range-resp = byte-range "/" ( complete-length / "*" )
    12. byte-range-set = *( "," OWS ) ( byte-range-spec / suffix-byte-range-spec ) *( OWS "," [ OWS ( byte-range-spec / suffix-byte-range-spec ) ] )
    13. byte-range-spec = first-byte-pos "-" [ last-byte-pos ]
    14. byte-ranges-specifier = bytes-unit "=" byte-range-set
    15. bytes-unit = "bytes"
    16. complete-length = 1*DIGIT
    17. entity-tag = <entity-tag, see [RFC7232], Section 2.3>
    18. first-byte-pos = 1*DIGIT
    19. last-byte-pos = 1*DIGIT
    20. other-content-range = other-range-unit SP other-range-resp
    21. other-range-resp = *CHAR
    22. other-range-set = 1*VCHAR
    23. other-range-unit = token
    24. other-ranges-specifier = other-range-unit "=" other-range-set
    25. range-unit = bytes-unit / other-range-unit
    26. suffix-byte-range-spec = "-" suffix-length
    27. suffix-length = 1*DIGIT
    28. token = <token, see [RFC7230], Section 3.2.6>
    29. unsatisfied-range = "*/" complete-length