Because it's specifically different, on purpose. The RFC doesn't cover the "bang" part....the "!".
>>the server will never even see it on the request
Explained on the (now deprecated) page from Google on this "hashbang" approach:
*"The answer is the URL that is requested by the crawler: the crawler will modify each AJAX URL such as www.example.com/ajax.html#!key=value
to temporarily become www.example.com/ajax.html?_escaped_fragment_=key=value"
Because it's specifically different, on purpose. The RFC doesn't cover the "bang" part....the "!".
>>the server will never even see it on the request
Explained on the (now deprecated) page from Google on this "hashbang" approach:
*"The answer is the URL that is requested by the crawler: the crawler will modify each AJAX URL such as www.example.com/ajax.html#!key=value to temporarily become www.example.com/ajax.html?_escaped_fragment_=key=value"