Is it acceptable for the QVALUE to be "1." or "0." in, say, the Accept-Language header? e.g. Accept-Language: en;q=1.
or Accept: text/plain;q=0.
RFC7231 (and RFC2616) which specifies the ABNF for QVALUE as follows:
weight = OWS ";" OWS "q=" qvalue
qvalue = ( "0" [ "." 0*3DIGIT ] )
/ ( "1" [ "." 0*3("0") ] )
And specifies the "ABNF" as follows:
<a>*<b>element
where
<a>
and<b>
are optional decimal values, indicating at least<a>
and at most<b>
occurrences of the element.
This seems to imply that 0 or more digits after the decimal point are acceptable, suggesting that "1." and "0." are valid QVALUEs. However, my intuition is telling me that these are not valid floating point numbers.
I've searched high and low and I can't find any examples which demonstrate this.
Yes, the ABNF allows it. If you find during testing that it doesn't work then it would be useful to report back to the IETF HTTP Working Group (so that a future version of the spec can warn against using this).