В чем дело с URL-адресами для Яндекса?Метрика не предваряется "http"?


Описание Яндекс.Метрика явно говорит, что URL-адреса, такие как //mc.yandex.ru/metrika/watch.js (без http: спереди), которые владелец веб-сайта должен вставить на свои страницы, не являются ошибочными. Так, например, этот код:

<img src="//mc.yandex.ru/watch/00000"
     style="position:absolute; left:-9999px;" alt="" />

Утверждается, что все в порядке.

Однако валидатор кода считает, что такие URL-адреса не подходят, и я бы предпочел сделать валидатора счастливым, чтобы никто не нарушал код позже, пытаясь "исправить" его.

Почему эти URL-адреса не предваряются http:? Что произойдет, если я на самом деле добавлю к ним http:?

Author: sharptooth, 2012-08-24

1 answers

Я думаю, что средство проверки кода неверно. Если часть URL-адреса отсутствует, то остальные части заполняются с родительской страницы. Так, например, если на изображение ссылаются из http://example.org/page1.html с помощью src="pic.jpg", то браузер добавляет http://example.org/ перед src.jpg перед извлечением файла. Если http: часть URL-адреса (протокол) отсутствует, то будет использоваться протокол на родительской странице.

Почему они не предваряются http:? Я предполагаю, что это потому, что если у вас есть страница https://, то изображения будут автоматически доставляться по протоколу https.

Если вы на самом деле добавляете к ним http: и у вас есть страница https, то, в зависимости от браузера, пользователь может получить сообщение об ошибке, в котором говорится, что часть содержимого на странице небезопасна.

 9
Author: paulmorriss, 2012-08-24 14:04:18