the url fragment should be url-encoded