Рассмотрите объявление соответствующего path-absolute
нетерминала в «RFC3986: Единый идентификатор ресурса (URI): общий синтаксис« (указанный, как обычно, в синтаксисе ABNF :
path-absolute = "/" [ segment-nz *( "/" segment ) ]
Затем рассмотрите декларацию segment
несколько строк дальше в том же документе:
segment = *pchar
Если вы можете читать ABNF, звездочка (*
) указывает, что следующий элемент pchar
может повторяться несколько раз, чтобы создать segment
, включая нулевое время . Изучив это и перечитав декларацию path-absolute
выше, вы увидите, что потенциально пустой segment
показывает, что второй "/"
может повторять неопределенно , следовательно, допустимые комбинации, такие как //////
( произвольная длина по крайней мере одного /
) как часть path-absolute
(которая сама используется при указании правила, описывающего URI).
Поскольку все URL-адреса являются URI, мы можем заключить, что да, URL-адреса разрешено несколько последовательных косых черт в соответствии с цитируемым RFC.
Но это не похоже на то, что каждый следует или реализует парсеры URI для каждой спецификации, поэтому я уверен, что существуют несовместимые анализаторы URI / URL и все виды программного обеспечения, которые стеки поверх них, где такие угловые случаи ломают большие системы.