append a slash to the domain if path is empty?

revision a80bd672fa7186c5ed220f0ecc7870545ba1916a

raw

domain-slash.rst

In an URL, should I append a slash to the domain?

RFC 1738

RFC 1738 says the slash is optional:

; HTTP

httpurl        = "http://" hostport [ "/" hpath [ "?" search ]]
hpath          = hsegment *[ "/" hsegment ]

http://tools.ietf.org/html/rfc1738#page-18

RFC 3986

RFC 3986 talks about normalization, and it recommends adding a slash:

> In general, a URI that uses the generic syntax for authority with an > empty path should be normalized to a path of "/".

http://tools.ietf.org/html/rfc3986#section-6.2.3

WhatWG URL spec

It also requires the slash after the domain name when serializing an URL:

> An absolute URL must be a scheme, followed by ":", followed by either a scheme-relative URL [...] > [...] > A scheme-relative URL must be "//", optionally followed by userinfo and "@", followed by a host, optionally followed by ":" and a port, optionally followed by an absolute-path-relative URL. > [...] > An absolute-path-relative URL must be "/", followed by a path-relative URL that does not start with "/".

https://url.spec.whatwg.org/#writing

Conclusion

Add the slash.

Good: http://cweiske.de/ Bad: http://cweiske.de

History