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/