All streams
Search
Write a publication
Pull to refresh
38
0
Зиновьев Антон @xobotyi

Full-stack developer

Send message
равно как и "#"
"" — относительная ссылка, но путь пустой, поэтому тупо перезагрузится текущая страница, огрубляя, браузер делает так:
«текущий uri» + "" -> перезагрузить страницу
у mailto:, magnet: и иже с ними нет части authority, есть path, query и т.д., но authority нету.
//относится именно к компоненте authority.

Если, например посмотреть RFC по mailto, то можно увидеть вот такой момент:
mailto:addr1%2C%20addr2

is equivalent to

mailto:?to=addr1%2C%20addr2

is equivalent to

mailto:addr1?to=addr2

Таким образом, mailto:addr@gmail.com это всего лишь специфичный для mailto синтаксис аналогичный mailto:?to=addr@gmail.com, т.е. для схемы mailto путь, если он задан, в конечном итоге преобразуется в хедер «to».
Для абсолютного URI схема обязательна, все остальное опционально.
Для относительного URI вообще все опционально, но при этом схема отсутствует.

Как-то так, завтра по-утру на свежую голову поправлю.
Истолковать можно следующим образом:
схема — file
хост — нулевой, т.е. локалхост
путь — /C:/test.htm, т.е. здесь путь отсчитывается от корня, вот и получается 3 слеша

Я это планировал включить в следующую часть.
Я бы тоже с удовольствием почитал :3
Переводится как «предполагается что должны быть регистрозависимыми». Короче конечная инстанция в данном вопросе — спецификация схемы.
Они не должны быть регистронезависимы, они могут быть регистронезависимы.

Спецификация допускает использование как верхнего так и нижнего регистров, остальное зависит от:
а) Спецификации схемы, которая может наложить эти ограничения, т.е. у HTTP нормализация URI производится таковым образом, что схема и хост — регистронезависимы, а все остальное нормализуется как регистрозависимое;
б) Реализации, тут уже кто на что способен, как говорится.
Смотрел приложенное видео в надежде на не менее исчерпывающую информацию.

В который раз офигеваю со злости комьюнити хабра, лишь бы минусами друг в друга покидаться, как будто сложно просто ответить, нет, надо еще и в карму насрать.
Был дурак, исправился…

Только щас понял что действительно неверно было написано, пост подправил, должно быть так:
либо scheme+authority+path,
либо sheme+path,
либо только path.


Искренние извинения, сказывается недостаток сна (╥_╥)
P.S. Да, еще я бы акцентировал, что PATH и QUERY регистрозависимы, в отличие от HOST.

scheme — регистронезависим
host — регистронезависим
path — в зависимости от имплементации файловой системы сервера
query — регистрозависим
fragment — в зависимости от браузера
Ну, это уже в больше степени браузерные аспекты и особенности HTTP, тем не менее, я планировал отметить эти моменты во второй главе =)
Т.е. ABNF вы читать не умеете и мне пытаетесь предъявить, что я пишу глупости. Ну тогда поехали.

URI-reference = URI / relative-ref
Читается как URI и/или relative-ref

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]
Читается как scheme и ":" и hier-part и/или [ "?" и query ] и/или [ "#" и fragment ]

relative-ref = relative-part [ "?" query ] [ "#" fragment ]
Читается как relative-part и/или [ "?" и query ] и/или [ "#" и fragment ]

Что есть hier-part? Это authority + path, но path может быть нулевым, то есть hier-part = authority [ "/" path ], или если так не нравится, то можно не оборачивать в квадратные скобки, но тогда учитывать что отсутствие path это тоже path.

Что есть relative-part? Это "/" path / path, то есть relative-part = ["/"] path

То есть, резюмируя получаем следующую ABNF формулу:
URI-reference = scheme ":" authority [ "/" path ] [ "?" query ] [ "#" fragment ] / ["/"] path [ "?" query ] [ "#" fragment ]

То есть всегда обязательны либо scheme ":" authority и любой набор оставшихся компонент и тогда это абсолютный URI, либо любой набор компонент при отсутствующей scheme ":" authority и тогда это относительный URI.
Ссылки сетевого пути в расчет не берутся ибо это специфичный вариант, разряда «исключение из общих правил».

Таким образом, ничего противоречащего спецификации в приведенном вами отрывке статьи нет.

Так кто из нас тут глупости то пишет?
А в том моменте разве шла вообще речь об относительных и абсолютных URI?

Там указаны все комбинации при которых ссылка = URI, про относительность и абсолютность ни слова, про это более чем подробно рассказано в разделе 2.1
Да, конкретно скрипты из CDN гугла так и подключаются, все ссылки которые оттуда копируются идут в формате ссылок сетевого пути, на хабрасторадже так же.

Но это чревато в случае использования из под https, ибо https есть не везде.
Та я просто только видео глянул, там не услышал про вольтаж >_>
А какой вольтаж по воде пускается?
Бачок то железный, так коснешься ненароком и взбодришься)
А вообще, если судить по регулярке, которая описана в RFC, то они в конечном итоге делают разделение как я указал выше.
Описываемые спецсимволы разделяют под-компоненты, но в них не входят, исключение составляет путь, он включает в себя и начальный и конечный слеш.
Ну вообще да, т.е. когда я писал у меня не было мыслей о том что оно может быть как-либо двояко воспринято, но вот прецедент.
Когда оканчивается включительно так обычно и пишут «включительно» %)
Хм, действительно есть некая двоякость в описании, но вообще, для всех под-компонент, кроме пути, границы указаны исключающим образом, т.е. ни краевые слеши, ни знаки вопроса и т.д. не входят в сами под-компоненты,
т.е. для URI http://habrahabr.ru:80/post/232385/?some=val#comment_8495021:
http — scheme
habrahabr.ru:80 — host
/post/232385/ — path
some=val — query
comment_8495021 — fragment


Попробую как-нибудь перефразировать сейчас то что в статье.
Подглядывал как у хабра работают древовидные комменты, я и забыл что тут их нельзя удалять :D

Information

Rating
Does not participate
Location
Budapest, Венгрия
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Web Developer
Lead