your question is about page?key=A+B
i.e. a form submission, where the + means and is interpreted as a space in form encoding.
see
https://boldena.com/article/42758
for an explanation.
for an explanation.
I haven't checked later W3C specs to see if they attempt to resolve this inconsistency. I would guess not. Similar inconsistencies appear around e.g. use of the ampersand & in form field separation. Forms were a hack, basically., now codified in standards.
best
Lloyd Wood
lloyd.wood@xxxxxxxxxxx
On Friday, March 14, 2025, 21:32, Raghu Saxena <poiasdpoiasd@xxxxxxxx> wrote:
Dear IETF Community,I was writing to seek clarification around URIs & HTTP, specifically howto handle "plus" ("+") symbols in them.For instance, if my server receives a request for `GET /page?key=A+B` ,where the bytes over the wire are literally [0x412B42], should Iinterpret it as literally that byte sequence, or decode the "+" to aspace, thereby interpreting the bytes as [0x412042]?From my reading of RFC3986, it seems that "+" is a reserved character,but it's not clear how it is to be interpreted / decoded.The question behind the question is how should spaces be encoded to beURL safe; it seems "%20" is the recommended approach, however somelanguages (such as Golang[0]) implement query-escaping where the spaces(0x20) are replaced by a literal "+" (0x2B). This causes problems bysome libraries which then treat this as a literal "plus" (0x2B) and thenreturn unexpected results.Regards,Raghu Saxena[0]