Некоторое время назад я заметил, что при кодировании карты 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 документы для форм и так далее, но ничего не сказал о том, как обрабатывать пустые значения. Может кто-нибудь дать мне указатель на это ???