Issue #13171 has been updated by Yui NARUSE.


Matthew Kerwin wrote:
> Eric Barendt wrote:
> > 
> > I disagree that it's correct.
> 
> How so? If we can identify the precise issue, it could be useful as a seed for updating the code and/or the specs.
> 
> > But it's also inconsistent with HTTP.
> 
> That's to be expected; the HTTP URI scheme is defined in up-to-date specifications (work back through the references starting with [RFC 7230](https://tools.ietf.org/html/rfc7230#section-2.7)).
> 
> The FTP scheme lives in an ancient, officially "obsolete" specification ([RFC 1738](https://tools.ietf.org/html/rfc1738)), which pre-dates even the generic syntax of RFC 3986. So inconsistencies are to be expected, even if unwanted.
> 
> I've just spent four years or so trying to update the FILE scheme from RFC1738 to a more modern context; perhaps someone could do the same for ftp. Or you could forego the IETF and instead work against the WHATWG's [URL spec](https://url.spec.whatwg.org/) which mentions ftp:// URLs, even if it doesn't describe how to actually use them.  (You still need RFC1738 for that, alas.)

https://tools.ietf.org/html/draft-yevstifeyev-ftp-uri-scheme-08 is a draft.
https://bugs.ruby-lang.org/issues/7310#note-6 though some edge cases are still different...

----------------------------------------
Bug #13171: URI::FTP path has a trailing slash when just hostname and scheme provided
https://bugs.ruby-lang.org/issues/13171#change-62803

* Author: Milo Price
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
As with HTTP uris, the trailing slash on a FTP uri should be optional, per RFC 1738 (ftp://ftp.funet.fi/pub/doc/rfc/rfc1738.txt). However, under the current implementation, URI::FTP#to_s always has a trailing slash when only a hostname is provided (i.e., no path):

~~~ ruby
URI.parse("http://example.com").to_s
=> "http://example.com"
URI.parse("ftp://example.com").to_s
=> "ftp://example.com/"
~~~








-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>