Issue #11149 has been updated by Yui NARUSE. Status changed from Open to Assigned Assignee set to Yui NARUSE As URL Standard, current behavior is correct. https://url.spec.whatwg.org/ But Google Chrome's behavior is like what you say. I keep watching how W3C/WHATWG decide this behavior. ---------------------------------------- Bug #11149: URI.parse keeps '?' for query and '#' for fragment even if theyare empty https://bugs.ruby-lang.org/issues/11149#change-52454 * Author: Dvis Mosns * Status: Assigned * Priority: Normal * Assignee: Yui NARUSE * ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x64-mingw32] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- ~~~ p = URI.parse('http://example.com/path?query#fragment') p.query = '' p.fragment = '' puts p.to_s ~~~ will output "http://example.com/path?#" but I think it should be "http://example.com/path" without '?' and '#' -- https://bugs.ruby-lang.org/