Некоторое время назад я заметил, что при кодировании карты name: value
в 'application/x-www-form-urlencoded
она отображает что-то вроде этого (здесь я использую Python):
>>> from urllib import urlencode
>>> urlencode({'hello': '', 'blabla': 'hihi'})
'blabla=hihi&hello='
Но синтаксический анализ (по крайней мере, с Python) просто удаляет пары, которые имеют пустое значение:
>>> from urlparse import parse_qs
>>> parse_qs('blabla=hihi&hello=')
{'blabla': ['hihi']}
Итак... это стандартное поведение? Где я могу найти ссылку на то, как следует анализировать www-form-urlencoded
? Я некоторое время гуглил, нашел RFC для uris, документы W3c для форм и так далее, но ничего о том, как следует обрабатывать пустые значения. Может ли кто-нибудь дать мне указатель на это???