In the collected ABNF below, list rules are expanded as per Section 1.2 of [RFC7230].Accept-Ranges = acceptable-rangesContent-Range = byte-content-range / other-content-rangeHTTP-date = <HTTP-date, see [RFC7231], Section 7.1.1.1>If-Range = entity-tag / HTTP-dateOWS = <OWS, see [RFC7230], Section 3.2.3>Range = byte-ranges-specifier / other-ranges-specifieracceptable-ranges = ( *( "," OWS ) range-unit *( OWS "," [ OWS range-unit ] ) ) / "none"byte-content-range = bytes-unit SP ( byte-range-resp / unsatisfied-range )byte-range = first-byte-pos "-" last-byte-posbyte-range-resp = byte-range "/" ( complete-length / "*" )byte-range-set = *( "," OWS ) ( byte-range-spec / suffix-byte-range-spec ) *( OWS "," [ OWS ( byte-range-spec / suffix-byte-range-spec ) ] )byte-range-spec = first-byte-pos "-" [ last-byte-pos ]byte-ranges-specifier = bytes-unit "=" byte-range-setbytes-unit = "bytes"complete-length = 1*DIGITentity-tag = <entity-tag, see [RFC7232], Section 2.3>first-byte-pos = 1*DIGITlast-byte-pos = 1*DIGITother-content-range = other-range-unit SP other-range-respother-range-resp = *CHARother-range-set = 1*VCHARother-range-unit = tokenother-ranges-specifier = other-range-unit "=" other-range-setrange-unit = bytes-unit / other-range-unitsuffix-byte-range-spec = "-" suffix-lengthsuffix-length = 1*DIGITtoken = <token, see [RFC7230], Section 3.2.6>unsatisfied-range = "*/" complete-length
